15 #ifndef __IPSDKGEOMETRY_MESH3DFUNCTIONS_H__ 16 #define __IPSDKGEOMETRY_MESH3DFUNCTIONS_H__ 20 #include <IPSDKUtil/Tools/ProcessingResult.h> 21 #include <boost/filesystem/path.hpp> 40 const Mesh3d<T>& mesh,
41 const std::string& solidName =
"");
52 const Mesh3d<T>& mesh);
57 const std::string& solidName);
62 const std::string& solidName);
68 const Mesh3d<T>& mesh,
82 const Mesh3d<T>& mesh,
101 template <
typename T>
112 return (c._v[0] == _v[0]) && (c._v[1] == _v[1]) && (c._v[2] == _v[2]);
117 return (c._v[0] != _v[0]) || (c._v[1] != _v[1]) || (c._v[2] != _v[2]);
122 return (_v[0] < c._v[0])
123 || (_v[0] == c._v[0] && _v[1] < c._v[1])
124 || (_v[0] == c._v[0] && _v[1] == c._v[1] && _v[2] < c._v[2]);
131 stlFileHasASCIIFormat(
const boost::filesystem::path& stlFile);
135 removeDoubles(std::vector<ipReal32> &vUniqueCoordsOut , std::vector<ipUInt32> &vTrisOut,
136 std::vector<CoordWithIndex> &vCoordsWithIndexInOut);
145 #endif // __IPSDKGEOMETRY_MESH3DFUNCTIONS_H__ Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
IPSDKGEOMETRY_API void writeStLBinaryHeader(std::ostream &os, const ipUInt64 nbTriangles)
function allowing to write stl binary header into a stream
Definition: Mesh3dFunctions.cpp:127
IPSDKGEOMETRY_API void writeStLBinary(std::ostream &os, const Mesh3d< T > &mesh, const ipReal32 xOffset, const ipReal32 yOffset, const ipReal32 zOffset)
function allowing to write stl binary mesh data into a stream
IPSDKGEOMETRY_API void writeStLAscii(std::ostream &os, const Mesh3d< T > &mesh, const ipReal32 xOffset, const ipReal32 yOffset, const ipReal32 zOffset)
function allowing to write stl ascii mesh data into a stream
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
IPSDKGEOMETRY_API boost::shared_ptr< Mesh3d< T > > readFromStLFile(const boost::filesystem::path &stlFile)
function allowing to read stl files and return a mesh3d
IPSDKGEOMETRY_API BoolResult saveToStLBinary(const boost::filesystem::path &stlFile, const Mesh3d< T > &mesh)
export the mesh definition to a StL binary file
IPSDKGEOMETRY_API BoolResult saveToStLAscii(const boost::filesystem::path &stlFile, const Mesh3d< T > &mesh, const std::string &solidName="")
export the mesh definition to a StL ascii file
Predefined types for mesh 3d management.
Definition of import/export macro for library.
#define IPSDKGEOMETRY_API
Import/Export macro for library IPSDKGeometry.
Definition: IPSDKGeometryExports.h:25
Definition: Mesh3dFunctions.h:106
IPSDKGEOMETRY_API void writeStLAsciiHeader(std::ostream &os, const std::string &solidName)
function allowing to write stl ascii header into a stream
bool ipBool
Base types definition.
Definition: BaseTypes.h:47
ProcessingResult< bool > BoolResult
typedef for boolean results associated to a string description
Definition: ProcessingResultTypes.h:29
IPSDKGEOMETRY_API boost::shared_ptr< Mesh3d< T > > readStLBinary(const boost::filesystem::path &stlFile)
function allowing to read stl binary data into a mesh3d
IPSDKGEOMETRY_API boost::shared_ptr< Mesh3d< T > > readStLAscii(const boost::filesystem::path &stlFile)
function allowing to read stl ascii data into a mesh3d
IPSDKGEOMETRY_API void writeStLAsciiFooter(std::ostream &os, const std::string &solidName)
function allowing to write stl ascii footer into a stream
float ipReal32
Base types definition.
Definition: BaseTypes.h:56
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53