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

#include <opennurbs_subd.h>

Inheritance diagram for ON_SubDComponentRef:
ON_Geometry ON_Object

Public Member Functions

 ON_SubDComponentRef ()=default
 
 ON_SubDComponentRef (const ON_SubDComponentRef &) ON_NOEXCEPT
 
 ~ON_SubDComponentRef ()=default
 
void Clear ()
 
ON_COMPONENT_INDEX ComponentIndex () const override
 
ON_SubDComponentLocation ComponentLocation () const
 
ON_SubDComponentPtr ComponentPtr () const
 
int Dimension () const override
 overrides of virtual ON_Geometry functions More...
 
void Dump (ON_TextLog &) const override
 
const class ON_SubDEdgeEdge () const
 
const class ON_SubDFaceFace () const
 
bool GetBBox (double *boxmin, double *boxmax, bool bGrowBox=false) const override
 virtual ON_Geometry GetBBox override
More...
 
bool IsValid (class ON_TextLog *text_log=nullptr) const override
 overrides of virtual ON_Object functions More...
 
ON::object_type ObjectType () const override
 
ON_SubDComponentRefoperator= (const ON_SubDComponentRef &)
 
ON__UINT_PTR ReferenceId () const
 
void SetReferenceId (ON__UINT_PTR reference_id)
 
unsigned int SizeOf () const override
 
const class ON_SubDSubD () const
 
ON_SubDRef SubDRef () const
 
const class ON_SubDVertexVertex () const
 
- Public Member Functions inherited from ON_Geometry
 ON_Geometry ()=default
 
 ON_Geometry (const ON_Geometry &)=default
 
 ~ON_Geometry ()=default
 
ON_BoundingBox BoundingBox () const
 
virtual class ON_BrepBrepForm (class ON_Brep *brep=nullptr) const
 
virtual void ClearBoundingBox ()
 
virtual bool EvaluatePoint (const class ON_ObjRef &objref, ON_3dPoint &P) const
 
bool GetBoundingBox (ON_3dPoint &bbox_min, ON_3dPoint &bbox_max, bool bGrowBox=false) const
 
bool GetBoundingBox (ON_BoundingBox &bbox, bool bGrowBox=false) const
 
virtual bool GetTightBoundingBox (class ON_BoundingBox &tight_bbox, bool bGrowBox=false, const class ON_Xform *xform=nullptr) const
 
virtual bool HasBrepForm () const
 
virtual bool IsDeformable () const
 
virtual bool IsMorphable () const
 
virtual bool MakeDeformable ()
 
virtual bool Morph (const class ON_SpaceMorph &morph)
 
ON_Geometryoperator= (const ON_Geometry &)=default
 
bool Rotate (double rotation_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
 
bool Rotate (double sin_angle, double cos_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
 
bool Scale (double scale_factor)
 
virtual bool SwapCoordinates (int i, int j)
 
const ON_BoundingBox TightBoundingBox () const
 
virtual bool Transform (const ON_Xform &xform)
 
bool Translate (const ON_3dVector &translation_vector)
 
- Public Member Functions inherited from ON_Object
 ON_Object () ON_NOEXCEPT
 
 ON_Object (const ON_Object &)
 
virtual ~ON_Object ()
 
virtual ON_AggregateComponentStatus AggregateComponentStatus () const
 
bool AttachUserData (class ON_UserData *pUserData)
 
unsigned int ClearAllComponentStates () const
 
virtual unsigned int ClearComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_clear) const
 
virtual unsigned int ClearComponentStates (ON_ComponentStatus states_to_clear) const
 
void CopyUserData (const ON_Object &source_object)
 
unsigned int CopyUserData (const ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution)
 
virtual ON__UINT32 DataCRC (ON__UINT32 current_remainder) const
 
virtual bool DeleteComponents (const ON_COMPONENT_INDEX *ci_list, size_t ci_count)
 
virtual void DestroyRuntimeCache (bool bDelete=true)
 
bool DetachUserData (class ON_UserData *pUserData)
 
void EmergencyDestroy ()
 
class ON_UserDataFirstUserData () const
 
virtual unsigned int GetComponentsWithSetStates (ON_ComponentStatus states_filter, bool bAllEqualStates, ON_SimpleArray< ON_COMPONENT_INDEX > &components) const
 
class ON_UserDataGetUserData (const ON_UUID &userdata_uuid) const
 
bool GetUserString (const wchar_t *key, ON_wString &string_value) const
 
int GetUserStringKeys (ON_ClassArray< ON_wString > &user_string_keys) const
 
int GetUserStrings (ON_ClassArray< ON_UserString > &user_strings) const
 
bool IsCorrupt (bool bRepair, bool bSilentError, class ON_TextLog *text_log) const
 
bool IsKindOf (const ON_ClassId *pClassId) const
 
virtual void MarkAggregateComponentStatusAsNotCurrent () const
 
virtual void MemoryRelocate ()
 
virtual ON_UUID ModelObjectId () const
 
void MoveUserData (ON_Object &source_object)
 
unsigned int MoveUserData (ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution, bool bDeleteAllSourceItems)
 
ON_Objectoperator= (const ON_Object &)
 
void PurgeUserData ()
 
virtual bool Read (ON_BinaryArchive &binary_archive)
 
virtual unsigned int SetComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_set) const
 
