Rhino C++ API  8.18
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Public Member Functions | List of all members
ON_SubDVertexIterator Class Reference

#include <opennurbs_subd.h>

Public Member Functions

 ON_SubDVertexIterator ()=default
 
 ON_SubDVertexIterator (const class ON_SubD &subd)
 
 ON_SubDVertexIterator (const class ON_SubD &subd, const class ON_SubDEdge &edge)
 Construct and iterator that iterates over the vertices of an edge. More...
 
 ON_SubDVertexIterator (const class ON_SubD &subd, const class ON_SubDFace &face)
 Construct and iterator that iterates over the vertices of a face. More...
 
 ON_SubDVertexIterator (const class ON_SubD &subd, const class ON_SubDVertex &vertex)
 Construct and iterator that iterates over a single vertex. More...
 
 ON_SubDVertexIterator (const class ON_SubD &subd, unsigned level_index)
 An expert tool to iteratate over existing vertices on a specified level. More...
 
 ON_SubDVertexIterator (const class ON_SubDRef &subd_ref)
 
 ON_SubDVertexIterator (const class ON_SubDRef &subd_ref, const class ON_SubDEdge &edge)
 Construct and iterator that iterates over the vertices of an edge. More...
 
 ON_SubDVertexIterator (const class ON_SubDRef &subd_ref, const class ON_SubDFace &face)
 Construct and iterator that iterates over the vertices of a face. More...
 
 ON_SubDVertexIterator (const class ON_SubDRef &subd_ref, const class ON_SubDVertex &vertex)
 Construct and iterator that iterates over a single vertex. More...
 
 ON_SubDVertexIterator (const ON_SubDVertexIterator &)=default
 
ON_SubDComponentPtr BaseComponentPtr () const
 
ON_SubDEdgeBaseEdge () const
 
ON_SubDFaceBaseFace () const
 
const class ON_SubDVertexCurrentVertex () const
 
unsigned int CurrentVertexIndex () const
 
const class ON_SubDVertexFirstVertex ()
 
const class ON_SubDVertexLastVertex ()
 
const class ON_SubDVertexNextVertex ()
 
const class ON_SubDVertexoperator++ ()
 
const class ON_SubDVertexoperator++ (int)
 
ON_SubDVertexIteratoroperator= (const ON_SubDVertexIterator &)=default
 
const class ON_SubDSubD () const
 
const class ON_SubDRefSubDRef () const
 
unsigned int VertexCount () const
 

Detailed Description

ON_SubDVertexIterator

Constructor & Destructor Documentation

◆ ON_SubDVertexIterator() [1/11]

ON_SubDVertexIterator::ON_SubDVertexIterator ( const class ON_SubD subd)

The best way to get an ON_SubDVertexIterator is so use the ON_SubD member function ON_SubDVertexIterator vit = subd.VertexIterator();

◆ ON_SubDVertexIterator() [2/11]

ON_SubDVertexIterator::ON_SubDVertexIterator ( const class ON_SubD subd,
unsigned  level_index 
)

An expert tool to iteratate over existing vertices on a specified level.

Parameters
subd
level_index

◆ ON_SubDVertexIterator() [3/11]

ON_SubDVertexIterator::ON_SubDVertexIterator ( const class ON_SubDRef subd_ref)

The best way to get an ON_SubDVertexIterator is so use the ON_SubD member function ON_SubDVertexIterator vit = subd.VertexIterator();

◆ ON_SubDVertexIterator() [4/11]

ON_SubDVertexIterator::ON_SubDVertexIterator ( const class ON_SubD subd,
const class ON_SubDVertex vertex 
)

Construct and iterator that iterates over a single vertex.

◆ ON_SubDVertexIterator() [5/11]

ON_SubDVertexIterator::ON_SubDVertexIterator ( const class ON_SubDRef subd_ref,
const class ON_SubDVertex vertex 
)

Construct and iterator that iterates over a single vertex.

◆ ON_SubDVertexIterator() [6/11]

ON_SubDVertexIterator::ON_SubDVertexIterator ( const class ON_SubD subd,
const class ON_SubDEdge edge 
)

Construct and iterator that iterates over the vertices of an edge.

◆ ON_SubDVertexIterator() [7/11]

ON_SubDVertexIterator::ON_SubDVertexIterator ( const class ON_SubDRef subd_ref,
const class ON_SubDEdge edge 
)

