![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <IAnimationDataController.h>
Static Public Member Functions | |
| template<typename FmtType , typename... Types> | |
| static void | ReportObjectWarningf (const UObject *ErrorObject, const FmtType &Fmt, Types... Args) |
| template<typename FmtType , typename... Types> | |
| static void | ReportObjectErrorf (const UObject *ErrorObject, const FmtType &Fmt, Types... Args) |
| template<typename FmtType , typename... Types> | |
| static void | Reportf (ELogVerbosity::Type LogVerbosity, const UObject *ErrorObject, const FmtType &Fmt, Types... Args) |
| static ENGINE_API void | ReportMessage (const UObject *ErrorObject, const FText &InMessage, ELogVerbosity::Type LogVerbosity) |
Protected Member Functions | |
| virtual void | NotifyBracketOpen ()=0 |
| virtual void | NotifyBracketClosed ()=0 |
| template<typename FmtType , typename... Types> | |
| void | ReportWarningf (const FmtType &Fmt, Types... Args) const |
| template<typename FmtType , typename... Types> | |
| void | ReportErrorf (const FmtType &Fmt, Types... Args) const |
| void | Report (ELogVerbosity::Type Verbosity, const FText &Message) const |
| template<typename FmtType , typename... Types> | |
| void | Reportf (ELogVerbosity::Type Verbosity, const FmtType &Fmt, Types... Args) const |
| void | ReportWarning (const FText &Message) const |
| void | ReportError (const FText &Message) const |
| void | ValidateModel () const |
| bool | CheckOuterClass (UClass *InClass) const |
Static Protected Member Functions | |
| static bool | IsSupportedCurveType (ERawCurveTrackTypes CurveType) |
| static FString | GetCurveTypeValueName (ERawCurveTrackTypes InType) |
Static Protected Attributes | |
| static constexpr int32 | DefaultCurveFlags = EAnimAssetCurveFlags::AACF_Editable |
Friends | |
| class | FAnimDataControllerTestBase |
|
pure virtual |
Adds a new attribute with the provided information. Broadcasts a EAnimDataModelNotifyType::AttributeAdded notify if successful.
| AttributeIdentifier | Identifier for the to-be-added attribute |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
|
inlinevirtual |
Adds a new bone animation track for the provided name. Broadcasts a EAnimDataModelNotifyType::TrackAdded notify if successful.
| BoneName | Bone name for which a track should be added |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Adds a new curve with the provided information. Broadcasts a EAnimDataModelNotifyType::CurveAdded notify if successful.
| CurveId | Identifier for the to-be-added curve |
| CurveFlags | Flags to be set for the curve |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
Verifies whether or not the Model's outer object is (or is derived from) the specified UClass
Closes a previously opened interaction bracket, used for combining a set of controller actions. Broadcasts a EAnimDataModelNotifyType::BracketClosed notify.
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
inline |
Returns the final frame number calculating according to the Model its frame-rate, additionally outputs log information for invalid/loss of precision
|
pure virtual |
Duplicated the attribute (curve) with the identifier. Broadcasts a EAnimDataModelNotifyType::AttributeAdded notify if successful.
| AttributeIdentifier | Identifier for the to-be-duplicated attribute |
| NewAttributeIdentifier | Identifier for the to-be-added attribute |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Duplicated the curve with the identifier. Broadcasts a EAnimDataModelNotifyType::CurveAdded notify if successful.
| CopyCurveId | Identifier for the to-be-duplicated curve |
| NewCurveId | Identifier for the to-be-added curve |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
inlinevirtual |
Updates the curve names with the provided skeleton, if a display name is not found it will be added thus modifying the skeleton. Broadcasts a EAnimDataModelNotifyType::CurveRenamed for each curve name for which the UID was different or if it was added as a new smart-name, wrapped within BracketOpened/BracketClosed notifies.
| Skeleton | Skeleton to retrieve the display name values from |
| SupportedCurveType | Curve type for which the names should be updated |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
inlinestaticprotected |
Returns the string representation of the provided curve enum type value
|
pure virtual |
|
pure virtual |
Initializes model data structures
|
pure virtual |
Inserts a new bone animation track for the provided name, at the provided index. Broadcasts a EAnimDataModelNotifyType::TrackAdded notify if successful. The bone name is verified with the AnimModel's outer target USkeleton to ensure the bone exists.
| BoneName | Bone name for which a track should be inserted |
| DesiredIndex | Index at which the track should be inserted |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
inlinestaticprotected |
Returns whether or not the supplied curve type is supported by the controller functionality
Functionality used by FOpenBracketAction and FCloseBracketAction to broadcast their equivalent notifies without actually opening a bracket.
Broadcast a EAnimDataModelNotifyType::Populated notify.
|
pure virtual |
Opens an interaction bracket, used for combining a set of controller actions. Broadcasts a EAnimDataModelNotifyType::BracketOpened notify, this can be used by any Views or dependent systems to halt any unnecessary or invalid operations until the (last) bracket is closed.
| InTitle | Description of the bracket, e.g. "Generating Curve Data" |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Copies any animation relevant data from an already existing IAnimationDataModel object
|
pure virtual |
Removes all stored attributes. Broadcasts a EAnimDataModelNotifyType::AttributeRemoved notify for each removed attribute.
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Removes all attributes for the specified bone name, if any. Broadcasts a EAnimDataModelNotifyType::AttributeRemoved notify for each removed attribute.
| BoneName | Name of the bone to remove attributes for |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Removes all existing Bone Animation tracks. Broadcasts a EAnimDataModelNotifyType::TrackRemoved for each removed track, wrapped within BracketOpened/BracketClosed notifies.
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Removes all the curves of the provided type. Broadcasts a EAnimDataModelNotifyType::CurveRemoved for each removed curve, wrapped within BracketOpened/BracketClosed notifies.
| SupportedCurveType | Type for which all curves are to be removed |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Removes an attribute, if found, with the provided information. Broadcasts a EAnimDataModelNotifyType::AttributeRemoved notify if successful.
| AttributeIdentifier | Identifier for the to-be-removed attribute |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Remove a single key from the attribute with provided identifier. Broadcasts a EAnimDataModelNotifyType::AttributeChanged notify if successful.
| AttributeIdentifier | Identifier for the attribute from which the key is to be removed |
| Time | Time of the key to be removed |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Removes an existing bone animation track with the provided name. Broadcasts a EAnimDataModelNotifyType::TrackRemoved notify if successful.
| BoneName | Bone name of the track which should be removed |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Removes any bone track for which the name was not found in the provided skeleton. Broadcasts a EAnimDataModelNotifyType::TrackRemoved for each track which was not found in the skeleton, wrapped within BracketOpened/BracketClosed notifies.
| Skeleton | Skeleton to retrieve the display name values from |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Remove the curve with provided identifier. Broadcasts a EAnimDataModelNotifyType::CurveRemoved notify if successful.
| CurveId | Identifier for the to-be-removed curve |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Remove a single key from the curve with provided identifier and name. Broadcasts a EAnimDataModelNotifyType::CurveChanged notify if successful.
| CurveId | Identifier for the curve for which the key is to be removed |
| Time | Time of the key to be removed |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Removes a single key for the transform curve with provided identifier. Broadcasts a EAnimDataModelNotifyType::CurveChanged notify if successful.
| CurveId | Identifier for the transform curve for which the key is to be removed |
| Time | Time of the key to be removed |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Renames the curve with provided identifier. Broadcasts a EAnimDataModelNotifyType::CurveRenamed notify if successful.
| CurveToRenameId | Identifier for the curve to be renamed |
| NewCurveId | Time of the key to be removed |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
inlineprotected |
|
inlineprotected |
|
inlinestatic |
|
inlineprotected |
|
static |
|
inlinestatic |
|
inlinestatic |
|
inlineprotected |
Resets all data stored in the model, broadcasts a EAnimDataModelNotifyType::Reset and wraps all actions within BracketOpened/BracketClosed notifies.
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
|
pure virtual |
Sets the total play-able length in seconds and resizes curves. Broadcasts EAnimDataModelNotifyType::SequenceLengthChanged and EAnimDataModelNotifyType::CurveChanged notifies if successful. T0 and T1 are expected to represent the window of time that was either added or removed. E.g. for insertion T0 indicates the time at which additional time starts and T1 were it ends. For removal T0 indicates the time at which time should be started to remove, and T1 indicates the end. Giving a total of T1 - T0 added or removed length. The number of frames and keys for the provided length is recalculated according to the current value of UAnimDataModel::FrameRate.
| NewLengthInFrames | Total new play-able number of frames value (according to frame rate), has to be positive and non-zero |
| T0 | Point between 0 and NewLengthInFrames at which the change in length starts |
| T1 | Point between 0 and NewLengthInFrames at which the change in length ends |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Scales the curve with provided identifier. Broadcasts a EAnimDataModelNotifyType::CurveScaled notify if successful.
| CurveId | Identifier of the curve to scale |
| Origin | Time to use as the origin when scaling the curve |
| Factor | Factor with which the curve is supposed to be scaled |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Sets a single key for the attribute with provided identifier. Broadcasts a EAnimDataModelNotifyType::AttributeChanged notify if successful. In case a key for the provided key time already exists the key is replaced.
| AttributeIdentifier | Identifier for the attribute for which the key is to be set |
| Time | Time of the to-be-set key |
| KeyValue | Value of the to-be-set key |
| TypeStruct | UScriptStruct describing the type of KeyValue |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Replace the keys for the attribute with provided identifier. Broadcasts a EAnimDataModelNotifyType::AttributeChanged notify if successful.
| AttributeIdentifier | Identifier for the attribute for which the keys are to be replaced |
| Times | Times with which the existing key timings are to be replaced |
| KeyValues | Values with which the existing key values are to be replaced |
| TypeStruct | UScriptStruct describing the type of KeyValues |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Removes an existing bone animation track with the provided name. Broadcasts a EAnimDataModelNotifyType::TrackChanged notify if successful. The provided number of keys provided is expected to match for each component, and be non-zero.
| BoneName | Bone name of the track for which the keys should be set |
| PositionalKeys | Array of keys for the translation component |
| RotationalKeys | Array of keys for the rotation component |
| ScalingKeys | Array of keys for the scale component |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Removes an existing bone animation track with the provided name. Broadcasts a EAnimDataModelNotifyType::TrackChanged notify if successful. The provided number of keys provided is expected to match for each component, and be non-zero.
| BoneName | Bone name of the track for which the keys should be set |
| PositionalKeys | Array of keys for the translation component |
| RotationalKeys | Array of keys for the rotation component |
| ScalingKeys | Array of keys for the scale component |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Changes the attributes of the curve with provided identifier. Broadcasts a EAnimDataModelNotifyType::CurveChanged notify if successful.
| CurveId | Identifier of the curve to change the color for |
| Attributes | Attribute values to be applied |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Changes the color of the curve with provided identifier. Broadcasts a EAnimDataModelNotifyType::CurveColorChanged notify if successful. Currently changing curve colors is only supported for float curves.
| CurveId | Identifier of the curve to change the color for |
| Color | Color to which the curve is to be set |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Changes the comment of the curve with provided identifier. Broadcasts a EAnimDataModelNotifyType::CurveCommentChanged notify if successful. Currently changing curve comments is only supported for float curves.
| CurveId | Identifier of the curve to change the comment for |
| Comment | Comment to which the curve is to be set |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Set an individual flag for the curve with provided identifier. Broadcasts a EAnimDataModelNotifyType::CurveFlagsChanged notify if successful.
| CurveId | Identifier for the curve for which the flag state is to be set |
| Flag | Flag for which the state is supposed to be set |
| bState | State of the flag to be, true=set/false=not set |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Replace the flags for the curve with provided identifier. Broadcasts a EAnimDataModelNotifyType::CurveFlagsChanged notify if successful.
| CurveId | Identifier for the curve for which the flag state is to be set |
| Flags | Flag mask with which the existing flags are to be replaced |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Sets a single key for the curve with provided identifier and name. Broadcasts a EAnimDataModelNotifyType::CurveChanged notify if successful. In case a key for the provided key time already exists the key is replaced.
| CurveId | Identifier for the curve for which the key is to be set |
| Key | Key to be set |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Replace the keys for the curve with provided identifier and name. Broadcasts a EAnimDataModelNotifyType::CurveChanged notify if successful.
| CurveId | Identifier for the curve for which the keys are to be replaced |
| CurveKeys | Keys with which the existing keys are to be replaced |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Sets the frame rate according to which the bone animation is expected to be sampled. Broadcasts a EAnimDataModelNotifyType::FrameRateChanged notify if successful. The number of frames and keys for the provided frame rate is recalculated according to the current value of UAnimDataModel::PlayLength.
| FrameRate | The new sampling frame rate, has to be positive and non-zero |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Sets the AnimDataModel instance this controller is supposed to be targeting
| InModel | IAnimationDataModel instance to target |
|
pure virtual |
Sets the total play-able length in seconds. Broadcasts a EAnimDataModelNotifyType::SequenceLengthChanged notify if successful. The number of frames and keys for the provided length is recalculated according to the current value of UAnimDataModel::FrameRate.
| NewLengthInFrames | Total new play-able number of frames value (according to frame rate), has to be positive and non-zero |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
|
pure virtual |
Sets a single key for the transform curve with provided identifier. Broadcasts a EAnimDataModelNotifyType::CurveChanged notify if successful. In case a key for any of the individual transform channel curves already exists the value is replaced.
| CurveId | Identifier for the transform curve for which the key is to be set |
| Time | Time of the key to be set |
| Value | Value of the key to be set |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Replace the keys for the transform curve with provided identifier. Broadcasts a EAnimDataModelNotifyType::CurveChanged notify if successful.
| CurveId | Identifier for the transform curve for which the keys are to be set |
| TransformValues | Transform Values with which the existing values are to be replaced |
| TimeKeys | Time Keys with which the existing keys are to be replaced |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
inline |
Sets a single key for the attribute with provided identifier. Broadcasts a EAnimDataModelNotifyType::AttributeChanged notify if successful. In case a key for the provided key time already exists the key is replaced.
| AttributeIdentifier | Identifier for the attribute for which the key is to be set |
| Time | Time of the to-be-set key |
| KeyValue | Value (templated) of the to-be-set key |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
inline |
Replace the keys for the attribute with provided identifier. Broadcasts a EAnimDataModelNotifyType::AttributeChanged notify if successful.
| AttributeIdentifier | Identifier for the attribute for which the keys are to be replaced |
| Times | Times with which the existing key timings are to be replaced |
| KeyValues | Values (templated) with which the existing key values are to be replaced |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Removes any bone attribute for which the name was not found in the provided skeleton. Broadcasts a EAnimDataModelNotifyType::AttributeRemoved for each attribute which was not found in the skeleton, wrapped within BracketOpened/BracketClosed notifies. Updates any bone attribute for which the bone index is different in the provided skeleton. Broadcasts a EAnimDataModelNotifyType::AttributeAdded and EAnimDataModelNotifyType::AttributeRemove for each attribute which was remapped
| Skeleton | Skeleton to retrieve the bone information from |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Sets a range of keys for an existing bone animation track with the provided name. Broadcasts a EAnimDataModelNotifyType::TrackChanged notify if successful. The provided number of keys provided is expected to match for each component, be between FrameLowerBound and FrameUpperBound (inclusive), and be non-zero.
| BoneName | Bone name of the track for which the keys should be set |
| KeyRangeToSet | Range of frames to set keys for |
| PositionalKeys | Array of keys for the translation component |
| RotationalKeys | Array of keys for the rotation component |
| ScalingKeys | Array of keys for the scale component |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Sets a range of keys for an existing bone animation track with the provided name. Broadcasts a EAnimDataModelNotifyType::TrackChanged notify if successful. The provided number of keys provided is expected to match for each component, be between FrameLowerBound and FrameUpperBound (inclusive), and be non-zero.
| BoneName | Bone name of the track for which the keys should be set |
| KeyRangeToSet | Range of frames to set keys for |
| PositionalKeys | Array of keys for the translation component |
| RotationalKeys | Array of keys for the rotation component |
| ScalingKeys | Array of keys for the scale component |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
inlinevirtual |
Updates the display name values for any stored curve, with the names being retrieved from the provided skeleton. Broadcasts a EAnimDataModelNotifyType::CurveRenamed for each to-be-updated curve name, wrapped within BracketOpened/BracketClosed notifies.
| Skeleton | Skeleton to retrieve the display name values from |
| SupportedCurveType | Curve type for which the names should be updated |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
pure virtual |
Updates/removes/remaps contained animation data according to the newly assigned skeleton
| TargetSkeleton | Skeleton to which the contained animation data is to be mapped |
| bShouldTransact | Whether or not any undo-redo changes should be generated |
|
inlineprotected |
Ensures that a valid model is currently targeted
|
friend |
|
staticconstexprprotected |