Rhino C++ API  8.13
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ON_SubDFacePtr Class Reference

#include <opennurbs_subd.h>

Public Member Functions

bool ClearMark () const
 
ON__UINT8 ClearMarkBits () const
 
void ClearSavedSubdivisionPoints () const
 
void ClearSavedSubdivisionPoints (bool bClearNeighborhood) const
 
const ON_3dPoint DoubleSubdivisionPoint () const
 Get the location of the subdivision point of faces's subdivision vertex. More...
 
const ON_3dPoint DoubleSubdivisionPoint (unsigned subdivided_region_index) const
 Get the location of the subdivision point of the specified subdivison edge. Note that when an edge is subdivided one time a new subdivision vertex and two subdivision edges are created. If one of the subdivion edges are subdivided again, then that creates a subdivision vertex. This version of ON_SubDEdge::DoubleSubdivisionPoint(...) returns the location of that vertex. The subdivided_end_index parameter specifies which of the two initial subdivision edges are used. More...
 
class ON_SubDFaceFace () const
 
ON__UINT_PTR FaceDirection () const
 
unsigned int FaceEdgeCount () const
 
unsigned int FaceId () const
 
bool IsActive () const
 
bool IsNotNull () const
 
bool IsNull () const
 
bool Mark () const
 
ON__UINT8 MarkBits () const
 
const ON_SubDFacePtr Reversed () const
 
bool SetMark () const
 
bool SetMark (bool bMark) const
 
ON__UINT8 SetMarkBits (ON__UINT8 mark_bits) const
 
const ON_ComponentStatus Status () const
 
const ON_3dPoint SubdivisionPoint () const
 
const ON_3dPoint SubdivisionPoint (unsigned subdivision_count) const
 Get the location of the face's subdivision vertex. More...
 

Static Public Member Functions

static int Compare (const ON_SubDFacePtr *lhs, const ON_SubDFacePtr *rhs)
 
static int CompareFacePointer (const ON_SubDFacePtr *lhs, const ON_SubDFacePtr *rhs)
 
static const ON_SubDFacePtr Create (const class ON_SubDComponentPtr &face_component)
 
static const ON_SubDFacePtr Create (const class ON_SubDFace *face, ON__UINT_PTR direction)
 

Public Attributes

ON__UINT_PTR m_ptr
 

Static Public Attributes

static const ON_SubDFacePtr Null
 

Member Function Documentation

◆ ClearMark()

bool ON_SubDFacePtr::ClearMark ( ) const

Description: Clears (sets to false) the value of the component mark. Remarks: SubD components have a mutable runtime mark that can be used in any context where a single thread cares about the marks. It is widely used in many calculations to keep track of sets of components that are in a certain context specific state. Returns: Input value of Mark().

◆ ClearMarkBits()

ON__UINT8 ON_SubDFacePtr::ClearMarkBits ( ) const

◆ ClearSavedSubdivisionPoints() [1/2]

void ON_SubDFacePtr::ClearSavedSubdivisionPoints ( ) const

◆ ClearSavedSubdivisionPoints() [2/2]

void ON_SubDFacePtr::ClearSavedSubdivisionPoints ( bool  bClearNeighborhood) const

Description: Clears saved subdivision and limit surface information for this component. Parameters: bClearNeighborhood - [in] If true, all components attached to this component are also cleared. summary> The SubD face Catmull-Clark subdivision point. /summary>

◆ Compare()

static int ON_SubDFacePtr::Compare ( const ON_SubDFacePtr lhs,
const ON_SubDFacePtr rhs 
)
static

◆ CompareFacePointer()

static int ON_SubDFacePtr::CompareFacePointer ( const ON_SubDFacePtr lhs,
const ON_SubDFacePtr rhs 
)
static

◆ Create() [1/2]

static const ON_SubDFacePtr ON_SubDFacePtr::Create ( const class ON_SubDComponentPtr face_component)
static

◆ Create() [2/2]

static const ON_SubDFacePtr ON_SubDFacePtr::Create ( const class ON_SubDFace face,
ON__UINT_PTR  direction 
)
static

◆ DoubleSubdivisionPoint() [1/2]

const ON_3dPoint ON_SubDFacePtr::DoubleSubdivisionPoint ( ) const

Get the location of the subdivision point of faces's subdivision vertex.

Returns
Catmull-Clark face double subdivision point.

◆ DoubleSubdivisionPoint() [2/2]

const ON_3dPoint ON_SubDFacePtr::DoubleSubdivisionPoint ( unsigned  subdivided_region_index) const