Construct and iterator that iterates over the vertices of an edge.

◆ ON_SubDVertexIterator() [8/11]

ON_SubDVertexIterator::ON_SubDVertexIterator ( const class ON_SubD subd,
const class ON_SubDFace face 
)

Construct and iterator that iterates over the vertices of a face.

◆ ON_SubDVertexIterator() [9/11]

ON_SubDVertexIterator::ON_SubDVertexIterator ( const class ON_SubDRef subd_ref,
const class ON_SubDFace face 
)

Construct and iterator that iterates over the vertices of a face.

◆ ON_SubDVertexIterator() [10/11]

ON_SubDVertexIterator::ON_SubDVertexIterator ( )
default

◆ ON_SubDVertexIterator() [11/11]

ON_SubDVertexIterator::ON_SubDVertexIterator ( const ON_SubDVertexIterator )
default

Member Function Documentation

◆ BaseComponentPtr()

ON_SubDComponentPtr ON_SubDVertexIterator::BaseComponentPtr ( ) const
inline

Description: Get the iterator's base component in which we are iterating, if it exists. Returns: m_component_ptr if it exists, or ON_SubDComponentPtr::Null.

◆ BaseEdge()

ON_SubDEdge* ON_SubDVertexIterator::BaseEdge ( ) const
inline

Description: Get the iterator's base edge in which we are iterating, if it exists. Returns: m_component_ptr.Edge() if it exists, or nullptr.

◆ BaseFace()

ON_SubDFace* ON_SubDVertexIterator::BaseFace ( ) const
inline

Description: Get the iterator's base edge in which we are iterating, if it exists. Returns: m_component_ptr.Face() if it exists, or nullptr.

◆ CurrentVertex()

const class ON_SubDVertex* ON_SubDVertexIterator::CurrentVertex ( ) const
inline

Returns: Current vertex;

◆ CurrentVertexIndex()

unsigned int ON_SubDVertexIterator::CurrentVertexIndex ( ) const
inline

Return: Iterator index of the current vertex.

◆ FirstVertex()

const class ON_SubDVertex* ON_SubDVertexIterator::FirstVertex ( )
inline

Description: Set the iterator to the beginning of the vertex list. Returns: First vertex in the list.

◆ LastVertex()

const class ON_SubDVertex* ON_SubDVertexIterator::LastVertex ( )
inline

Description: Set the iterator to the end of the vertex list. Returns: Last vertex in the list.

◆ NextVertex()

const class ON_SubDVertex* ON_SubDVertexIterator::NextVertex ( )
inline

Description: Pre-increment the iterator and return the new current vertex. Returns: Next vertex. Remarks: operator++(void) and NextVertex() behave the same. operator++(int) and NextVertex() behave differently.

◆ operator++() [1/2]

const class ON_SubDVertex* ON_SubDVertexIterator::operator++ ( )
inline

Description: Prefix increment the iterator. Returns: Next vertex. Remarks: operator++(void) and NextVertex() behave the same. In OpenNURBS 8.17 and earlier, this function was incorrectly implemented as a postfix increment (operator++(int)). This has been corrected in OpenNURBS 8.18. If you have a plugin compiled without inlining optimizations (e.g. in Debug mode), operator++(void) will be calling the version in opennurbs.dll distributed with Rhino that is used to run the plugin. If you have a plugin compiled with inlining optimizations (e.g. in Release mode), operator++(void) will behave like the version in opennurbs_subd.h distributed with the Rhino SDK that was used to compiled the plugin.

◆ operator++() [2/2]

const class ON_SubDVertex* ON_SubDVertexIterator::operator++ ( int  )
inline

Description: Postfix increment the iterator. Returns: Current vertex. Remarks: operator++(int) and NextVertex() behave differently.

◆ operator=()

ON_SubDVertexIterator& ON_SubDVertexIterator::operator= ( const ON_SubDVertexIterator )
default

◆ SubD()

const class ON_SubD& ON_SubDVertexIterator::SubD ( ) const
inline

Returns: The subD object for this iterator.

◆ SubDRef()

const class ON_SubDRef& ON_SubDVertexIterator::SubDRef ( ) const
inline

◆ VertexCount()

unsigned int ON_SubDVertexIterator::VertexCount ( ) const
inline

Return: Number of vertices this iterator will iterate through.