Polyhedral-net Splines
Loading...
Searching...
No Matches
Subdivision

Used for iterative refinement of regions that do not match any PnS patch type. It keeps track of the mapping between the original mesh vertices and the subdivided mesh vertices. A VertexMapping object is stored for each vertex in the mesh. This is useful so that a mask relative to the original mesh can be generated. More...

Classes

class  VertexMapping
 Represents a mapping from vertices in subdivided mesh to vertices in the original mesh. Each mapping consists of a list of vertex indices in the original and corresponding weights. The vertex in the subdivided mesh is represented as a weighted combination of the vertices in the original mesh. This class contains arithmetic operators to facilitate combining mappings during subdivision. More...

Functions

MeshType subdividePnsControlMeshCatmullClark (MeshType &a_Mesh)
 Subdivide the input mesh using Catmull-Clark subdivision scheme. Used for iterative refinement of regions that do not match any PnS patch type. Catmull-Clark is for PnS3. The marking system is based on face. This keeps track of faces that are marked. See Helper::is_face_marked. If a face is marked, the subdivided faces that originate from it will also be marked.
MeshType subdividePnsControlMeshDooSabin (MeshType &a_Mesh)
 Subdivide the input mesh using Doo-Sabin subdivision scheme. Used for iterative refinement of regions that do not match any PnS patch type. Doo-Sabin is for PnS2. The marking system is based on vertices. This keeps track of vertices that are marked. See Helper::is_vert_marked. If a vertex is marked, the subdivided vertices that form a ring around it will also be marked.

Detailed Description

Used for iterative refinement of regions that do not match any PnS patch type. It keeps track of the mapping between the original mesh vertices and the subdivided mesh vertices. A VertexMapping object is stored for each vertex in the mesh. This is useful so that a mask relative to the original mesh can be generated.

Function Documentation

◆ subdividePnsControlMeshCatmullClark()

MeshType subdividePnsControlMeshCatmullClark ( MeshType & a_Mesh)

Subdivide the input mesh using Catmull-Clark subdivision scheme. Used for iterative refinement of regions that do not match any PnS patch type. Catmull-Clark is for PnS3. The marking system is based on face. This keeps track of faces that are marked. See Helper::is_face_marked. If a face is marked, the subdivided faces that originate from it will also be marked.

Parameters
a_MeshThe input mesh to be subdivided.
Returns
MeshType The subdivided mesh.

◆ subdividePnsControlMeshDooSabin()

MeshType subdividePnsControlMeshDooSabin ( MeshType & a_Mesh)

Subdivide the input mesh using Doo-Sabin subdivision scheme. Used for iterative refinement of regions that do not match any PnS patch type. Doo-Sabin is for PnS2. The marking system is based on vertices. This keeps track of vertices that are marked. See Helper::is_vert_marked. If a vertex is marked, the subdivided vertices that form a ring around it will also be marked.

Parameters
a_MeshThe input mesh to be subdivided.
Returns
MeshType The subdivided mesh.