#include <DooSabin.h>
Inheritance diagram for DooSabin:


Definition at line 10 of file DooSabin.h.
Public Member Functions | |
| DooSabin (Mesh *m) | |
| Constructor for a Doo-Sabin subdivision surface. | |
| ~DooSabin () | |
| Destructor for a subdivision surface. | |
| virtual void | compute (int n) |
| Compute a certain level of subdivision. | |
| virtual int | matrix (int *n, double *m) |
| Compute the subdivision matrix. | |
Private Member Functions | |
| void | subdivide (int n) |
| Subdivide the mesh to the nth level. | |
Private Attributes | |
| Mesh & | mm_mesh |
| No use having a mesh member in Surface when mesh doesn't have a copy constructor. | |
|
|
Constructor for a Doo-Sabin subdivision surface.
Definition at line 129 of file DooSabin.cpp. |
|
|
Destructor for a subdivision surface. Frees all related memory. Any extracted meshes become invalid. Definition at line 136 of file DooSabin.cpp. |
|
|
Compute a certain level of subdivision.
Implements Subdivision. Definition at line 141 of file DooSabin.cpp. References Mesh::getMeshGroupCount(), mm_mesh, and subdivide(). |
|
||||||||||||
|
Compute the subdivision matrix. Empty for now.
Implements Subdivision. Definition at line 45 of file DooSabin.h. |
|
|
Subdivide the mesh to the nth level. Assumes the n-1'th subdivision has already occurred.
Definition at line 163 of file DooSabin.cpp. References MeshGroup::addFace(), Mesh::addFace(), Mesh::addGroup(), Mesh::addNormal(), Mesh::addVertex(), create_boundary_vertices(), VertexData::face, MeshGroup::facePostIncrement(), find_edge_data(), find_vertex_index(), Mesh::getFace(), Mesh::getGroup(), Mesh::getIndexVertex(), Mesh::getVertexCount(), green(), VertexData::i, IndexEdge, IndexFace, IndexVertex, mm_mesh, EdgeData::new_v, VertexData::normal, red(), MeshGroup::rewindFaceList(), indexVertex::setArbitraryIndex(), and U32. Referenced by compute(). |
|
|
No use having a mesh member in Surface when mesh doesn't have a copy constructor.
Definition at line 68 of file DooSabin.h. Referenced by compute(), and subdivide(). |
1.3.4