SculptPointPolysIterator Class Reference

#include <lib_sculptbrush.h>

Detailed Description

Iterates over all the polygons that are connected to a specified vertex.

if (itr)
// Iterate over all the polygons connected to vertex 0
for (itr->Init(pSculpt, 0); itr->IsValid(); itr->Next())
CPolygon poly = itr->GetPolygon();
BaseDocument * GetActiveDocument(void)
Definition: ge_autoptr.h:37
Definition: lib_sculpt.h:443
SculptObject * GetSelectedSculptObject(BaseDocument *doc, Bool includeHiddenObjects=false)
Represents a polygon that can be either a triangle or a quadrangle.
Definition: c4d_baseobject.h:44

Public Member Functions

Bool Init (const SculptObject *pObj, Int32 vertex)
void Next ()
Bool IsValid ()
CPolygon GetPolygon ()
Int32 GetIndex ()

Static Public Member Functions

static SculptPointPolysIteratorAlloc ()
static void Free (SculptPointPolysIterator *&itr)

Private Member Functions

 SculptPointPolysIterator ()
 ~SculptPointPolysIterator ()

Constructor & Destructor Documentation

◆ SculptPointPolysIterator()

◆ ~SculptPointPolysIterator()

Member Function Documentation

◆ Alloc()

static SculptPointPolysIterator* Alloc ( )

Allocates a SculptPointPolysIterator object. Destroy the allocated SculptPointPolysIterator object with Free(). Use AutoAlloc to automate the allocation and destruction based on scope.

The allocated SculptPointPolysIterator object, or nullptr if the allocation failed.

◆ Free()

static void Free ( SculptPointPolysIterator *&  itr)

Destructs SculptPointPolysIterator objects allocated with Alloc(). Use AutoAlloc to automate the allocation and destruction based on scope.

[in,out]itrThe SculptPointPolysIterator object to destruct. If the pointer is nullptr nothing happens. The pointer is assigned nullptr afterwards.

◆ Init()

Bool Init ( const SculptObject pObj,
Int32  vertex 

Initializes the SculptPointPolysIterator for the given SculptObject and vertex index.

[in]pObjThe SculptObject to iterate over the polygons for. The caller owns the pointed SculptObject.
[in]vertexThe vertex to check for connected polygons.
true if successful, otherwise false.

◆ Next()

void Next ( )

Moves to the next polygon that is connected to the vertex.

◆ IsValid()

Bool IsValid ( )

After calling Next() checks if the polygon is valid. If it is valid then call GetPolygon() and GetIndex().

true if the polygon is valid, otherwise false.

◆ GetPolygon()

CPolygon GetPolygon ( )

Gets the current CPolygon connected to the vertex that the iterator is pointing to.

The current CPolygon.

◆ GetIndex()

Int32 GetIndex ( )

Gets the index of the current polygon.

This is the index of the polygon in the PolygonObject at the SculptObject current subdivision level, which can be accessed calling BrushDabData::GetPolygonObject().
The index of the polygon.