#include <ComposableCameraEvaluationTree.h>

Inner node wrapper: wraps a transition that blends between a source (left) and target (right) subtree. Owns its child nodes via shared pointers.

Per-frame memoization (same rationale as LeafNodeWrapper): a snapshot DAG can traverse the same Inner node twice in one frame, and Transition->Evaluate decrements RemainingTime — so a naive re-entry would make the transition run at 2× speed. Cache the blended pose on first access and return it verbatim on every subsequent access in the same frame.

Public Attributes

Return Name Description
TObjectPtr< UComposableCameraTransitionBase > Transition
TSharedPtr< FComposableCameraEvaluationTreeNode > LeftNode
TSharedPtr< FComposableCameraEvaluationTreeNode > RightNode
uint64 LastEvaluatedFrameCounter GFrameCounter at the last time this node's Evaluate advanced the transition.
FComposableCameraPose CachedBlendedPose Blended pose from the last Evaluate at LastEvaluatedFrameCounter.

Transition

TObjectPtr< UComposableCameraTransitionBase > Transition { nullptr }

LeftNode

TSharedPtr< FComposableCameraEvaluationTreeNode > LeftNode

RightNode

TSharedPtr< FComposableCameraEvaluationTreeNode > RightNode

LastEvaluatedFrameCounter

uint64 LastEvaluatedFrameCounter { 0 }

GFrameCounter at the last time this node's Evaluate advanced the transition.


CachedBlendedPose

FComposableCameraPose CachedBlendedPose

Blended pose from the last Evaluate at LastEvaluatedFrameCounter.

Public Methods

Return Name Description
FComposableCameraPose Evaluate

Evaluate

FComposableCameraPose Evaluate(float DeltaTime)