#include <opennurbs_subd_data.h>
◆ ON_SubDFaceNeighborhood()
ON_SubDFaceNeighborhood::ON_SubDFaceNeighborhood |
( |
| ) |
|
|
default |
◆ ~ON_SubDFaceNeighborhood()
ON_SubDFaceNeighborhood::~ON_SubDFaceNeighborhood |
( |
| ) |
|
◆ Subdivide()
bool ON_SubDFaceNeighborhood::Subdivide |
( |
const ON_SubDFace * |
face | ) |
|
Description: Apply a single iteration of the subdivision algorithm to face and save the results in this ON_SubDFaceNeighborhood. If a vertex of the initial face is extraordinary, the limit point and normal are calculated from face and saved on the subdivision.
The resulting section of a subdivision surface is suitable for limit surface and limit mesh evaluation of the original face. The ON_SubDFaceNeighborhood is designed to be used to calculate the limit surface and limit mesh for faces that have an extraordinary number of edges.
◆ m_center_vertex1
const ON_SubDVertex* ON_SubDFaceNeighborhood::m_center_vertex1 = nullptr |
The center vertex will be a smooth vertex with valence = m_face0->m_edge_count. The edges and faces are sorted radially and all faces are quads.
In all other cases, m_center_vertex is null.
◆ m_face0
const ON_SubDFace* ON_SubDFaceNeighborhood::m_face0 = nullptr |
◆ m_face1
const class ON_SubDFace** ON_SubDFaceNeighborhood::m_face1 = nullptr |
◆ m_face1_count
unsigned int ON_SubDFaceNeighborhood::m_face1_count = 0 |
m_face1[] is a list of the subdivision faces that subdivide the original face.
m_face1 is identical to m_center_vertex1->m_faces[]. The m_next_face pointers are set so that m_face1[i]->m_next_face = m_face1[i+1]. Note that m_face1[m_face1_count-1]->m_next_face may not be null.
◆ m_reserved1
unsigned char ON_SubDFaceNeighborhood::m_reserved1 = 0 |