#include <opennurbs_subd.h>
◆ anonymous enum
      
        
          | anonymous enum : unsigned short | 
      
 
| Enumerator | 
|---|
| IndexCapacity | Capacity of the m_index[] array;.  | 
 
 
◆ ON_SubDComponentRegionIndex() [1/2]
  
  | 
        
          | ON_SubDComponentRegionIndex::ON_SubDComponentRegionIndex | ( |  | ) |  |  | default | 
 
 
◆ ~ON_SubDComponentRegionIndex()
  
  | 
        
          | ON_SubDComponentRegionIndex::~ON_SubDComponentRegionIndex | ( |  | ) |  |  | default | 
 
 
◆ ON_SubDComponentRegionIndex() [2/2]
◆ Compare()
Description: Compares subdivision counts. If the counts are the same, compares m_indices[]. 
 
 
 
◆ CompareMinimumSubregion()
Description: Compares subdivision indices for minimum(lhs->m_subdivision_count,rhs->m_subdivision_count). 
 
 
◆ FromCompressedRegionIndex() [1/2]
◆ FromCompressedRegionIndex() [2/2]
  
  | 
        
          | static void ON_SubDComponentRegionIndex::FromCompressedRegionIndex | ( | ON__UINT32 | compressed_region_index, |  
          |  |  | unsigned short * | subdivision_count, |  
          |  |  | unsigned short * | region_index |  
          |  | ) |  |  |  | static | 
 
Description: Decompress a 32-bit region. Parameters: region32 - [in] Value returned from To32BitRegion(). subdivision_count - [out] Subdivision count region_index[] - out Region indices. The region_index[] array must have a capcity of at least ON_SubDComponentRegion::region_index_capacity elements. 
 
 
◆ Index()
      
        
          | unsigned short ON_SubDComponentRegionIndex::Index | ( | unsigned short | i | ) | const | 
      
 
 
◆ operator=()
◆ Pop()
      
        
          | void ON_SubDComponentRegionIndex::Pop | ( |  | ) |  | 
      
 
 
◆ Push()
      
        
          | void ON_SubDComponentRegionIndex::Push | ( | unsigned int | region_index | ) |  | 
      
 
 
◆ ToCompressedRegionIndex() [1/2]
      
        
          | ON__UINT32 ON_SubDComponentRegionIndex::ToCompressedRegionIndex | ( |  | ) | const | 
      
 
Description: Encodes ON_SubDComponentRegionIndex information in 32 bits. (m_subdivision_count) << 24 | (0x00FF0000 & ((m_region_index[0]) << 16)) | (m_region_index[1] & 0x0003) << (14) | (m_region_index[2] & 0x0003) << (12) ... | (m_index[m_subdivision_count] & 0x0003) <<(16-(2*m_subdivision_count)) Remarks: This is useful when quick compare and sorting of regions is required, m_subdivision_count < 256, m_index[0] < 256, m_index[1] < 4, ..., m_index[m_subdivision_count] < 4 Regions of N-gons with N < 256 and regions of edges satisfy these condition when m_subdivision_count < 256 (which is always in real world situations). 
 
 
◆ ToCompressedRegionIndex() [2/2]
  
  | 
        
          | static ON__UINT32 ON_SubDComponentRegionIndex::ToCompressedRegionIndex | ( | unsigned short | subdivision_count, |  
          |  |  | const unsigned short * | region_index |  
          |  | ) |  |  |  | static | 
 
 
◆ ToString() [1/2]
      
        
          | const ON_wString ON_SubDComponentRegionIndex::ToString | ( |  | ) | const | 
      
 
 
◆ ToString() [2/2]
      
        
          | wchar_t* ON_SubDComponentRegionIndex::ToString | ( | wchar_t * | s, | 
        
          |  |  | size_t | s_capacity | 
        
          |  | ) |  | const | 
      
 
Description: Get a string of the form .a.b.c .a.b.c = m_index[] values. 
 
 
◆ m_index
If m_subdivision_count > 0, then m_index[0], ..., m_index[m_subdivision_count-1] identifies a subregion of the level 0 component.
Faces with quad subdivision: m_index[n] is the subdivision quad for the region that contains the parent face's corner at face->m_vertex[m_index[n]]. Edges m_region_index[n] = 0 indicates the beginning half of the parent edge. (begins at edge->Vertex(0)) m_region_index[n] = 1 indicates the ending half of the parent edge. (ends at edge->Vertex(1))
When a component is created during a subdivision step, the value 0xFFFF is used to mark the non-existent regions at earlier subdivision levels. For example, if a level 1 edge is created by connecting a level0 edge subdivision point (middle-ish of the edge) to a level0 face subdivision point (center-ish of the face), then the level 1 edge would have m_level0_component = ON_SubDComponentPtr::CreateNull(ON_SubDComponentPtr::Type::Edge, bReversed), (m_level0_component.IsNull() will be true) m_level0_component_id = ON_SubDComponentRegion::NewTransientId() m_subdivision_count = 1, m_region_index[0] = 0xFFFF. 
 
 
◆ m_subdivision_count
      
        
          | unsigned short ON_SubDComponentRegionIndex::m_subdivision_count = 0 | 
      
 
 
◆ Unset
◆ Zero