virtual unsigned int SetComponentStatus (ON_COMPONENT_INDEX component_index, ON_ComponentStatus status_to_copy) const
 
bool SetUserString (const wchar_t *key, const wchar_t *string_value)
 
int SetUserStrings (int count, const ON_UserString *user_strings, bool bReplace)
 
bool ThisIsNullptr (bool bSilentError) const
 
void TransformUserData (const class ON_Xform &xform)
 
virtual bool UpdateReferencedComponents (const class ON_ComponentManifest &source_manifest, const class ON_ComponentManifest &destination_manifest, const class ON_ManifestMap &manifest_map)
 
int UserStringCount () const
 
virtual bool Write (ON_BinaryArchive &binary_archive) const
 

Static Public Member Functions

static int Compare (const ON_SubDComponentRef *lhs, const ON_SubDComponentRef *rhs)
 
static int Compare2 (const ON_SubDComponentRef *const *lhs, const ON_SubDComponentRef *const *rhs)
 
static const ON_SubDComponentRef Create (const ON_SubDRef &subd_ref, const class ON_SubDEdge *edge, ON_SubDComponentLocation component_location, ON__UINT_PTR reference_id)
 
static const ON_SubDComponentRef Create (const ON_SubDRef &subd_ref, const class ON_SubDFace *face, ON_SubDComponentLocation component_location, ON__UINT_PTR reference_id)
 
static const ON_SubDComponentRef Create (const ON_SubDRef &subd_ref, const class ON_SubDVertex *vertex, ON_SubDComponentLocation component_location, ON__UINT_PTR reference_id)
 
static const ON_SubDComponentRef Create (const ON_SubDRef &subd_ref, ON_COMPONENT_INDEX component_index, ON_SubDComponentLocation component_location, ON__UINT_PTR reference_id)
 
static const ON_SubDComponentRef Create (const ON_SubDRef &subd_ref, ON_SubDComponentPtr component_ptr, ON_SubDComponentLocation component_location, ON__UINT_PTR reference_id)
 

Static Public Attributes

static const ON_SubDComponentRef Empty
 
- Static Public Attributes inherited from ON_Geometry
const static ON_Geometry Unset
 

Additional Inherited Members

- Public Types inherited from ON_Object
enum  UserDataConflictResolution : unsigned char {
  UserDataConflictResolution::destination_object = 0, UserDataConflictResolution::source_object = 1, UserDataConflictResolution::source_copycount_gt = 2, UserDataConflictResolution::source_copycount_ge = 3,
  UserDataConflictResolution::destination_copycount_gt = 4, UserDataConflictResolution::destination_copycount_ge = 5, UserDataConflictResolution::delete_item = 6
}
 

Detailed Description

ON_SubDComponentRef

Used when an ON_SubD vertex, edge or face needs to be sent around as a piece of ON_Geometry.

Constructor & Destructor Documentation

◆ ON_SubDComponentRef() [1/2]

ON_SubDComponentRef::ON_SubDComponentRef ( )
default

◆ ~ON_SubDComponentRef()

ON_SubDComponentRef::~ON_SubDComponentRef ( )
default

◆ ON_SubDComponentRef() [2/2]

ON_SubDComponentRef::ON_SubDComponentRef ( const ON_SubDComponentRef )

Member Function Documentation

◆ Clear()

void ON_SubDComponentRef::Clear ( )

◆ Compare()

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

◆ Compare2()

static int ON_SubDComponentRef::Compare2 ( const ON_SubDComponentRef *const *  lhs,
const ON_SubDComponentRef *const *  rhs 
)
static

◆ ComponentIndex()

ON_COMPONENT_INDEX ON_SubDComponentRef::ComponentIndex ( ) const
overridevirtual

Description: If this piece of geometry is a component in something larger, like an ON_BrepEdge in an ON_Brep, then this function returns the component index. Returns: This object's component index. If this object is not a sub-piece of a larger geometric entity, then the returned index has m_type = ON_COMPONENT_INDEX::invalid_type and m_index = -1.

