Developer Documentation
Loading...
Searching...
No Matches
PluginFunctions::ObjectIterator Class Reference

Core Data Iterator. More...

#include <OpenFlipper/BasePlugin/PluginFunctions.hh>

Public Types

typedef BaseObjectData value_type
 type of the Objects the iterator works on
 
typedef BaseObjectDatavalue_handle
 handle type (just an int)
 
typedef value_typereference
 reference type
 
typedef value_typepointer
 basic pointer type
 

Public Member Functions

 ObjectIterator (const IteratorRestriction &_restriction=ALL_OBJECTS, DataType _dataType=DATA_ALL)
 Use this constructor for iterating through your data.
 
 ObjectIterator (BaseObjectData *pos, const IteratorRestriction &_restriction=ALL_OBJECTS, DataType _dataType=DATA_ALL)
 additional constructor starting at a given position
 
 ObjectIterator (const ObjectIterator &)=default
 
 operator value_handle ()
 return the current position of the iterator
 
bool operator== (const ObjectIterator &_rhs) const
 compare iterators
 
bool operator!= (const ObjectIterator &_rhs) const
 compare iterators
 
ObjectIteratoroperator= (const ObjectIterator &)=default
 assign iterators
 
pointer operator-> ()
 dereference
 
ObjectIteratoroperator++ ()
 next element
 
ObjectIteratoroperator-- ()
 last element
 
BaseObjectDataoperator* ()
 dereference the iterator
 
BaseObjectDataindex ()
 return current position of the iterator
 

Private Member Functions

void proceedToNextBaseObjectData (BaseObject *&_object)
 

Private Attributes

BaseObjectDatapos_
 current position of the iterator
 
DataType dataType_
 returned data types of the iterator
 
IteratorRestriction restriction_
 Restriction of the iterator.
 

Detailed Description

Core Data Iterator.

This is the core iterator for the whole framework. You should use this iterator to access your data.
You can choose if the iterator returns only Target, Source or all objects.
Additionally you can set the type of objects returned by the iterator. The ObjectIterator will only return real Objects. Groups are not considered to be objects

Definition at line 454 of file PluginFunctions.hh.

Member Typedef Documentation

◆ pointer

basic pointer type

Definition at line 468 of file PluginFunctions.hh.

◆ reference

reference type

Definition at line 465 of file PluginFunctions.hh.

◆ value_handle

handle type (just an int)

Definition at line 462 of file PluginFunctions.hh.

◆ value_type

type of the Objects the iterator works on

Definition at line 459 of file PluginFunctions.hh.

Constructor & Destructor Documentation

◆ ObjectIterator() [1/2]

PluginFunctions::ObjectIterator::ObjectIterator ( const IteratorRestriction _restriction = ALL_OBJECTS,
DataType  _dataType = DATA_ALL 
)

Use this constructor for iterating through your data.

Parameters
_restrictionUse this parameter to define which objects will be returned.
You can select between ALL_OBJECTS , TARGET_OBJECTS , SOURCE_OBJECTS.
_dataTypeUse this parameter to select the returned object types. You can use DATA_ALL DATA_POLY_MESH DATA_TRIANGLE_MESH DATA_VOLUME

Definition at line 56 of file PluginFunctionsIterator.cc.

◆ ObjectIterator() [2/2]

PluginFunctions::ObjectIterator::ObjectIterator ( BaseObjectData pos,
const IteratorRestriction _restriction = ALL_OBJECTS,
DataType  _dataType = DATA_ALL 
)

additional constructor starting at a given position

Definition at line 96 of file PluginFunctionsIterator.cc.

Member Function Documentation

◆ index()

BaseObjectData * PluginFunctions::ObjectIterator::index ( )
inline

return current position of the iterator

Definition at line 509 of file PluginFunctions.hh.

◆ operator value_handle()

PluginFunctions::ObjectIterator::operator value_handle ( )
inline

return the current position of the iterator

Definition at line 485 of file PluginFunctions.hh.

◆ operator!=()

bool PluginFunctions::ObjectIterator::operator!= ( const ObjectIterator _rhs) const

compare iterators

Definition at line 108 of file PluginFunctionsIterator.cc.

◆ operator*()

BaseObjectData * PluginFunctions::ObjectIterator::operator* ( )

dereference the iterator

This operator returns a pointer to the current object the iterator points to.

Returns
Pointer to the current ObjectData

Definition at line 165 of file PluginFunctionsIterator.cc.

◆ operator++()

ObjectIterator & PluginFunctions::ObjectIterator::operator++ ( )

next element

Definition at line 117 of file PluginFunctionsIterator.cc.

◆ operator--()

ObjectIterator & PluginFunctions::ObjectIterator::operator-- ( )

last element

Definition at line 155 of file PluginFunctionsIterator.cc.

◆ operator->()

ObjectIterator::pointer PluginFunctions::ObjectIterator::operator-> ( )

dereference

Definition at line 113 of file PluginFunctionsIterator.cc.

◆ operator==()

bool PluginFunctions::ObjectIterator::operator== ( const ObjectIterator _rhs) const

compare iterators

Definition at line 104 of file PluginFunctionsIterator.cc.

◆ proceedToNextBaseObjectData()

void PluginFunctions::ObjectIterator::proceedToNextBaseObjectData ( BaseObject *&  _object)
inlineprivate

Takes an object and goes through the object tree to the next BaseObjectData It stops at the root node.

Definition at line 174 of file PluginFunctionsIterator.cc.

Member Data Documentation

◆ dataType_

DataType PluginFunctions::ObjectIterator::dataType_
private

returned data types of the iterator

Definition at line 516 of file PluginFunctions.hh.

◆ pos_

BaseObjectData* PluginFunctions::ObjectIterator::pos_
private

current position of the iterator

Definition at line 513 of file PluginFunctions.hh.

◆ restriction_

IteratorRestriction PluginFunctions::ObjectIterator::restriction_
private

Restriction of the iterator.

Definition at line 519 of file PluginFunctions.hh.


The documentation for this class was generated from the following files: