#include <opennurbs_model_component.h>

Public Member Functions

 ON_ModelComponentReference () ON_NOEXCEPT
 No = default to insure m_sp is completely managed in the openurbs DLL. More...
 
 ON_ModelComponentReference (const ON_ModelComponentReference &) ON_NOEXCEPT
 
 ON_ModelComponentReference (std::shared_ptr< ON_ModelComponent > &sp) ON_NOEXCEPT
 
 ~ON_ModelComponentReference ()
 
void Dump (ON_TextLog &text_log) const
 
bool IsEmpty () const ON_NOEXCEPT
 
const class ON_ModelComponentModelComponent () const ON_NOEXCEPT
 
const ON_UUID ModelComponentId () const ON_NOEXCEPT
 
int ModelComponentIndex () const ON_NOEXCEPT
 
const ON_NameHash ModelComponentNameHash () const ON_NOEXCEPT
 
ON__UINT64 ModelComponentRuntimeSerialNumber () const ON_NOEXCEPT
 
ON_ModelComponentReferenceoperator= (const ON_ModelComponentReference &)
 
ON_ModelComponentReferenceoperator= (std::shared_ptr< ON_ModelComponent > &sp)
 
unsigned int ReferenceCount () const ON_NOEXCEPT
 

Static Public Member Functions

static ON_ModelComponentReference CreateConstantSystemComponentReference (const class ON_ModelComponent &constant_system_component) ON_NOEXCEPT
 
static ON_ModelComponentReference CreateForExperts (class ON_ModelComponent *model_component, bool bManagedComponentReference) ON_NOEXCEPT
 

Static Public Attributes

static const ON_ModelComponentReference Empty
 

Constructor & Destructor Documentation

◆ ON_ModelComponentReference() [1/3]

ON_ModelComponentReference::ON_ModelComponentReference ( )

No = default to insure m_sp is completely managed in the openurbs DLL.

◆ ~ON_ModelComponentReference()

ON_ModelComponentReference::~ON_ModelComponentReference ( )

◆ ON_ModelComponentReference() [2/3]

ON_ModelComponentReference::ON_ModelComponentReference ( const ON_ModelComponentReference )

◆ ON_ModelComponentReference() [3/3]

ON_ModelComponentReference::ON_ModelComponentReference ( std::shared_ptr< ON_ModelComponent > &  sp)

Member Function Documentation

◆ CreateConstantSystemComponentReference()

static ON_ModelComponentReference ON_ModelComponentReference::CreateConstantSystemComponentReference ( const class ON_ModelComponent constant_system_component)
static
Parameters
constant_system_component[in] A constant system component that exists for the duration of the application.

See ON_ModelComponent::CreateConstantSystemComponentReference() for more information about constant system components.

◆ CreateForExperts()

static ON_ModelComponentReference ON_ModelComponentReference::CreateForExperts ( class ON_ModelComponent model_component,
bool  bManagedComponentReference 
)
static
Parameters
model_component[in]
bManagedComponentReference[in] true model_component will be deleted by the last ON_ModelComponentReference and must have been created by call to operator new() with heap allocation. false model_component must remain in scope until the last ON_ModelComponentReference is destroyed.

The input pointer will be managed and deleted by the returned by ON_ModelComponentReference.

◆ Dump()

void ON_ModelComponentReference::Dump ( ON_TextLog text_log) const

◆ IsEmpty()

bool ON_ModelComponentReference::IsEmpty ( ) const

◆ ModelComponent()

const class ON_ModelComponent* ON_ModelComponentReference::ModelComponent ( ) const

◆ ModelComponentId()

const ON_UUID ON_ModelComponentReference::ModelComponentId ( ) const

◆ ModelComponentIndex()

int ON_ModelComponentReference::ModelComponentIndex ( ) const

◆ ModelComponentNameHash()

const ON_NameHash ON_ModelComponentReference::ModelComponentNameHash ( ) const

◆ ModelComponentRuntimeSerialNumber()

ON__UINT64 ON_ModelComponentReference::ModelComponentRuntimeSerialNumber ( ) const

◆ operator=() [1/2]

ON_ModelComponentReference& ON_ModelComponentReference::operator= ( const ON_ModelComponentReference )

◆ operator=() [2/2]

ON_ModelComponentReference& ON_ModelComponentReference::operator= ( std::shared_ptr< ON_ModelComponent > &  sp)

◆ ReferenceCount()

unsigned int ON_ModelComponentReference::ReferenceCount ( ) const

Member Data Documentation

◆ Empty

const ON_ModelComponentReference ON_ModelComponentReference::Empty
static