Get the location of the subdivision point of the specified subdivison edge. Note that when an edge is subdivided one time a new subdivision vertex and two subdivision edges are created. If one of the subdivion edges are subdivided again, then that creates a subdivision vertex. This version of ON_SubDEdge::DoubleSubdivisionPoint(...) returns the location of that vertex. The subdivided_end_index parameter specifies which of the two initial subdivision edges are used.

Parameters
subdivided_region_index0 <= subdivided_region_index < 2*face.EdgeCount(). This parameter specifies which of the 2*face.EdgeCount() possible points to return.

When subdivided_region_index = 2*i (even), the subdivision point of the subdivided face with 4 corners face.Vertex(i).SubdivisionPoint(), face.Edge(i).SubdivisionPoint(), face.SubdivisionPoint(), face.Edge(i-1).SubdivisionPoint() is returned.

When subdivided_region_index = 2*i+1 (odd), the subdivision point of the subdivided edge connecting face.Edge(i).SubdivisionPoint() and face.SubdivisionPoint() is returned.

Returns
The specified double subdivision point.

◆ Face()

class ON_SubDFace* ON_SubDFacePtr::Face ( ) const

◆ FaceDirection()

ON__UINT_PTR ON_SubDFacePtr::FaceDirection ( ) const

◆ FaceEdgeCount()

unsigned int ON_SubDFacePtr::FaceEdgeCount ( ) const

Returns: If Face() is not nullptr, Face()->EdgeCount() is returned. Otherwise, 0 is returned.

◆ FaceId()

unsigned int ON_SubDFacePtr::FaceId ( ) const

Returns: If Face() is not nullptr, Face()->m_id is returned. Otherwise, 0 is returned.

◆ IsActive()

bool ON_SubDFacePtr::IsActive ( ) const

Returns: True if this face is active in its parent subd or other relevant context. Remarks: When a component is in use, IsActive() = true. If was used and then deleted, IsActive() is false.

◆ IsNotNull()

bool ON_SubDFacePtr::IsNotNull ( ) const

◆ IsNull()

bool ON_SubDFacePtr::IsNull ( ) const

◆ Mark()

bool ON_SubDFacePtr::Mark ( ) const

Returns: The current value of the component mark ( m_status->RuntimeMark() ). Remarks: SubD components have a mutable runtime mark that can be used in any context where a single thread cares about the marks. It is widely used in many calculations to keep track of sets of components that are in a certain context specific state.

◆ MarkBits()

ON__UINT8 ON_SubDFacePtr::MarkBits ( ) const

◆ Reversed()

const ON_SubDFacePtr ON_SubDFacePtr::Reversed ( ) const

Returns: A ON_SubDFacePtr pointing at the same face with the direction reversed from this.

◆ SetMark() [1/2]

bool ON_SubDFacePtr::SetMark ( ) const

Description: Sets (sets to true) the value of the component mark. Remarks: SubD components have a mutable runtime mark that can be used in any context where a single thread cares about the marks. It is widely used in many calculations to keep track of sets of components that are in a certain context specific state. Returns: Input value of Mark().

◆ SetMark() [2/2]

bool ON_SubDFacePtr::SetMark ( bool  bMark) const

Description: Sets the value of the component mark to bMark. Parameter: bMark - [in] Remarks: SubD components have a mutable runtime mark that can be used in any context where a single thread cares about the marks. It is widely used in many calculations to keep track of sets of components that are in a certain context specific state. Returns: Input value of Mark().

◆ SetMarkBits()

ON__UINT8 ON_SubDFacePtr::SetMarkBits ( ON__UINT8  mark_bits) const

◆ Status()

const ON_ComponentStatus ON_SubDFacePtr::Status ( ) const

◆ SubdivisionPoint() [1/2]

const ON_3dPoint ON_SubDFacePtr::SubdivisionPoint ( ) const

◆ SubdivisionPoint() [2/2]

const ON_3dPoint ON_SubDFacePtr::SubdivisionPoint ( unsigned  subdivision_count) const

Get the location of the face's subdivision vertex.

Parameters
subdivision_countsubdivision_count >= 1 is the number of subdivisions to perform.
Returns
Catmull-Clark face subdivision point.

Member Data Documentation

◆ m_ptr

ON__UINT_PTR ON_SubDFacePtr::m_ptr

For performance reasons, m_ptr is not initialized and no constructors are declared or implemented. If you require initialization, then use x = ON_SubDFacePtr::Null or x = ON_SubDFacePtr::Create(...).

◆ Null

const ON_SubDFacePtr ON_SubDFacePtr::Null
static