Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #ifndef GEOMETRIC_SHAPES_MESH_OPERATIONS_
00038 #define GEOMETRIC_SHAPES_MESH_OPERATIONS_
00039
00040 #include "geometric_shapes/shapes.h"
00041 #include <eigen_stl_containers/eigen_stl_containers.h>
00042 #include <vector>
00043
00044
00045 class aiScene;
00046
00047 namespace shapes
00048 {
00049
00054 Mesh* createMeshFromVertices(const EigenSTL::vector_Vector3d &vertices, const std::vector<unsigned int> &triangles);
00055
00060 Mesh* createMeshFromVertices(const EigenSTL::vector_Vector3d &source);
00061
00063 Mesh* createMeshFromResource(const std::string& resource);
00064
00066 Mesh* createMeshFromResource(const std::string& resource, const Eigen::Vector3d &scale);
00067
00069 Mesh* createMeshFromBinary(const char* buffer, std::size_t size,
00070 const std::string &assimp_hint = std::string());
00071
00073 Mesh* createMeshFromBinary(const char *buffer, std::size_t size, const Eigen::Vector3d &scale,
00074 const std::string &assimp_hint = std::string());
00075
00077 Mesh* createMeshFromAsset(const aiScene* scene, const Eigen::Vector3d &scale,
00078 const std::string &assimp_hint = std::string());
00079
00081 Mesh* createMeshFromAsset(const aiScene* scene,
00082 const std::string &assimp_hint = std::string());
00083
00085 Mesh* createMeshFromShape(const Shape *shape);
00086
00088 Mesh* createMeshFromShape(const Box &box);
00089
00091 Mesh* createMeshFromShape(const Sphere &sphere);
00092
00094 Mesh* createMeshFromShape(const Cylinder &cylinder);
00095
00097 Mesh* createMeshFromShape(const Cone &cone);
00098
00100 void writeSTLBinary(const Mesh* mesh, std::vector<char> &buffer);
00101
00102 }
00103
00104 #endif