BinaryReaderSTL1by1by1bySquareUnitTest.cpp File Reference
#include <fstream>
#include <iostream>
#include <vector>
#include <string>
#include <BinaryReader.h>
#include <Logger.h>
#include <Math/Vector.h>
#include <CMakeDefinitions.h>

Classes

class  STLTriangle
 Test of the STL reader. The files used is STL file with containing 12 triange that a 1 by 1 by 1 square and was created in autocad. More...
 
class  STLReader
 

Functions

int main ()
 

Function Documentation

◆ main()

int main ( )
131 {
132  std::string directory(getMercuryDPMSourceDir());
133  STLReader myReader(directory+"/Drivers/ImportTools/ExampleSTLFiles/Box1x1x1.stl");
134 
135  std::vector<STLTriangle> answer;
136 
137 
138  answer.emplace_back(Vec3D(0,1,0),Vec3D(1.60291, 1.36214, 1e-06),Vec3D(0.602907, 1.36214, 1e-06),Vec3D(1.60291, 1.36214, 1));
139 
140  answer.emplace_back(Vec3D(0, 1, -0),Vec3D(1.60291, 1.36214, 1),Vec3D(0.602907, 1.36214, 1e-06),Vec3D(0.602907, 1.36214, 1));
141 
142  answer.emplace_back(Vec3D(1, 0, -0),Vec3D(1.60291, 0.362136, 1e-06),Vec3D(1.60291, 1.36214, 1e-06), Vec3D(1.60291, 0.362136, 1));
143 
144  answer.emplace_back(Vec3D(1, -0, 0),Vec3D(1.60291, 0.362136, 1),Vec3D(1.60291, 1.36214, 1e-06),Vec3D(1.60291, 1.36214, 1));
145 
146  answer.emplace_back(Vec3D(0, -1, 0),Vec3D(0.602907, 0.362136, 1e-06),Vec3D(1.60291, 0.362136, 1e-06),Vec3D(0.602907, 0.362136, 1));
147 
148  answer.emplace_back(Vec3D(0, -1, 0),Vec3D(0.602907, 0.362136, 1),Vec3D(1.60291, 0.362136, 1e-06),Vec3D(1.60291, 0.362136, 1));
149 
150  answer.emplace_back(Vec3D(-1, 1.11022e-16, 0),Vec3D(0.602907, 1.36214, 1e-06),Vec3D(0.602907, 0.362136, 1e-06),Vec3D(0.602907, 1.36214, 1));
151 
152  answer.emplace_back(Vec3D(-1, 1.11022e-16, 0),Vec3D(0.602907, 1.36214, 1),Vec3D(0.602907, 0.362136, 1e-06),Vec3D(0.602907, 0.362136, 1));
153 
154  answer.emplace_back(Vec3D(0, -0, 1),Vec3D(0.602907, 0.362136, 1),Vec3D(1.60291, 0.362136, 1),Vec3D(0.602907, 1.36214, 1));
155 
156  answer.emplace_back(Vec3D(-0, 0, 1),Vec3D(0.602907, 1.36214, 1),Vec3D(1.60291, 0.362136, 1),Vec3D(1.60291, 1.36214, 1));
157 
158  answer.emplace_back(Vec3D(0, -0, -1),Vec3D(0.602907, 1.36214, 1e-06),Vec3D(1.60291, 1.36214, 1e-06),Vec3D(0.602907, 0.362136, 1e-06));
159 
160  answer.emplace_back(Vec3D(0, 0, -1),Vec3D(0.602907, 0.362136, 1e-06),Vec3D(1.602907, 1.362136, 1e-06),Vec3D(1.60291, 0.362136, 1e-06));
161 
162 
163 
164 
165  for (unsigned int i=0;i<answer.size();i++)
166  {
167 // std::cout << answer[i].normal << std::endl;
168 // std::cout <<myReader.getTriangle(i).normal << std::endl;
169 //
170 // std::cout << answer[i].vertex1 << std::endl;
171 // std::cout <<myReader.getTriangle(i).vertex1 << std::endl;
172 //
173 // std::cout << answer[i].vertex2 << std::endl;
174 // std::cout <<myReader.getTriangle(i).vertex2 << std::endl;
175 //
176 // std::cout << answer[i].vertex3 << std::endl;
177 // std::cout <<myReader.getTriangle(i).vertex3 << std::endl;
178 
179 
180  if (!(answer[i].isEqualTo(myReader.getTriangle(i),1e-4)))
181  logger(FATAL,"Triangle % has need read incorrectly",i);
182 
183 
184 
185  }
186 
187 
188 
189 
190 }
int i
Definition: BiCGSTAB_step_by_step.cpp:9
const std::string getMercuryDPMSourceDir()
This file is used for generating definitions that give access to CMakeVariables from within a cpp fil...
Definition: Configuration/CMakeDefinitions.cc:10
Array< double, 1, 3 > e(1./3., 0.5, 2.)
LL< Log::FATAL > FATAL
Definition of the different loglevels by its wrapper class LL. These are used as tags in template met...
Definition: Logger.cc:31
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
Definition: BinaryReaderSTL1by1by1bySquareUnitTest.cpp:48
Definition: Kernel/Math/Vector.h:30
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286

References e(), FATAL, getMercuryDPMSourceDir(), STLReader::getTriangle(), i, logger, and oomph::Global_string_for_annotation::string().