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() =default
TransformChainIterator() =default
Empty "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
) const
bool equals(
const Iterator & b
) const
function getSequence
Sequence * getSequence() const
Sequence * getSequence() const
Return: 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*() const
Ptr< Node > operator*() const
Get 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->() const
inline Ptr< Node > operator->() const
function transformInfo
inline const TransformInfo & transformInfo() const
inline const TransformInfo & transformInfo() const
Return the current transform metadata object carrying detailed information about the current transform.
function valid
bool valid() const
bool valid() const
Check 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 2025-05-31 at 12:55:31 +0000