Reimplemented from ON_Geometry.

◆ ComponentLocation()

ON_SubDComponentLocation ON_SubDComponentRef::ComponentLocation ( ) const

◆ ComponentPtr()

ON_SubDComponentPtr ON_SubDComponentRef::ComponentPtr ( ) const

◆ Create() [1/5]

static const ON_SubDComponentRef ON_SubDComponentRef::Create ( const ON_SubDRef subd_ref,
const class ON_SubDEdge edge,
ON_SubDComponentLocation  component_location,
ON__UINT_PTR  reference_id 
)
static

◆ Create() [2/5]

static const ON_SubDComponentRef ON_SubDComponentRef::Create ( const ON_SubDRef subd_ref,
const class ON_SubDFace face,
ON_SubDComponentLocation  component_location,
ON__UINT_PTR  reference_id 
)
static

◆ Create() [3/5]

static const ON_SubDComponentRef ON_SubDComponentRef::Create ( const ON_SubDRef subd_ref,
const class ON_SubDVertex vertex,
ON_SubDComponentLocation  component_location,
ON__UINT_PTR  reference_id 
)
static

◆ Create() [4/5]

static const ON_SubDComponentRef ON_SubDComponentRef::Create ( const ON_SubDRef subd_ref,
ON_COMPONENT_INDEX  component_index,
ON_SubDComponentLocation  component_location,
ON__UINT_PTR  reference_id 
)
static

Parameters: subd_ref - [in] component_index - [in] component_location - [in]

◆ Create() [5/5]

static const ON_SubDComponentRef ON_SubDComponentRef::Create ( const ON_SubDRef subd_ref,
ON_SubDComponentPtr  component_ptr,
ON_SubDComponentLocation  component_location,
ON__UINT_PTR  reference_id 
)
static

◆ Dimension()

int ON_SubDComponentRef::Dimension ( ) const
overridevirtual

overrides of virtual ON_Geometry functions

Reimplemented from ON_Geometry.

◆ Dump()

void ON_SubDComponentRef::Dump ( ON_TextLog ) const
overridevirtual

Description: Creates a text dump of the object. Remarks: Dump() is intended for debugging and is not suitable for creating high quality text descriptions of an object.

The default implementations of this virtual function prints the class's name.

Reimplemented from ON_Object.

◆ Edge()

const class ON_SubDEdge* ON_SubDComponentRef::Edge ( ) const

◆ Face()

const class ON_SubDFace* ON_SubDComponentRef::Face ( ) const

◆ GetBBox()

bool ON_SubDComponentRef::GetBBox ( double *  boxmin,
double *  boxmax,
bool  bGrowBox = false 
) const
overridevirtual

virtual ON_Geometry GetBBox override

Reimplemented from ON_Geometry.

◆ IsValid()

bool ON_SubDComponentRef::IsValid ( class ON_TextLog text_log = nullptr) const
overridevirtual

overrides of virtual ON_Object functions

Reimplemented from ON_Geometry.

◆ ObjectType()

ON::object_type ON_SubDComponentRef::ObjectType ( ) const
overridevirtual

Description: Useful for switch statements that need to differentiate between basic object types like points, curves, surfaces, and so on.

Returns: ON::object_type enum value.

Remarks: The default implementation of this virtual function returns ON::unknown_object_type

Reimplemented from ON_Object.

◆ operator=()

ON_SubDComponentRef& ON_SubDComponentRef::operator= ( const ON_SubDComponentRef )

◆ ReferenceId()

ON__UINT_PTR ON_SubDComponentRef::ReferenceId ( ) const

Description: The interpretation of this value depends on the context. When the context is an ON_SubDComponentRef created by CRhinoGetObject, ReferenceId() is the parent CRhinoSubDObject's runtime serial number.

◆ SetReferenceId()

void ON_SubDComponentRef::SetReferenceId ( ON__UINT_PTR  reference_id)

◆ SizeOf()

unsigned int ON_SubDComponentRef::SizeOf ( ) const
overridevirtual

Returns: An estimate of the amount of memory the class uses in bytes.

Reimplemented from ON_Object.

◆ SubD()

const class ON_SubD& ON_SubDComponentRef::SubD ( ) const

◆ SubDRef()

ON_SubDRef ON_SubDComponentRef::SubDRef ( ) const

◆ Vertex()

const class ON_SubDVertex* ON_SubDComponentRef::Vertex ( ) const

Member Data Documentation

◆ Empty

const ON_SubDComponentRef ON_SubDComponentRef::Empty
static