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

#include <opennurbs_subd.h>

Public Member Functions

 ON_SubDRef () ON_NOEXCEPT
 
 ON_SubDRef (const ON_SubDRef &src) ON_NOEXCEPT
 
 ~ON_SubDRef ()
 
void Clear ()
 
class ON_SubDCopySubD (const ON_SubD &src)
 
class ON_SubDCopySubD (const ON_SubDRef &src)
 
class ON_SubDEdgeIterator EdgeIterator () const
 
class ON_SubDFaceIterator FaceIterator () const
 
class ON_SubDNewSubD ()
 
ON_SubDRefoperator= (const ON_SubDRef &src)
 
unsigned int ReferenceCount () const
 
class ON_SubDSetSubDForExperts (class ON_SubD *&subd)
 
const class ON_SubDSubD () const
 
class ON_SubDUniqueSubD ()
 
class ON_SubDVertexIterator VertexIterator () const
 

Static Public Member Functions

static ON_SubDRef CreateReferenceForExperts (const ON_SubD &subd)
 

Static Public Attributes

static const ON_SubDRef Empty
 

Detailed Description

ON_SubDRef

Constructor & Destructor Documentation

◆ ON_SubDRef() [1/2]

ON_SubDRef::ON_SubDRef ( )

◆ ~ON_SubDRef()

ON_SubDRef::~ON_SubDRef ( )

◆ ON_SubDRef() [2/2]

ON_SubDRef::ON_SubDRef ( const ON_SubDRef src)

Member Function Documentation

◆ Clear()

void ON_SubDRef::Clear ( )

Description: Remove this reference to the managed ON_SubD. If this is the last reference, then the managed ON_SubD is deleted.

◆ CopySubD() [1/2]

class ON_SubD& ON_SubDRef::CopySubD ( const ON_SubD src)

Description: Allocates a new ON_SubD and has this ON_SubDRef reference it. Parameters: src - [in] The new ON_SubD managed by this ON_SubDRef will be a copy of src. Returns: A reference to the new ON_SubD managed by this ON_SubDRef.

◆ CopySubD() [2/2]

class ON_SubD& ON_SubDRef::CopySubD ( const ON_SubDRef src)

Description: Allocates a new ON_SubD and has this ON_SubDRef reference it. Parameters: src - [in] The new ON_SubD managed by this ON_SubDRef will be a copy of src.SubD(). Returns: A reference to the new ON_SubD managed by this ON_SubDRef.

◆ CreateReferenceForExperts()

static ON_SubDRef ON_SubDRef::CreateReferenceForExperts ( const ON_SubD subd)
static

Description: Expert user function to have this ON_SubDRef reference the contents of an existing ON_SubD. Do not use if user data on the referenced subd needs to be accessed. Parameters: subd - [in] Any subd on the heap or the stack. Returns: true if successful.

◆ EdgeIterator()

class ON_SubDEdgeIterator ON_SubDRef::EdgeIterator ( ) const

◆ FaceIterator()

class ON_SubDFaceIterator ON_SubDRef::FaceIterator ( ) const

◆ NewSubD()

class ON_SubD& ON_SubDRef::NewSubD ( )

Description: Allocates a new empty ON_SubD and has this ON_SubDRef reference it.

◆ operator=()

ON_SubDRef& ON_SubDRef::operator= ( const ON_SubDRef src)

◆ ReferenceCount()

unsigned int ON_SubDRef::ReferenceCount ( ) const

Returns: Number of references to the managed ON_SubD, including the one by this ON_SubDRef.

◆ SetSubDForExperts()

class ON_SubD* ON_SubDRef::SetSubDForExperts ( class ON_SubD *&  subd)

Description: Expert user function to have this ON_SubDRef manage the lifetime of subd. Parameters: subd - [in/out] subd must point to an ON_SubD that was constructed on the heap using an operator new call with a public ON_SubD constructor. Returns: a pointer to the managed subd or nullptr subd if not valid. Example: ON_SubD* subd = new ON_SubD(...); ON_SubDRef subr; ON_SubD* managed_subd = subdr.SetSubD(subd); / subd = nullptr / managed_subd = pointer you can use

◆ SubD()

const class ON_SubD& ON_SubDRef::SubD ( ) const

◆ UniqueSubD()

class ON_SubD& ON_SubDRef::UniqueSubD ( )

Description: If ReferenceCount() > 1, then have this ON_SubDRef reference a new copy. Otherwise do nothing. The result being that this will be the unique reference to the ON_SubD managed by this ON_SubDRef. Returns: A reference to the ON_SubD uniquely managed by this ON_SubDRef.

◆ VertexIterator()

class ON_SubDVertexIterator ON_SubDRef::VertexIterator ( ) const

Member Data Documentation

◆ Empty

const ON_SubDRef ON_SubDRef::Empty
static