#include <opennurbs_subd.h>
◆ anonymous enum
anonymous enum : unsigned int |
◆ ON_SubDComponentRegion() [1/2]
ON_SubDComponentRegion::ON_SubDComponentRegion |
( |
| ) |
|
|
default |
◆ ~ON_SubDComponentRegion()
ON_SubDComponentRegion::~ON_SubDComponentRegion |
( |
| ) |
|
|
default |
◆ ON_SubDComponentRegion() [2/2]
◆ Compare()
Description: Compares m_level0_component.ComponentType(), m_level0_component_id, m_level0_component.ComponentDirection(), the entire sub region, and m_level0_component.m_ptr.
◆ CompareTypeIdDirection()
Descriptions: Compares m_level0_component.ComponentType(), m_level0_component_id, m_level0_component.ComponentDirection().
◆ CompareTypeIdDirectionMinimumSubregion()
Description: Compares m_level0_component.ComponentType(), m_level0_component_id, m_level0_component.ComponentDirection(), and the m_region_index[] values for the minimum subdivision count lhs and rhs.
◆ CompareTypeIdDirectionSubregion()
Description: Compares m_level0_component.ComponentType(), m_level0_component_id, m_level0_component.ComponentDirection(), and the entire sub region.
◆ Create() [1/2]
◆ Create() [2/2]
◆ CreateSubdivisionRegion()
Description: Creates a region that can be used to identify a component created at a certain level of subdivision that does not come from dividing a component from the previous level. For example, Catmull Clark subdivision edges on level N+1 that run from the level N edge subdivision point to the level N face subdivision point.
m_level0_component = ON_SubDComponentPtr::CreateNull(component_type, bComponentDirection?1:0), (m_level0_component.IsNull() will be true) m_level0_component_id = ON_SubDComponentRegion::NewTransientId() m_subdivision_count = subdivision_count, m_region_index[0, ..., (subdivision_count-1)] = 0xFFFF.
◆ IsEmptyRegion()
bool ON_SubDComponentRegion::IsEmptyRegion |
( |
| ) |
const |
◆ IsPersistentId() [1/2]
bool ON_SubDComponentRegion::IsPersistentId |
( |
| ) |
const |
Returns: True if m_level0_component_id is the id of a persistent ON_SubD level 0 component.
◆ IsPersistentId() [2/2]
static bool ON_SubDComponentRegion::IsPersistentId |
( |
unsigned int |
id | ) |
|
|
static |
Parameters: id - [in] Value to test to see if it is a persitsent subd component id. Returns: True if (ON_SubDComponentRegion::TransientIdBit & id) is not zero and (~ON_SubDComponentRegion::TransientIdBit & id) is not zero. Remarks: Transient ids are used to identify subdivision components at levels that do not persist in the ON_SubD. They are unique within the context where they are being used. They generally vary with each repetition of a calcultion in that context.
◆ IsTransientId() [1/2]
bool ON_SubDComponentRegion::IsTransientId |
( |
| ) |
const |
Returns: True if m_level0_component_id is a transient id.
◆ IsTransientId() [2/2]
static bool ON_SubDComponentRegion::IsTransientId |
( |
unsigned int |
id | ) |
|
|
static |
Parameters: id - [in] Value to test to see if it is a transient subd component id. Returns: True if (ON_SubDComponentRegion::TransientIdBit & id) is not zero and (~ON_SubDComponentRegion::TransientIdBit & id) is not zero. Remarks: Transient ids are used to identify subdivision components at levels that do not persist in the ON_SubD. They are unique within the context where they are being used. They generally vary with each repetition of a calcultion in that context.
◆ NewTransientId()
static const unsigned int ON_SubDComponentRegion::NewTransientId |
( |
| ) |
|
|
static |
Returns: A value that can be used to identify transient subdivision components that do not exist in the persistent levels of a SubD. Transient ids always satisfy (ON_SubDComponentRegion::TransientIdBit & transient_id) is not zero and (~ON_SubDComponentRegion::TransientIdBit & transient_id) is not zero. Remarks: Transient ids are used to identify subdivision components at levels that do not persist in the ON_SubD. They are unique within the context where they are being used. They generally vary with each repetition of a calcultion in that context.
◆ operator=()
◆ Pop()
void ON_SubDComponentRegion::Pop |
( |
| ) |
|
◆ PushAbsolute()
void ON_SubDComponentRegion::PushAbsolute |
( |
unsigned int |
region_index | ) |
|
Parameters: region_index - [in] If m_level0_component identifies a face, then region_index is the index of the corner vertex for the subdivision quad. If m_level0_component identifies an edge, then region_index must be 0 or 1. Description: Increments if m_subdivision_count and appends region_index to m_region_index[] (m_region_index[m_subdivision_count++] = region_index)
◆ PushAdjusted()
void ON_SubDComponentRegion::PushAdjusted |
( |
unsigned int |
region_index | ) |
|
Description: region_index - [in] If m_level0_component identifies an edge, region_index is 0 or 1, and the edge is reversed (1=m_level0_component.ComponentMark()), then PushAbsolute(1-region_index) is called. In every other case, PushAbsolute(region_index) is called.
◆ ResetTransientId()
static void ON_SubDComponentRegion::ResetTransientId |
( |
| ) |
|
|
static |
Description: Resets the value used to generate transient ids. This is useful during debugging session so that transient id values are predictable. Otherwise, use of this function should be avoided.
◆ SetLevel0Component()
◆ SetLevel0EdgePtr()
void ON_SubDComponentRegion::SetLevel0EdgePtr |
( |
const ON_SubDEdgePtr |
edge_ptr | ) |
|
◆ SetLevel0Face()
void ON_SubDComponentRegion::SetLevel0Face |
( |
const ON_SubDFace * |
face | ) |
|
◆ SetLevel0Vertex()
void ON_SubDComponentRegion::SetLevel0Vertex |
( |
const ON_SubDVertex * |
vertex | ) |
|
◆ SubdivisionCount()
unsigned short ON_SubDComponentRegion::SubdivisionCount |
( |
| ) |
const |
◆ ToString() [1/2]
const ON_wString ON_SubDComponentRegion::ToString |
( |
| ) |
const |
◆ ToString() [2/2]
wchar_t* ON_SubDComponentRegion::ToString |
( |
wchar_t * |
s, |
|
|
size_t |
s_capacity |
|
) |
| const |
Description: Get a string of the form fN.a.b.c where N = m_level0_face-m_id, a.b.c = m_region_index[] values.
◆ TransientId()
static unsigned int ON_SubDComponentRegion::TransientId |
( |
unsigned int |
id | ) |
|
|
static |
Parameters: id - [in] Value to test to see if it is a transient subd component id. Returns: If the id is a transient id, then its id value is returned. Otherwise, 0 is returned. Remarks: Transient ids are used to identify subdivision components at levels that do not persist in the ON_SubD. They are unique within the context where they are being used. They generally vary with each repetition of a calcultion in that context.
◆ Empty
◆ m_level0_component
◆ m_level0_component_id
unsigned int ON_SubDComponentRegion::m_level0_component_id = 0 |
◆ m_region_index