Skip to content

Core::TrackedNodeData

Tracking data for individual nodes involved in a tracking operation. More...

#include "Core/Nodes/Tracking.h"

Public Functions

Name
TrackedNodeData(MatrixTracker * tracker)
intgetChildCount() const<br>Returns the number of children, what children are and if there are any depends on the particular node type.
boolisSequenceTransform() const<br>Whether this node is both a sequence and a transform (eg. we're using the sequence data as transform)

Public Attributes

Name
boolactive <br>Whether this node is part of the final tracked interpolated matrix.
boolchain <br>Whether this node forms the top level of the tracked chain.
intchildrenIdxEnd <br>Index of the last contained sequence, transform or matrix.
intchildrenIdxStart <br>Index of the first contained sequence, transform or matrix.
boolinterpolating <br>Whether the "tracking cursor" is within this node.
boolisInCamera
intmIndex <br>Matrix index within the chain, a transform node can represent multiple matrices.
UPtr< TrackedModelData >modelData <br>Extra model data held for models.
boolmodelSubtree <br>Whether this node is part of the begin sequence subtree.
floatprogress <br>Progress within this node.
IDseqID <br>Sequence node id.
intseqIndex <br>Sequence index within the chain, -1 in model subtree. Valid for sequences and transforms.
TransformSpacespace <br>What stage along the PVM matrix chain this transform represents.
IDtID <br>Transform node id.
inttIndex <br>Transform index within the chain, >= 0 indicates transform, a sequence CAN be a transform.
MatrixTracker *tracker

Friends

Name
classMatrixTracker

Detailed Description

cpp
struct Core::TrackedNodeData;
struct Core::TrackedNodeData;

Tracking data for individual nodes involved in a tracking operation.

Instances are held and managed by a MatrixTracker, and referenced by Core nodes when they are tracked. The struct contains common AND specific data for tracked Transforms, Sequences, Cameras and Models.

Public Functions Documentation

function TrackedNodeData

cpp
inline explicit TrackedNodeData(
    MatrixTracker * tracker
)
inline explicit TrackedNodeData(
    MatrixTracker * tracker
)

function getChildCount

cpp
int getChildCount() const
int getChildCount() const

Returns the number of children, what children are and if there are any depends on the particular node type.

Cameras contain sequences, sequences contain transforms, transforms contain tracked matrix objects.

function isSequenceTransform

cpp
bool isSequenceTransform() const
bool isSequenceTransform() const

Whether this node is both a sequence and a transform (eg. we're using the sequence data as transform)

Public Attributes Documentation

variable active

cpp
bool active = false;
bool active = false;

Whether this node is part of the final tracked interpolated matrix.

variable chain

cpp
bool chain = false;
bool chain = false;

Whether this node forms the top level of the tracked chain.

variable childrenIdxEnd

cpp
int childrenIdxEnd = -1;
int childrenIdxEnd = -1;

Index of the last contained sequence, transform or matrix.

See: childrenIdxStart

variable childrenIdxStart

cpp
int childrenIdxStart = -1;
int childrenIdxStart = -1;

Index of the first contained sequence, transform or matrix.

Cameras contain sequences. Sequences contain transforms, however, a sequence itself can BE a transform, in which case it holds indices of matrices, not transforms. The isSequenceTransform() can be used to check for such sequences, a sequence acts as a transform when it has external data plugged into it.

variable interpolating

cpp
bool interpolating = false;
bool interpolating = false;

Whether the "tracking cursor" is within this node.

variable isInCamera

cpp
bool isInCamera = false;
bool isInCamera = false;

variable mIndex

cpp
int mIndex = -1;
int mIndex = -1;

Matrix index within the chain, a transform node can represent multiple matrices.

variable modelData

cpp
UPtr< TrackedModelData > modelData = nullptr;
UPtr< TrackedModelData > modelData = nullptr;

Extra model data held for models.

variable modelSubtree

cpp
bool modelSubtree = false;
bool modelSubtree = false;

Whether this node is part of the begin sequence subtree.

Meaning it connects to a tracked model but itself is NOT being tracked.

variable progress

cpp
float progress {0.f};
float progress {0.f};

Progress within this node.

variable seqID

cpp
ID seqID {NIL_ID};
ID seqID {NIL_ID};

Sequence node id.

variable seqIndex

cpp
int seqIndex = -1;
int seqIndex = -1;

Sequence index within the chain, -1 in model subtree. Valid for sequences and transforms.

variable space

cpp
TransformSpace space {TransformSpace::Model};
TransformSpace space {TransformSpace::Model};

What stage along the PVM matrix chain this transform represents.

variable tID

cpp
ID tID {NIL_ID};
ID tID {NIL_ID};

Transform node id.

variable tIndex

cpp
int tIndex = -1;
int tIndex = -1;

Transform index within the chain, >= 0 indicates transform, a sequence CAN be a transform.

variable tracker

cpp
MatrixTracker * tracker;
MatrixTracker * tracker;

Friends

friend MatrixTracker

cpp
friend class MatrixTracker(
    MatrixTracker 
);
friend class MatrixTracker(
    MatrixTracker 
);

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