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

#include <opennurbs_subd.h>

Public Member Functions

 ON_SubDEdgeIterator ()=default
 
 ON_SubDEdgeIterator (const class ON_SubD &subd)
 
 ON_SubDEdgeIterator (const class ON_SubD &subd, const class ON_SubDEdge &edge)
 Construct and iterator that iterates over a single edge. More...
 
 ON_SubDEdgeIterator (const class ON_SubD &subd, const class ON_SubDFace &face)
 Construct and iterator that iterates over the edges of a face. More...
 
 ON_SubDEdgeIterator (const class ON_SubD &subd, const class ON_SubDVertex &vertex)
 Construct and iterator that iterates over the edges of a vertex. More...
 
 ON_SubDEdgeIterator (const class ON_SubD &subd, unsigned level_index)
 An expert tool to iteratate over existing edges on a specified level. More...
 
 ON_SubDEdgeIterator (const class ON_SubDRef &subd_ref)
 
 ON_SubDEdgeIterator (const class ON_SubDRef &subd_ref, const class ON_SubDEdge &edge)
 Construct and iterator that iterates over a single edge. More...
 
 ON_SubDEdgeIterator (const class ON_SubDRef &subd_ref, const class ON_SubDFace &face)
 Construct and iterator that iterates over the edges of a face. More...
 
 ON_SubDEdgeIterator (const class ON_SubDRef &subd_ref, const class ON_SubDVertex &vertex)
 Construct and iterator that iterates over the edges of a vertex. More...
 
 ON_SubDEdgeIterator (const ON_SubDEdgeIterator &)=default
 
ON_SubDComponentPtr BaseComponentPtr () const
 
ON_SubDFaceBaseFace () const
 
ON_SubDVertexBaseVertex () const
 
const class ON_SubDEdgeCurrentEdge () const
 
unsigned int CurrentEdgeIndex () const
 
unsigned int EdgeCount () const
 
const class ON_SubDEdgeFirstEdge ()
 
const class ON_SubDEdgeLastEdge ()
 
const class ON_SubDEdgeNextEdge ()
 
const class ON_SubDEdgeoperator++ ()
 
const class ON_SubDEdgeoperator++ (int)
 
ON_SubDEdgeIteratoroperator= (const ON_SubDEdgeIterator &)=default
 
const class ON_SubDSubD () const
 
const class ON_SubDRefSubDRef () const
 

Detailed Description

ON_SubDEdgeIterator

Constructor & Destructor Documentation

◆ ON_SubDEdgeIterator() [1/11]

ON_SubDEdgeIterator::ON_SubDEdgeIterator ( const class ON_SubD subd)

The best way to get an ON_SubDEdgeIterator is so use the ON_SubD member function ON_SubDEdgeIterator eit = subd.EdgeIterator();

◆ ON_SubDEdgeIterator() [2/11]

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

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

Parameters
subd
level_index

◆ ON_SubDEdgeIterator() [3/11]

ON_SubDEdgeIterator::ON_SubDEdgeIterator ( const class ON_SubDRef subd_ref)

The best way to get an ON_SubDEdgeIterator is so use the ON_SubD member function ON_SubDEdgeIterator eit = subd.EdgeIterator();

◆ ON_SubDEdgeIterator() [4/11]

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

Construct and iterator that iterates over a single edge.

◆ ON_SubDEdgeIterator() [5/11]

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

Construct and iterator that iterates over a single edge.

◆ ON_SubDEdgeIterator() [6/11]

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

Construct and iterator that iterates over the edges of a vertex.

◆ ON_SubDEdgeIterator() [7/11]

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

Construct and iterator that iterates over the edges of a vertex.

◆ ON_SubDEdgeIterator() [8/11]

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

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

◆ ON_SubDEdgeIterator() [9/11]

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

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

◆ ON_SubDEdgeIterator() [10/11]

ON_SubDEdgeIterator::ON_SubDEdgeIterator ( )
default

◆ ON_SubDEdgeIterator() [11/11]

ON_SubDEdgeIterator::ON_SubDEdgeIterator ( const ON_SubDEdgeIterator )
default

Member Function Documentation

◆ BaseComponentPtr()

ON_SubDComponentPtr ON_SubDEdgeIterator::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.

◆ BaseFace()

ON_SubDFace* ON_SubDEdgeIterator::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.

◆ BaseVertex()

ON_SubDVertex* ON_SubDEdgeIterator::BaseVertex ( ) const
inline

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

◆ CurrentEdge()

const class ON_SubDEdge* ON_SubDEdgeIterator::CurrentEdge ( ) const
inline

Returns: Current edge;

◆ CurrentEdgeIndex()

unsigned int ON_SubDEdgeIterator::CurrentEdgeIndex ( ) const
inline

Return: Iterator index of the current edge.

◆ EdgeCount()

unsigned int ON_SubDEdgeIterator::EdgeCount ( ) const
inline

Return: Number of edges this iterator will iterate through.

◆ FirstEdge()

const class ON_SubDEdge* ON_SubDEdgeIterator::FirstEdge ( )
inline

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

◆ LastEdge()

const class ON_SubDEdge* ON_SubDEdgeIterator::LastEdge ( )
inline

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

◆ NextEdge()

const class ON_SubDEdge* ON_SubDEdgeIterator::NextEdge ( )
inline

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

◆ operator++() [1/2]

const class ON_SubDEdge* ON_SubDEdgeIterator::operator++ ( )
inline

Description: Prefix increment the iterator. Returns: Next edge. Remarks: operator++(void) and NextEdge() 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_SubDEdge* ON_SubDEdgeIterator::operator++ ( int  )
inline

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

◆ operator=()

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

◆ SubD()

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

Returns: The subD object for this iterator.

◆ SubDRef()

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