KrisLibrary  1.0.0
Conversions.h
Go to the documentation of this file.
1 #ifndef GEOMETRY_CONVERSIONS_H
2 #define GEOMETRY_CONVERSIONS_H
3 
4 #include "AnyGeometry.h"
5 
6 namespace GLDraw {
7  class GeometryAppearance;
8 };
9 
16 namespace Geometry {
17 
23 void MeshToPointCloud(const Meshing::TriMesh& mesh,Meshing::PointCloud3D& pc,Real maxDispersion=Inf,bool wantNormals=false);
24 
30 void PointCloudToMesh(const Meshing::PointCloud3D& pc,Meshing::TriMesh& mesh,Real depthDiscontinuity=Inf);
31 
35 void PointCloudToMesh(const Meshing::PointCloud3D& pc,Meshing::TriMesh& mesh,GLDraw::GeometryAppearance& appearance,Real depthDiscontinuity=Inf);
36 
41 void PrimitiveToMesh(const GeometricPrimitive3D& primitive,Meshing::TriMesh& mesh,int numDivs);
42 
47 void PrimitiveToImplicitSurface(const GeometricPrimitive3D& primitive,Meshing::VolumeGrid& grid,Real resolution,Real expansion=0);
48 
55 void MeshToImplicitSurface_FMM(const CollisionMesh& mesh,Meshing::VolumeGrid& grid,Real resolution);
56 
66 void MeshToImplicitSurface_SpaceCarving(const CollisionMesh& mesh,Meshing::VolumeGrid& grid,Real resolution,int numViews=20);
67 
74 void ImplicitSurfaceToMesh(const Meshing::VolumeGrid& grid,Meshing::TriMesh& mesh,Real levelSet=0.0);
75 
79 void MeshToConvexHull(const Meshing::TriMesh &mesh, ConvexHull3D& ch);
80 
84 void PointCloudToConvexHull(const Meshing::PointCloud3D &pc, ConvexHull3D& ch);
85 
92 void MeshConvexDecomposition(const Meshing::TriMesh& mesh, ConvexHull3D& ch, Real concavity);
93 
97 void ConvexHullToMesh(const ConvexHull3D& ch, Meshing::TriMesh &mesh);
98 
99 } //namespace Geometry
100 
101 #endif
void MeshToPointCloud(const Meshing::TriMesh &mesh, Meshing::PointCloud3D &pc, Real maxDispersion, bool wantNormals)
Places points on the vertices of a mesh. If any triangle has vertices farther away than maxDispersion...
Definition: Conversions.cpp:56
void PrimitiveToImplicitSurface(const GeometricPrimitive3D &primitive, Meshing::VolumeGrid &grid, Real resolution, Real expansion)
Creates an implicit surface for a geometric primitive. The grid has resolution no more than resolutio...
Definition: Conversions.cpp:199
A class for coloring, texturing, and drawing meshes in OpenGL.
Definition: GeometryAppearance.h:53
void MeshConvexDecomposition(const Meshing::TriMesh &mesh, ConvexHull3D &ch, Real concavity)
Computes a convex decomposition of the mesh. concavity can be set to > 0 to compute an approximate co...
Definition: Conversions.cpp:499
A 3D point cloud class.
Definition: PointCloud.h:50
void ConvexHullToMesh(const ConvexHull3D &ch, Meshing::TriMesh &mesh)
Definition: Conversions.cpp:620
void PointCloudToMesh(const Meshing::PointCloud3D &pc, Meshing::TriMesh &mesh, GLDraw::GeometryAppearance &appearance, Real depthDiscontinuity)
Same as normal PointCloudToMesh, but colors and UV coordinates are extracted.
Definition: Conversions.cpp:92
void ImplicitSurfaceToMesh(const Meshing::VolumeGrid &grid, Meshing::TriMesh &mesh, Real levelSet)
Creates a mesh from an implicit surface via Marching Cubes. This assumes the values of the grid are d...
Definition: Conversions.cpp:480
void MeshToImplicitSurface_SpaceCarving(const CollisionMesh &mesh, Meshing::VolumeGrid &grid, Real resolution, int numViews)
Creates an implicit surface for a mesh using a space-carving technique. The grid has resolution no le...
Definition: Conversions.cpp:384
void PrimitiveToMesh(const GeometricPrimitive3D &primitive, Meshing::TriMesh &mesh, int numDivs)
Creates a mesh for a geometric primitive. If the primitive has curved surfaces, they are split into n...
Definition: Conversions.cpp:173
void MeshToConvexHull(const Meshing::TriMesh &mesh, ConvexHull3D &ch)
Creates a convex hull from a mesh.
Definition: Conversions.cpp:490
Contains all definitions in the GLDraw package.
Definition: AnyGeometry.h:14
A basic triangle mesh.
Definition: TriMesh.h:41
void PointCloudToConvexHull(const Meshing::PointCloud3D &pc, ConvexHull3D &ch)
Creates a convex hull from a point cloud.
Definition: Conversions.cpp:492
Contains all definitions in the Geometry package.
Definition: AnyGeometry.cpp:26
void MeshToImplicitSurface_FMM(const CollisionMesh &mesh, Meshing::VolumeGrid &grid, Real resolution)
Creates an implicit surface for a mesh using a Fast Marching Method.
Definition: Conversions.cpp:373