Core::TransformChain::TransformChainIterator
Iterator for traversing the sequence / transform chain. More...
#include "Core/Nodes/Iterators.h"
Public Types
| Name | |
|---|---|
| using std::ptrdiff_t | difference_type |
| using std::forward_iterator_tag | iterator_category |
| using Ptr< Node > | pointer |
| using Ptr< Node > & | reference |
| using Ptr< Node > | value_type |
Public Functions
| Name | |
|---|---|
| TransformChainIterator() =default<br>Empty "past the end" iterator. | |
| TransformChainIterator(TransformChain * chain, const Ptr< Sequence > & sequence, const Ptr< Camera > & camera, const Ptr< Node > & node, bool mSkipEmptySequences, bool mIgnoreCamera, bool mSkipEmptyCamera) | |
| std::vector< Ptr< Node > > | collect() |
| std::vector< TransformInfo > | collectInfo() |
| std::pair< std::vector< Ptr< Node > >, std::vector< TransformInfo > > | collectWithInfo() |
| bool | equals(const Iterator & b) const |
| Sequence * | getSequence() const |
| void | next()<br>Advance the iterator. |
| Ptr< Node > | operator*() const<br>Get current matrix, can be a transformation or the sequence itself. |
| Iterator & | operator++() |
| Iterator | operator++(int ) |
| Ptr< Node > | operator->() const |
| const TransformInfo & | transformInfo() const<br>Return the current transform metadata object carrying detailed information about the current transform. |
| bool | valid() const<br>Check whether the iterator is pointing at a valid element (eg. not the end of a container) |
Public Attributes
| Name | |
|---|---|
| bool | m_ignoreCamera |
| bool | m_skipEmptyCamera |
| bool | m_skipEmptySequences |
Friends
| Name | |
|---|---|
| class | TransformChain |
Detailed Description
class Core::TransformChain::TransformChainIterator;class Core::TransformChain::TransformChainIterator;Iterator for traversing the sequence / transform chain.
Advances from a leaf to root (from "right" to "left"), optionally including empty sequences and camera sequences.
Public Types Documentation
using difference_type
using Core::TransformChain::TransformChainIterator::difference_type = std::ptrdiff_t;using Core::TransformChain::TransformChainIterator::difference_type = std::ptrdiff_t;using iterator_category
using Core::TransformChain::TransformChainIterator::iterator_category = std::forward_iterator_tag;using Core::TransformChain::TransformChainIterator::iterator_category = std::forward_iterator_tag;using pointer
using Core::TransformChain::TransformChainIterator::pointer = Ptr<Node>;using Core::TransformChain::TransformChainIterator::pointer = Ptr<Node>;using reference
using Core::TransformChain::TransformChainIterator::reference = Ptr<Node>&;using Core::TransformChain::TransformChainIterator::reference = Ptr<Node>&;using value_type
using Core::TransformChain::TransformChainIterator::value_type = Ptr<Node>;using Core::TransformChain::TransformChainIterator::value_type = Ptr<Node>;Public Functions Documentation
function TransformChainIterator
TransformChainIterator() =defaultTransformChainIterator() =defaultEmpty "past the end" iterator.
function TransformChainIterator
TransformChainIterator(
TransformChain * chain,
const Ptr< Sequence > & sequence,
const Ptr< Camera > & camera,
const Ptr< Node > & node,
bool mSkipEmptySequences,
bool mIgnoreCamera,
bool mSkipEmptyCamera
)TransformChainIterator(
TransformChain * chain,
const Ptr< Sequence > & sequence,
const Ptr< Camera > & camera,
const Ptr< Node > & node,
bool mSkipEmptySequences,
bool mIgnoreCamera,
bool mSkipEmptyCamera
)function collect
std::vector< Ptr< Node > > collect()std::vector< Ptr< Node > > collect()Return: Non-owned pointer to the all matrices from start to the root, note that Ptr<Node> may points to operator with matrix output, not only to transformation.
function collectInfo
std::vector< TransformInfo > collectInfo()std::vector< TransformInfo > collectInfo()function collectWithInfo
std::pair< std::vector< Ptr< Node > >, std::vector< TransformInfo > > collectWithInfo()std::pair< std::vector< Ptr< Node > >, std::vector< TransformInfo > > collectWithInfo()function equals
bool equals(
const Iterator & b
) constbool equals(
const Iterator & b
) constfunction getSequence
Sequence * getSequence() constSequence * getSequence() constReturn: Non-owned pointer to the current sequence. Never null.
function next
void next()void next()Advance the iterator.
Move to the next matrix (to the root). Eg. advancing "right to left"
function operator*
Ptr< Node > operator*() constPtr< Node > operator*() constGet current matrix, can be a transformation or the sequence itself.
Note: You have to extract data from the node by yourself.
function operator++
inline Iterator & operator++()inline Iterator & operator++()function operator++
inline Iterator operator++(
int
)inline Iterator operator++(
int
)function operator->
inline Ptr< Node > operator->() constinline Ptr< Node > operator->() constfunction transformInfo
inline const TransformInfo & transformInfo() constinline const TransformInfo & transformInfo() constReturn the current transform metadata object carrying detailed information about the current transform.
function valid
bool valid() constbool valid() constCheck whether the iterator is pointing at a valid element (eg. not the end of a container)
Public Attributes Documentation
variable m_ignoreCamera
bool m_ignoreCamera = true;bool m_ignoreCamera = true;variable m_skipEmptyCamera
bool m_skipEmptyCamera = true;bool m_skipEmptyCamera = true;variable m_skipEmptySequences
bool m_skipEmptySequences = true;bool m_skipEmptySequences = true;Friends
friend TransformChain
friend class TransformChain(
TransformChain
);friend class TransformChain(
TransformChain
);Updated on 2026-05-21 at 15:39:36 +0000