-
Notifications
You must be signed in to change notification settings - Fork 44
Mesh Processing
Justin edited this page Mar 18, 2022
·
11 revisions
CGAL offers a number of functions to process meshes. They are separated into helper classes as follows.
A example of how to use these helper class is as follows.
//Create the mesh.
var mesh = new Polyhedron3<EIK>(points, indices);
//Get a instance to the processing helperr class.
//Use the same kernel type (ie EIK)
var instance = MeshProcessingOrientation<EIK>.Instance;
//Perform the op you want.
instance.ReverseFaceOrientations(mesh);
A list of the helper classes and their functions is as follows.
- Union
- Difference
- Intersection
- UnconnectedComponents
- ConnectedFaces
- SplitUnconnectedComponents
- KeepLargeComponents
- KeepLargestComponents
- DetectSharpEdges
- EdgeLengthMinMaxAvg
- FaceAreaMinMaxAvg
- SharpEdgesSegmentation
- RandomLocationOnMesh
- LocateFace
- ClosestFace
- Extrude
- Fair
- Refine
- IsotropicRemeshing
- RandomPerturbation
- SmoothMeshByAngle
- SplitLongEdges
- TriangulateFace
- TriangulateFaces
- DoesBoundAVolume
- IsOutwardOriented
- Orient
- OrientToBoundAVolume
- ReverseFaceOrientations
- DegenerateEdgeCount
- DegenerateTriangleCount
- NeedleTriangleCount
- NonManifoldVertexCount
- RepairPolygonSoup
- StitchBoundaryCycles
- StitchBorders
- RemoveIsolatedVertices
- Slice
Below is a image of the slicer applied to the bunny mesh.
Below is image of a mesh being remeshed with the isotropic mesher.