#include <BV_LeafIterator.h>

Public Member Functions | |
| BV_LeafIterator () | |
| virtual | ~BV_LeafIterator () |
| void | advance () |
| Advance iterator to next leaf. | |
| void | jump (int leafId) |
| Random access: jump to given leaf id. | |
| bool | atEnd () const |
| void | rewind () |
| Reset to first leaf. | |
| int | getLeafId () const |
| Get id of current leaf. | |
| UT_Vector3 | calcBarycenter () const |
| Get barycenter of current leaf. | |
| bool | isDisabled () const |
| Test if the current leaf is disabled. | |
| void | advanceVertex () |
| Get number of vertices bounding current leaf. | |
| bool | atEndVertex () const |
| void | rewindVertex () |
| UT_Vector4 | getVertex () const |
| Get given bounding vertex of current leaf. | |
| virtual fpreal | getVertexRadius () const |
| void | setSkipDupVerts (bool flag) |
| bool | getSkipDupVerts () const |
Protected Member Functions | |
| virtual void | advanceSubclass ()=0 |
| virtual void | jumpSubclass (int leafId)=0 |
| virtual bool | atEndSubclass () const =0 |
| virtual void | rewindSubclass ()=0 |
| virtual int | getLeafIdSubclass () const =0 |
| virtual UT_Vector3 | calcBarycenterSubclass () const =0 |
| virtual bool | isDisabledSubclass () const |
| virtual void | advanceVertexSubclass ()=0 |
| virtual bool | atEndVertexSubclass () const =0 |
| virtual void | rewindVertexSubclass ()=0 |
| virtual UT_Vector4 | getVertexSubclass () const =0 |
| virtual void | setSkipDupVertsSubclass (bool flag)=0 |
Optionally, the iterator may be able to skip duplicate vertices - i.e., if leaves in the set share vertices.
Definition at line 33 of file BV_LeafIterator.h.
| BV_LeafIterator::BV_LeafIterator | ( | ) |
| virtual BV_LeafIterator::~BV_LeafIterator | ( | ) | [virtual] |
| void BV_LeafIterator::advance | ( | ) | [inline] |
| virtual void BV_LeafIterator::advanceSubclass | ( | ) | [protected, pure virtual] |
Implemented in GU_BVLeafIterator, and SIM_BVLeafIterator.
| void BV_LeafIterator::advanceVertex | ( | ) | [inline] |
| virtual void BV_LeafIterator::advanceVertexSubclass | ( | ) | [protected, pure virtual] |
Implemented in GU_BVLeafIterator, and SIM_BVLeafIterator.
| bool BV_LeafIterator::atEnd | ( | ) | const [inline] |
Test to see if we've passed the last leaf. Note: returns false on the last leaf, and true if we've advanced past* the last leaf.
Definition at line 48 of file BV_LeafIterator.h.
| virtual bool BV_LeafIterator::atEndSubclass | ( | ) | const [protected, pure virtual] |
Implemented in GU_BVLeafIterator, and SIM_BVLeafIterator.
| bool BV_LeafIterator::atEndVertex | ( | ) | const [inline] |
Definition at line 70 of file BV_LeafIterator.h.
| virtual bool BV_LeafIterator::atEndVertexSubclass | ( | ) | const [protected, pure virtual] |
Implemented in GU_BVLeafIterator, and SIM_BVLeafIterator.
| UT_Vector3 BV_LeafIterator::calcBarycenter | ( | ) | const [inline] |
| virtual UT_Vector3 BV_LeafIterator::calcBarycenterSubclass | ( | ) | const [protected, pure virtual] |
Implemented in GU_BVLeafIterator, and SIM_BVLeafIterator.
| int BV_LeafIterator::getLeafId | ( | ) | const [inline] |
| virtual int BV_LeafIterator::getLeafIdSubclass | ( | ) | const [protected, pure virtual] |
Implemented in GU_BVLeafIterator, and SIM_BVLeafIterator.
| bool BV_LeafIterator::getSkipDupVerts | ( | ) | const [inline] |
Definition at line 87 of file BV_LeafIterator.h.
| UT_Vector4 BV_LeafIterator::getVertex | ( | ) | const [inline] |
| virtual fpreal BV_LeafIterator::getVertexRadius | ( | ) | const [inline, virtual] |
Gets radius to expand each vertex for calculation of the bounding volume.
Definition at line 79 of file BV_LeafIterator.h.
| virtual UT_Vector4 BV_LeafIterator::getVertexSubclass | ( | ) | const [protected, pure virtual] |
Implemented in GU_BVLeafIterator, and SIM_BVLeafIterator.
| bool BV_LeafIterator::isDisabled | ( | ) | const [inline] |
| virtual bool BV_LeafIterator::isDisabledSubclass | ( | ) | const [protected, virtual] |
| void BV_LeafIterator::jump | ( | int | leafId | ) | [inline] |
| virtual void BV_LeafIterator::jumpSubclass | ( | int | leafId | ) | [protected, pure virtual] |
Implemented in GU_BVLeafIterator, and SIM_BVLeafIterator.
| void BV_LeafIterator::rewind | ( | ) | [inline] |
| virtual void BV_LeafIterator::rewindSubclass | ( | ) | [protected, pure virtual] |
Implemented in GU_BVLeafIterator, and SIM_BVLeafIterator.
| void BV_LeafIterator::rewindVertex | ( | ) | [inline] |
Definition at line 72 of file BV_LeafIterator.h.
| virtual void BV_LeafIterator::rewindVertexSubclass | ( | ) | [protected, pure virtual] |
Implemented in GU_BVLeafIterator, and SIM_BVLeafIterator.
| void BV_LeafIterator::setSkipDupVerts | ( | bool | flag | ) | [inline] |
Flag: hint to skip duplicate points when iterating over vertices of leaves. TODO: this is obsolete and possibly broken; it's also dangerous when combined with a non-zero vertex radius. Remove it.
Definition at line 85 of file BV_LeafIterator.h.
| virtual void BV_LeafIterator::setSkipDupVertsSubclass | ( | bool | flag | ) | [protected, pure virtual] |
Implemented in GU_BVLeafIterator, and SIM_BVLeafIterator.
1.5.9