Skip to content

Core::TransformChain

Iterable object representing a single chain of connected sequence nodes and their transform contents. More...

#include "Core/Nodes/Iterators.h"

Public Classes

Name
classTransformChainIterator <br>Iterator for traversing the sequence / transform chain.

Public Functions

Name
TransformChain(const Ptr< Sequence > & sequence, const Ptr< Camera > & camera =nullptr)<br>Constructs a transform chain beginning at the specified sequence, ending at the scene graph root.
TransformChainIteratorbegin()
TransformChainIteratorend()
TransformChain &ignoreCamera(bool val =true)
TransformChain &skipEmptyCamera(bool val =true)
TransformChain &skipEmptySequences(bool val =true)

Detailed Description

cpp
class Core::TransformChain;
class Core::TransformChain;

Iterable object representing a single chain of connected sequence nodes and their transform contents.

Note: Previously, the iterator returned the node connected to the sequence matrix input, rather than the sequence.

Iterates over individual transformations, contained within a sequence. The iterator returns the sequence itself when it is plugged in externally using a matrix input.

Public Functions Documentation

function TransformChain

cpp
explicit TransformChain(
    const Ptr< Sequence > & sequence,
    const Ptr< Camera > & camera =nullptr
)
explicit TransformChain(
    const Ptr< Sequence > & sequence,
    const Ptr< Camera > & camera =nullptr
)

Constructs a transform chain beginning at the specified sequence, ending at the scene graph root.

Parameters:

  • sequence The begin/starting sequence. The chain will begin at the last (right-most) transformation.
  • camera The enclosing camera if the begin sequence is contained in one.

Note: Further regarding skipping empty sequences and/or camera can be enabled using dedicated methods after construction.

The scene graph root can be the last connected sequence or a sequence within a connected camera. The starting sequence can itself be within a camera, but an enclosing camera must be specified.

function begin

cpp
TransformChainIterator begin()
TransformChainIterator begin()

Return: Iterator which points to starting sequence and its last matrix.

function end

cpp
TransformChainIterator end()
TransformChainIterator end()

Return: Points to the root sequence and matrix is nullptr, so it is not possible to decrement or dereference it (as any other STL iterator).

function ignoreCamera

cpp
inline TransformChain & ignoreCamera(
    bool val =true
)
inline TransformChain & ignoreCamera(
    bool val =true
)

function skipEmptyCamera

cpp
inline TransformChain & skipEmptyCamera(
    bool val =true
)
inline TransformChain & skipEmptyCamera(
    bool val =true
)

function skipEmptySequences

cpp
inline TransformChain & skipEmptySequences(
    bool val =true
)
inline TransformChain & skipEmptySequences(
    bool val =true
)

Updated on 2025-05-31 at 12:55:31 +0000