className: UClothConfigNv

description: Holds initial, asset level config for clothing actors.

code: class UClothConfigNv : public [UClothConfigCommon](API\Runtime\ClothingSystemRuntimeCommon\UClothConfigCommon)

AngularDrag

description: Drag applied to angular particle movement, higher values should limit material bending (per-axis)

AngularInertiaScale

description: Scale for angular particle inertia, how much movement should translate to angular motion (per-axis)

AnimDriveDamperStiffness

description: Default damper stiffness for anim drive if an anim drive is in use.

AnimDriveSpringStiffness

description: Default spring stiffness for anim drive if an anim drive is in use.

BendConstraint

type: FClothConstrain...

description: Constraint data for bend constraints.

bUseGravityOverride

type: bool

description: Use gravity override value vs gravity scale

CentrifugalInertiaScale

description: Scale for centrifugal particle inertia, how much movement should translate to angular motion (per-axis)

ClothingWindMethod

type: EClothingWindMe...

description: How wind should be processed, Accurate uses drag and lift to make the cloth react differently, legacy applies similar forces to all clothing without drag and lift (similar to APEX)

CollisionThickness

description: 'Thickness' of the simulated cloth, used to adjust collisions

Damping

description: Damping of particle motion per-axis.

Friction

description: Friction of the surface when colliding.

GravityOverride

description: Direct gravity override value.

GravityScale

description: Scale of gravity effect on particles.

HorizontalConstraint

description: Constraint data for horizontal constraints.

LinearDrag

description: Drag applied to linear particle movement per-axis.

LinearInertiaScale

description: Scale for linear particle inertia, how much movement should translate to linear motion (per-axis)

SelfCollisionCullScale

description: Scale to use for the radius of the culling checks for self collisions.

SelfCollisionRadius

description: Size of self collision spheres centered on each vert.

SelfCollisionStiffness

description: Stiffness of the spring force that will resolve self collisions.

ShearConstraint

description: Constraint data for shear constraints.

SolverFrequency

description: Frequency of the position solver, lower values will lead to stretchier, bouncier cloth.

StiffnessFrequency

description: Frequency for stiffness calculations, lower values will degrade stiffness of constraints.

TetherLimit

description: Scale for the limit of particle tethers (how far they can separate)

TetherStiffness

description: Scale for stiffness of particle tethers between each other.

VerticalConstraint

description: Constraint data for vertical constraints.

WindDragCoefficient

description: Drag coefficient for wind calculations, higher values mean wind has more lateral effect on cloth.

WindLiftCoefficient

description: Lift coefficient for wind calculations, higher values make cloth rise easier in wind.


description: Creates the runtime interactor object for a clothing simulation. This object will receive events allowing it to write data to the simulation context in a safe manner

module: ClothingSystemRuntimeNv


description: Create a simulation object for a skeletal mesh to use (seeIClothingSimulation)

code: virtual [IClothingSimulation](API\Runtime\ClothingSystemRuntimeInterface\IClothingSimulation) * CreateSimulation()


description: Destroy a simulation object, guaranteed to be a pointer returned from CreateSimulation for this factory.

code: virtual void DestroySimulation ( [IClothingSimulation](API\Runtime\ClothingSystemRuntimeInterface\IClothingSimulation) * InSimulation )


description: Return the cloth config type for this cloth factory.

code: virtual [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UClothConfigBase](API\Runtime\ClothingSystemRuntimeInterface\UClothConfigBase) > > GetClothConfigClasses() const


description: Return an enum of the weight map targets that can be used with this simulation.

code: virtual const [UEnum](API\Runtime\CoreUObject\UObject\UEnum) * GetWeightMapTargetEnum() const


description: Given an asset, decide whether this factory can create a simulation to use the data inside (return false if data is invalid or missing in the case of custom data)

code: virtual bool SupportsAsset ( [UClothingAssetBase](API\Runtime\ClothingSystemRuntimeInterface\UClothingAssetBase) * InAsset )


description: Whether or not we provide an interactor object to manipulate the simulation at runtime. If true is returned then CreateInteractormustcreate a valid object to handle this


className: UClothingSimulationFactoryNv

code: class UClothingSimulationFactoryNv : public [UClothingSimulationFactory](API\Runtime\ClothingSystemRuntimeInterface\UClothingSimulationFactory)


description: Called to update the cloth config without restarting the simulation.

code: virtual void ClothConfigUpdated()


description: Disable any currently set gravity override.

code: virtual void DisableGravityOverride()


description: Set a new gravity override and enable the override.

code: virtual void EnableGravityOverride ( const FVector & InVector )


description: Called to update collision status without restarting the simulation.

code: virtual void PhysicsAssetUpdated()


description: Set the stiffness of the resistive damping force for anim drive.

code: void SetAnimDriveDamperStiffness ( float InStiffness )


description: Set the stiffness of the spring force for the animation drive.

code: virtual void SetAnimDriveSpringStiffness ( float InStiffness )


description: Set the maximum number of solver iterations.

code: virtual void SetMaxNumIterations ( int32 MaxNumIterations )


description: TODO: These new functions are currently unimplemented.

code: virtual void SetNumIterations ( int32 )


description: Set the number of substeps or subdivisions.

code: virtual void SetNumSubsteps ( int32 NumSubsteps )


description: Sync the interactor to the provided context for the clothing simulation to use on its next update. This will be called at a time that is guaranteed to never overlap with the running simulation. The simulation will have to be written in a way to pick up these changes on the next update. Any inherited class must call this function to also Sync the ClothingInteractors.

code: virtual void Sync ( [IClothingSimulation](API\Runtime\ClothingSystemRuntimeInterface\IClothingSimulation) * Simulation, [IClothingSimulationContext](API\Runtime\ClothingSystemRuntimeInterface\IClothingSimulationContext) * Context )


className: UClothingSimulationInteractorNv

code: class UClothingSimulationInteractorNv : public [UClothingSimulationInteractor](API\Runtime\ClothingSystemRuntimeInterface\UClothingSimulationInteractor)


description: Deprecated, useFClothPhysicalMeshDatainstead. NV specific spatial simulation data for a mesh.

code: class UClothPhysicalMeshDataNv_Legacy : public [UClothPhysicalMeshDataBase_Legacy](API\Runtime\ClothingSystemRuntimeInterface\UClothPhysicalMeshDataBase_Legac-)

AnimDriveMultipliers

type: TArray< float >

description: Strength of anim drive per-particle (spring driving particle back to skinned location.

BackstopDistances

description: Distance along the plane of the surface that the particles can travel (separation constraint)

BackstopRadiuses

description: Radius of movement to allow for backstop movement.

MaxDistances

description: The distance that each vertex can move away from its reference (skinned) position.


description:
Check against another color space for equality, within specified error limits.
true if the color spaces are equal within tolerance limits, false otherwise.

module: ColorManagement

code: bool Equals ( const [FColorSpace](API\Runtime\ColorManagement\FColorSpace) & ColorSpace, double Tolerance ) const


description:
Check against color space chromaticities for equality, within specified error limits.
true if the color spaces are equal within tolerance limits, false otherwise.

code: bool Equals ( const [TStaticArray](API\Runtime\Core\Containers\TStaticArray)< FVector2d, 4 > & InChromaticities, double Tolerance ) const


description:
Gets the color space's blue chromaticity coordinates.
FVector2d xy coordinates.

code: const FVector2d & GetBlueChromaticity() const


description: Getter for the color space chromaticity coordinates.

code: template<typename T> void GetChromaticities ( [UE::Math::TVector2](API\Runtime\Core\Math\TVector2)< T > & OutRed, [UE::Math::TVector2](API\Runtime\Core\Math\TVector2)< T > & OutGreen, [UE::Math::TVector2](API\Runtime\Core\Math\TVector2)< T > & OutBlue, [UE::Math::TVector2](API\Runtime\Core\Math\TVector2)< T > & OutWhite ) const


description:
Gets the color space's green chromaticity coordinates.
FVector2d xy coordinates.

code: const FVector2d & GetGreenChromaticity() const


description:
Calculate the color's luminance value in the current space.
float Luminance value.

code: float GetLuminance ( const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color ) const


description: Get the luminance factors in the current space.FLinearColorLuminance factors.


description:
Gets the color space's red chromaticity coordinates.
FVector2d xy coordinates.

code: const FVector2d & GetRedChromaticity() const


description:
Gets the color space's white point chromaticity coordinates.
FVector2d xy coordinates.

code: const FVector2d & GetWhiteChromaticity() const


description: Get the global engine working color space (as a singleton).FColorSpaceworking color space

code: static const [FColorSpace](API\Runtime\ColorManagement\FColorSpace) & GetWorking()


description:
Gets the XYZ-to-RGB conversion matrix.
FMatrix conversion matrix.

code: const FMatrix44d & GetXYZToRgb() const


description:
Convenience function to verify if the color space matches the engine's default sRGB chromaticities.
true if sRGB.

code: bool IsSRGB() const


description: Make the chromaticities of the color space type.TStaticArrayof four chromaticities

code: static [TStaticArray](API\Runtime\Core\Containers\TStaticArray)< FVector2d, 4 > MakeChromaticities ( [UE::Color::EColorSpace](API\Runtime\ColorManagement\UE__Color__EColorSpace) ColorSpaceType )


description: Converts temperature in Kelvins of a black body radiator to an RGB color in the current space.

code: [FLinearColor](API\Runtime\Core\Math\FLinearColor) MakeFromColorTemperature ( float Temp ) const


description:
Gets the RGB-to-XYZ conversion matrix.
FMatrix conversion matrix.

code: const FMatrix44d & GetRgbToXYZ() const


code: [FColorSpace](API\Runtime\ColorManagement\FColorSpace) & operator= ( [FColorSpace](API\Runtime\ColorManagement\FColorSpace) && )


code: [FColorSpace](API\Runtime\ColorManagement\FColorSpace) & operator= ( const [FColorSpace](API\Runtime\ColorManagement\FColorSpace) & )


description:
Check against another color space for equality.
true if the color spaces are equal, false otherwise.

code: bool operator== ( const [FColorSpace](API\Runtime\ColorManagement\FColorSpace) & ColorSpace ) const


description:
Check against another color space for inequality.
true if the color spaces are not equal, false otherwise.

code: bool operator!= ( const [FColorSpace](API\Runtime\ColorManagement\FColorSpace) & ColorSpace ) const


code: bool Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


description: Set the global engine working color space (as a singleton).

code: static void SetWorking ( [FColorSpace](API\Runtime\ColorManagement\FColorSpace) ColorSpace )


description: Constructor

code: FColorSpace ( [UE::Color::EColorSpace](API\Runtime\ColorManagement\UE__Color__EColorSpace) ColorSpaceType )


description: Constructor

code: FColorSpace()


code: FColorSpace ( [FColorSpace](API\Runtime\ColorManagement\FColorSpace) && )


code: FColorSpace ( const [FColorSpace](API\Runtime\ColorManagement\FColorSpace) & )


description: Constructor

code: FColorSpace ( const FVector2d & InRed, const FVector2d & InGreen, const FVector2d & InBlue, const FVector2d & InWhite )


className: FColorSpace

description: Color space definition as 4 chromaticity coordinates, in double precision internally.

code: class FColorSpace


description: Apply color space transform toFLinearColor.

code: [FLinearColor](API\Runtime\Core\Math\FLinearColor) Apply ( const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color ) const


description: Calculate the chromatic adaptation matrix using the specific method.

code: static FMatrix44d CalcChromaticAdaptionMatrix ( FVector3d SourceXYZ, FVector3d TargetXYZ, [EChromaticAdaptationMethod](API\Runtime\ColorManagement\UE__Color__EChromaticAdaptationM-) Method )


description: Constructor: create a color space transformation matrix from a source to a target color space using the RGB-XYZ-RGB conversions.

code: FColorSpaceTransform ( const [FColorSpace](API\Runtime\ColorManagement\FColorSpace) & Src, const [FColorSpace](API\Runtime\ColorManagement\FColorSpace) & Dst, [EChromaticAdaptationMethod](API\Runtime\ColorManagement\UE__Color__EChromaticAdaptationM-) Method )


description: Constructor: create a color space transformation matrix from a raw matrix.

code: FColorSpaceTransform ( FMatrix44d Matrix )


className: FColorSpaceTransform

code: struct FColorSpaceTransform : public [UE::Math::TMatrix< double >](API\Runtime\Core\Math\TMatrix)


description:
Decode value with an ARRI Alexa LogC encoding.
float decoded value.

code: namespace UE { namespace Color { float UE::Color::DecodeArriAlexaV3LogC ( float Value ) } }


description:
Decode value with an ITU-R BT.1886 encoding.
float decoded value.

code: namespace UE { namespace Color { float UE::Color::DecodeBT1886 ( float Value ) } }


description:
Decode value with a Canon Log encoding.
float decoded value.

code: namespace UE { namespace Color { float UE::Color::DecodeCanonLog ( float Value ) } }


description:
Decode value with a Cineon encoding.
float decoded value.

code: namespace UE { namespace Color { float UE::Color::DecodeCineon ( float Value ) } }


description:
Decode value with a Gamma 2.2 encoding.
float decoded value.

code: namespace UE { namespace Color { float UE::Color::DecodeGamma22 ( float Value ) } }


description:
Decode value with a Gamma 2.6 encoding.
float decoded value.

code: namespace UE { namespace Color { float UE::Color::DecodeGamma26 ( float Value ) } }


description:
Decode value with a GoPro ProTune encoding.
float decoded value.

code: namespace UE { namespace Color { float UE::Color::DecodeGoProProTune ( float Value ) } }


description:
Decode value with a Panasonic V-Log encoding.
float decoded value.

code: namespace UE { namespace Color { float UE::Color::DecodePanasonicVLog ( float Value ) } }


description:
Decode value with a RED Log encoding.
float decoded value.

code: namespace UE { namespace Color { float UE::Color::DecodeREDLog ( float Value ) } }


description:
Decode value with a RED Log3G10 encoding.
float decoded value.

code: namespace UE { namespace Color { float UE::Color::DecodeREDLog3G10 ( float Value ) } }


description:
Decode value with a Sony S-Log1 encoding.
float decoded value.

code: namespace UE { namespace Color { float UE::Color::DecodeSLog1 ( float Value ) } }


description:
Decode value with a Sony S-Log2 encoding.
float decoded value.

code: namespace UE { namespace Color { float UE::Color::DecodeSLog2 ( float Value ) } }


description:
Decode value with a Sony S-Log3 encoding.
float decoded value.

code: namespace UE { namespace Color { float UE::Color::DecodeSLog3 ( float Value ) } }


description:
Decode value with an sRGB encoding.
float decoded value.

code: namespace UE { namespace Color { float UE::Color::DecodeSRGB ( float Value ) } }


description:
Decode value with a SMPTE ST 2084:2014 encoding.
float decoded value.

code: namespace UE { namespace Color { float UE::Color::DecodeST2084 ( float Value ) } }


description: NOTE: This list is partially replicated as a UENUM in TextureDefines.h: any type exposed to textures should match the enum value below.

code: namespace UE { namespace Color { enum EColorSpace { None = 0, sRGB = 1, Rec2020 = 2, ACESAP0 = 3, ACESAP1 = 4, P3DCI = 5, P3D65 = 6, REDWideGamut = 7, SonySGamut3 = 8, SonySGamut3Cine = 9, AlexaWideGamut = 10, CanonCinemaGamut = 11, GoProProtuneNative = 12, PanasonicVGamut = 13, PLASA_E1_54 = 14, Max, } } }


description: NOTE: This list is replicated as a UENUM in TextureDefines.h, and both should always match.

code: namespace UE { namespace Color { enum EChromaticAdaptationMethod { None = 0, Bradford = 1, CAT02 = 2, Max, } } }


code: namespace UE { namespace Color { enum EEncoding { None = 0, Linear = 1, sRGB, ST2084, Gamma22, BT1886, Gamma26, Cineon, REDLog, REDLog3G10, SLog1, SLog2, SLog3, AlexaV3LogC, CanonLog, ProTune, VLog, Max, } } }


description:
Encode value to ARRI Alexa LogC.
float encoded value.

code: namespace UE { namespace Color { float UE::Color::EncodeArriAlexaV3LogC ( float Value ) } }


description:
Encode value to ITU-R BT.1886.
float encoded value.

code: namespace UE { namespace Color { float UE::Color::EncodeBT1886 ( float Value ) } }


description:
Encode value to Canon Log.
float encoded value.

code: namespace UE { namespace Color { float UE::Color::EncodeCanonLog ( float Value ) } }


description:
Encode value to Cineon.
float encoded value.

code: namespace UE { namespace Color { float UE::Color::EncodeCineon ( float Value ) } }


description:
Encode value to GoPro ProTune.
float encoded value.

code: namespace UE { namespace Color { float UE::Color::EncodeGoProProTune ( float Value ) } }


description:
Encode value to Gamma 2.2.
float encoded value.

code: namespace UE { namespace Color { float UE::Color::EncodeGamma22 ( float Value ) } }


description:
Encode value to Gamma 2.6.
float encoded value.

code: namespace UE { namespace Color { float UE::Color::EncodeGamma26 ( float Value ) } }


description:
Encode value to Panasonic V-Log.
float encoded value.

code: namespace UE { namespace Color { float UE::Color::EncodePanasonicVLog ( float Value ) } }


description:
Encode value to Sony S-Log1.
float encoded value.

code: namespace UE { namespace Color { float UE::Color::EncodeSLog1 ( float Value ) } }


description:
Encode value to RED Log3G10.
float encoded value.

code: namespace UE { namespace Color { float UE::Color::EncodeREDLog3G10 ( float Value ) } }


description:
Encode value to Sony S-Log2.
float encoded value.

code: namespace UE { namespace Color { float UE::Color::EncodeSLog2 ( float Value ) } }


description:
Encode value to sRGB.
float encoded value.

code: namespace UE { namespace Color { float UE::Color::EncodeSRGB ( float Value ) } }


description:
Encode value to SMPTE ST 2084:2014.
float encoded value.

code: namespace UE { namespace Color { float UE::Color::EncodeST2084 ( float Value ) } }


description: List of standard white points.

code: namespace UE { namespace Color { enum EWhitePoint { CIE1931_D65 = 0, ACES_D60 = 1, DCI_CalibrationWhite, Max, } } }


description:
Get standard white point coordinates.
FVector2d Chromaticity coordinates.

code: namespace UE { namespace Color { FVector2d UE::Color::GetWhitePoint ( [EWhitePoint](API\Runtime\ColorManagement\UE__Color__EWhitePoint) InWhitePoint ) } }


code: namespace UE { namespace Color { float UE::Color::Linear ( float Value ) } }


description: Deprecated* ToXYZ has been replaced by xyYToXYZ.

code: namespace UE { namespace Color { FVector3d UE::Color::ToXYZ ( const FVector2d & Coordinate ) } }


code: namespace UE { namespace Color { FVector3d UE::Color::ToXYZ ( double LuminanceY, const FVector2d & Coordinate ) } }


description:
Encode value to RED Log.
float encoded value.

code: namespace UE { namespace Color { float UE::Color::EncodeREDLog ( float Value ) } }


description:
Encode value to Sony S-Log3.
float encoded value.

code: namespace UE { namespace Color { float UE::Color::EncodeSLog3 ( float Value ) } }


description:
Convert coordinate to CIE Yxy with a default luminance of 1.0.
FVector3d

code: namespace UE { namespace Color { FVector3d UE::Color::ToYxy ( const FVector2d & Coordinate ) } }


description:
Convert coordinate to CIE Yxy with a luminance value.
FVector3d

code: namespace UE { namespace Color { FVector3d UE::Color::ToYxy ( double LuminanceY, const FVector2d & Coordinate ) } }


description:
Convenience function to get the transposed matrix, i.e. for pre-multiplied shader matrices.
TMatrix

code: namespace UE { namespace Color { template<typename T> [UE::Math::TMatrix](API\Runtime\Core\Math\TMatrix)< T > UE::Color::Transpose ( const FMatrix44d & Transform ) } }


description:
Convert chromaticity coordinate and luminance to CIE XYZ tristimulus values.
FVector3d

code: namespace UE { namespace Color { FVector3d UE::Color::xyYToXYZ ( const FVector3d & xyY ) } }


description:
Convert CIE XYZ tristimulus values to chromaticitiy coordinates and luminance.
FVector3d

code: namespace UE { namespace Color { FVector3d UE::Color::XYZToxyY ( const FVector3d & XYZ ) } }


description: Called when the game starts or when spawned.

module: Constraints

code: virtual void BeginPlay()


description: Called before destroying the object. This is called immediately upon deciding to destroy the object, to allow the object to begin an asynchronous cleanup process.

code: virtual void BeginDestroy()


description: Called when this actor is explicitly being destroyed during gameplay or in the editor, not called during level streaming or gameplay ending

code: virtual void Destroyed()


description: Called after applying a transaction to the object. Default implementation simply calls PostEditChange.

code: virtual void PostEditUndo()


description: Called after all the components in the Components array are registered, called both in editor and during gameplay. bHasRegisteredAllComponents must be set true prior to calling this function.


description: Called every frame.

code: virtual void Tick ( float DeltaTime )


description: Sets default values for this actor's properties.

code: AConstraintsActor ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: AConstraintsActor

code: class AConstraintsActor : public [AActor](API\Runtime\Engine\GameFramework\AActor)

ConstraintsManager

type: TObjectPtr<UCo...


code: FConstraintAndActiveChannel()


code: FConstraintAndActiveChannel ( const [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) > & InConstraint )


className: FConstraintAndActiveChannel

description: ifWITH_EDITOR namespace MovieSceneClipboard { template<> inlineFNameGetKeyTypeName(){ staticFNameName("Bool"); return Name; } } #endif

code: struct FConstraintAndActiveChannel

ActiveChannel

type: FMovieSceneCons...

Constraint

type: TSoftObjectPtr<...

ConstraintCopyToSpawn

type: TObjectPtr<UTi...


description: Add this constraint to the manager

code: bool AddConstraint ( [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) * InConstraint ) const


description: Make a copy of this constraint and add it to the manager, returns the copy mode if it was added

code: [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) * AddConstraintFromCopy ( [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) * CopyOfConstraint ) const


className: bDoNotRemoveConstraint

description: FConstraintsManagerController

code: static bool bDoNotRemoveConstraint = false;


description: When PIEing/Simulating it's possible that the constraint isn't in the active manager but still lives

code: bool DoesExistInAnyWorld ( [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) * InConstraint )


description: Go through each constraint in order and evaluate and tick them

code: void EvaluateAllConstraints() const


className: FOnSceneComponentConstrained

description: Delegeate that's fired when a scene component is constrained, this is needed to make sure things like gizmo's get updated after the constraint tick happens

code: typedef TMulticastDelegate_OneParam< void, [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * > FOnSceneComponentConstrained


description: Allocates a new constraint with the constraints manager as the owner.

code: template<typename TConstraint> TConstraint * AllocateConstraintT ( const [FName](API\Runtime\Core\UObject\FName) & InBaseName ) const


description: Get and Set Controller acive in this world

code: static [FConstraintsManagerController](API\Runtime\Constraints\FConstraintsManagerController) & Get ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld )


description: Returns manager's constraints array (sorted if needed).

code: [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) > > GetAllConstraints ( const bool bSorted ) const


description: Returns the constraint based on it's name within the manager's constraints array.

code: [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) * GetConstraint ( const [FName](API\Runtime\Core\UObject\FName) & InConstraintName ) const


description: Returns the constraint based on it's index within the manager's constraints array.

code: [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) * GetConstraint ( const int32 InConstraintIndex ) const


description: Get the index of the given constraint's name.

code: int32 GetConstraintIndex ( const [FName](API\Runtime\Core\UObject\FName) & InConstraintName ) const


description: Get read-only access to the array of constraints.

code: const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) > > & GetConstraintsArray() const


description: Delegate to trigger changes in the constraints manager.


description: Returns a filtered constraints array checking if the predicate for each element is true.

code: template<typename Predicate> [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) > > GetConstraintsByPredicate ( Predicate Pred, const bool bSorted ) const


description: Get parent constraints of the specified child. If bSorted is true, then the constraints will be sorted by dependency.

code: [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) > > GetParentConstraints ( const uint32 InTargetHash, const bool bSorted ) const


description: Notify from changes in the constraints manager.

code: void Notify ( EConstraintsManagerNotifyType InNotifyType, [UObject](API\Runtime\CoreUObject\UObject\UObject) * InObject ) const


description: Delegate that's fired when a scene component is constrained, this is needed to make sure things like gizmo's get updated after the constraint tick happens


description: Remove the constraint by name.

code: bool RemoveConstraint ( const [FName](API\Runtime\Core\UObject\FName) & InConstraintName, bool bDoNotCompensate ) const


description: Remove the constraint at the given index.

code: bool RemoveConstraint ( const int32 InConstraintIndex, bool bDoNotCompensate ) const


description: Remove constraint by ptr

code: bool RemoveConstraint ( [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) * InConstraint, bool bDoNotCompensate ) const


description: Set dependencies between two constraints.

code: void SetConstraintsDependencies ( const [FName](API\Runtime\Core\UObject\FName) & InNameToTickBefore, const [FName](API\Runtime\Core\UObject\FName) & InNameToTickAfter ) const


className: FConstraintsManagerController

code: class FConstraintsManagerController


className: ConstraintFunction

description: Callable function that represents the actual constraint.

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void()> ConstraintFunction


description: Abstract function to describe this tick. Used to print messages about illegal cycles in the dependency graph


description: Register a callable function.

code: void EvaluateFunctions() const


description: Register a callable function.

code: void RegisterFunction ( [ConstraintFunction](API\Runtime\Constraints\FConstraintTickFunction\ConstraintFunction) InConstraint )


description: BeginFTickFunctionInterface

code: virtual void ExecuteTick ( float DeltaTime, ELevelTick TickType, [ENamedThreads::Type](API\Runtime\Core\Async\ENamedThreads__Type) CurrentThread, const FGraphEventRef & MyCompletionGraphEvent )


description: FConstraintTickFunction

code: FConstraintTickFunction()


className: FConstraintTickFunction

description: FConstraintTickFunctionRepresents the interface of constraint as a tick function. This allows both to evaluate a constraint in the UE ticking system but also to handle dependencies between parents/children and constraints between themselves using the tick prerequisites system.

code: struct FConstraintTickFunction : public [FTickFunction](API\Runtime\Engine\Engine\FTickFunction)

Constraint

type: TWeakObjectPtr<...

description: Weak ptr to the Constraint holding this tick function.

ConstraintFunctions

type: TArray<Constra...

description: The list of the constraint functions that will be called within the tick function.


description:
Evaluate this channel
true if the channel was evaluated successfully, false otherwise

code: virtual bool Evaluate ( [FFrameTime](API\Runtime\Core\Misc\FFrameTime) InTime, bool & OutValue ) const


description:
Access a mutable interface for this channel's data
An object that is able to manipulate this channel's data

code: virtual [TMovieSceneChannelData](API\Runtime\MovieScene\Channels\TMovieSceneChannelData)< bool > GetData()


description:
Access a constant interface for this channel's data
An object that is able to interrogate this channel's data

code: virtual [TMovieSceneChannelData](API\Runtime\MovieScene\Channels\TMovieSceneChannelData)< const bool > GetData() const


className: CreateHandleFuncT

description: Defines the function that will allocate a new transformable handle to wrap the object.

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< [UTransformableHandle](API\Runtime\Constraints\UTransformableHandle) *([UObject](API\Runtime\CoreUObject\UObject\UObject) *, [UObject](API\Runtime\CoreUObject\UObject\UObject) *, const [FName](API\Runtime\Core\UObject\FName) &)> CreateHandleFuncT


code: FMovieSceneConstraintChannel()


className: FMovieSceneConstraintChannel

code: struct FMovieSceneConstraintChannel : public [FMovieSceneBoolChannel](API\Runtime\MovieScene\Channels\FMovieSceneBoolChannel)

ExtraLabel

type: ExtraLabelFunct...


description: Get registry singleton

code: static [FTransformableRegistry](API\Runtime\Constraints\FTransformableRegistry) & Get()


className: ExtraLabelFunction

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< [FString](API\Runtime\Core\Containers\FString)() > ExtraLabelFunction


className: GetHashFuncT

description: Defines the function that return a hash value from the object and the attachment name.

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< uint32(const [UObject](API\Runtime\CoreUObject\UObject\UObject) *, const [FName](API\Runtime\Core\UObject\FName) &)> GetHashFuncT


description: Get the associated handle creation function for that specific class.

code: [CreateHandleFuncT](API\Runtime\Constraints\FTransformableRegistry\CreateHandleFuncT) GetCreateFunction ( const [UClass](API\Runtime\CoreUObject\UObject\UClass) * InClass ) const


description: Get the associated hash function for that specific class.

code: [GetHashFuncT](API\Runtime\Constraints\FTransformableRegistry\GetHashFuncT) GetHashFunction ( const [UClass](API\Runtime\CoreUObject\UObject\UClass) * InClass ) const


description: Registers a InClass as transformable object.

code: void Register ( [UClass](API\Runtime\CoreUObject\UObject\UClass) * InClass, [CreateHandleFuncT](API\Runtime\Constraints\FTransformableRegistry\CreateHandleFuncT) InHandleFunc, [GetHashFuncT](API\Runtime\Constraints\FTransformableRegistry\GetHashFuncT) InHashFunc )


description: Registers the basic transformable objects. (called when starting the constraints module).

code: static void RegisterBaseObjects()


description: Registers the basic transformable objects. (called when shutting down the constraints module).

code: static void UnregisterAllObjects()


className: FTransformableRegistry

description: No constructors are accessible with public or protected access.

code: class FTransformableRegistry


description: Computes the relative transform between both transform based on the constraint's InType.

code: static FTransform ComputeRelativeTransform ( const FTransform & InChildLocal, const FTransform & InChildWorld, const FTransform & InSpaceWorld, const [UTickableTransformConstraint](API\Runtime\Constraints\UTickableTransformConstraint) * InConstraint )


description: Registers a new transform constraint within the constraints manager.

code: static bool AddConstraint ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld, [UTransformableHandle](API\Runtime\Constraints\UTransformableHandle) * InParentHandle, [UTransformableHandle](API\Runtime\Constraints\UTransformableHandle) * InChildHandle, [UTickableTransformConstraint](API\Runtime\Constraints\UTickableTransformConstraint) * Constraint, const bool bMaintainOffset )


description: Creates respective handles and creates a new InType transform constraint.

code: static [UTickableTransformConstraint](API\Runtime\Constraints\UTickableTransformConstraint) * CreateAndAddFromObjects ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld, [UObject](API\Runtime\CoreUObject\UObject\UObject) * InParent, const [FName](API\Runtime\Core\UObject\FName) & InParentSocketName, [UObject](API\Runtime\CoreUObject\UObject\UObject) * InChild, const [FName](API\Runtime\Core\UObject\FName) & InChildSocketName, const ETransformConstraintType InType, const bool bMaintainOffset )


description: Creates a new transform constraint based on the InType.

code: static [UTickableTransformConstraint](API\Runtime\Constraints\UTickableTransformConstraint) * CreateFromType ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld, const ETransformConstraintType InType )


description: Create a handle for the scene component.

code: static [UTransformableComponentHandle](API\Runtime\Constraints\UTransformableComponentHandle) * CreateHandleForSceneComponent ( [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * InSceneComponent, const [FName](API\Runtime\Core\UObject\FName) & InSocketName, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer )


description: Fills a constraint array that InParentHandle is the parent of.

code: static void GetChildrenConstraints ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, const [UTransformableHandle](API\Runtime\Constraints\UTransformableHandle) * InParentHandle, [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) > > & OutConstraints )


code: static [TOptional](API\Runtime\Core\IO\TOptional)< FTransform > GetConstraintsRelativeTransform ( const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) > > & InConstraints, const FTransform & InChildLocal, const FTransform & InChildWorld )


description: Get the last active constraint that has dynamic offset.

code: static int32 GetLastActiveConstraintIndex ( const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) > > & InConstraints )


description: Fills a sorted constraint array that InChild actor is the child of.

code: static void GetParentConstraints ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, const [AActor](API\Runtime\Engine\GameFramework\AActor) * InChild, [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) > > & OutConstraints )


description: Computes the current constraint space local transform.

code: static [TOptional](API\Runtime\Core\IO\TOptional)< FTransform > GetRelativeTransform ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld, const uint32 InHandleHash )


className: FTransformConstraintUtils

description: TransformConstraintUtils

code: struct FTransformConstraintUtils


className: ExtendedEditorDataType

description: Byte channels can have external values (ie, they can get their values from external objects for UI purposes)

code: typedef TMovieSceneExternalValue< bool > ExtendedEditorDataType


code: template<> struct TMovieSceneChannelTraits< FMovieSceneConstraintChannel > : public [TMovieSceneChannelTraitsBase< FMovieSceneConstraintChannel >](API\Runtime\MovieScene\Channels\TMovieSceneChannelTraitsBase)


className: SupportsDefaults

code: enum &123; SupportsDefaults = false &125;


className: WithCopy

code: enum &123; WithCopy = false &125;


code: template<> struct TStructOpsTypeTraits< FConstraintTickFunction > : public [TStructOpsTypeTraitsBase2< FConstraintTickFunction >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


code: enum &123; WithStructuredSerializeFromMismatchedTag = true &125;


code: template<> struct TStructOpsTypeTraits< FMovieSceneConstraintChannel > : public [TStructOpsTypeTraitsBase2< FMovieSceneConstraintChannel >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


code: void Clear ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World )


className: ConstraintPtr

code: typedef [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) > ConstraintPtr


description: Find the existing Constraints Manager.

code: static [UConstraintsManager](API\Runtime\Constraints\UConstraintsManager) * Find ( const [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld )


className: FOnConstraintAdded

code: struct FOnConstraintAdded : public [TSparseDynamicDelegate< FOnConstraintAdded_MCSignature, UConstraintsManager, FOnConstraintAddedInfoGetter >](API\Runtime\CoreUObject\UObject\TSparseDynamicDelegate)


className: FOnConstraintRemoved

code: struct FOnConstraintRemoved : public [TSparseDynamicDelegate< FOnConstraintRemoved_MCSignature, UConstraintsManager, FOnConstraintRemovedInfoGetter >](API\Runtime\CoreUObject\UObject\TSparseDynamicDelegate)


description: Dynamic blueprintable delegates for knowing when a constraints are added or deleted

code: CURRENT_FILE_ID___LINE___DELEGATE FUNC_DECLARE_DYNAMIC_MULTICAST_DELEGATE ( FOnConstraintAdded_MCSignature, FOnConstraintAdded_DelegateWrapper, FUNC_CONCAT(FUNC_CONCAT([UConstraintsManager](API\Runtime\Constraints\UConstraintsManager) *InParam1, [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) *InParam2)), FUNC_CONCAT(FUNC_CONCAT(*[this](API\Plugins\WorldConditions\this), InParam1, InParam2)), void, [UConstraintsManager](API\Runtime\Constraints\UConstraintsManager) *, [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) * )


code: CURRENT_FILE_ID___LINE___DELEGATE FUNC_DECLARE_DYNAMIC_MULTICAST_DELEGATE ( FOnConstraintRemoved_MCSignature, FOnConstraintRemoved_DelegateWrapper, FUNC_CONCAT(FUNC_CONCAT([UConstraintsManager](API\Runtime\Constraints\UConstraintsManager) *InParam1, [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) *InParam2, bool InParam3)), FUNC_CONCAT(FUNC_CONCAT(*[this](API\Plugins\WorldConditions\this), InParam1, InParam2, InParam3)), void, [UConstraintsManager](API\Runtime\Constraints\UConstraintsManager) *, [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) *, bool )


description: Get the existing Constraints Manager if existing or create a new one.

code: static [UConstraintsManager](API\Runtime\Constraints\UConstraintsManager) * Get ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld )


code: void Init ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld )


description: UObjects.

code: virtual void PostLoad()


description: Set tick dependencies between two constraints.

code: void SetConstraintDependencies ( [FConstraintTickFunction](API\Runtime\Constraints\FConstraintTickFunction) * InFunctionToTickBefore, [FConstraintTickFunction](API\Runtime\Constraints\FConstraintTickFunction) * InFunctionToTickAfter )


description: UConstraintsManager

code: UConstraintsManager()


code: virtual ~UConstraintsManager()


className: UConstraintsManager

description: UConstraintsManagerThis object gathers the different constraints of the level and is held by the ConstraintsActor (unique in the level)

code: class UConstraintsManager : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

type: FOnConstraintAd...

description: BP Delegate fired when constraints are added

type: FOnConstraintRe...

description: BP Delegate fired when constraints are removed


description:
Add Constraint to the system using the incoming parent and child handles with the specified type.
return If constraint added correctly

code: static bool AddConstraint ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld, [UTransformableHandle](API\Runtime\Constraints\UTransformableHandle) * InParentHandle, [UTransformableHandle](API\Runtime\Constraints\UTransformableHandle) * InChildHandle, [UTickableTransformConstraint](API\Runtime\Constraints\UTickableTransformConstraint) * InConstraint, const bool bMaintainOffset )


description:
Create Constraint based on the specified type.
return The constraint object

code: static [UTickableTransformConstraint](API\Runtime\Constraints\UTickableTransformConstraint) * CreateFromType ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld, const ETransformConstraintType InType )


description:
Create the transformable handle that deals with getting and setting transforms on this scene component
returns the handle for this scene component

code: static [UTransformableComponentHandle](API\Runtime\Constraints\UTransformableComponentHandle) * CreateTransformableComponentHandle ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld, [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * InSceneComponent, const [FName](API\Runtime\Core\UObject\FName) & InSocketName )


description:
Create the transformable handle that deals with getting and setting transforms on this object
returns the handle for this scene component

code: static [UTransformableHandle](API\Runtime\Constraints\UTransformableHandle) * CreateTransformableHandle ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld, [UObject](API\Runtime\CoreUObject\UObject\UObject) * InObject, const [FName](API\Runtime\Core\UObject\FName) & InAttachmentName )


description:
Get a copy of the constraints in the current world
Copy of the constraints in the level

code: static [TArray](API\Runtime\Core\Containers\TArray)< [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) * > GetConstraintsArray ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld )


description:
Get the manager of the constraints. This object contains delegates to listen to for when constraints are added,deleted, and is also the outer used when creating custom transformable handles, for example this is used to create control rig transformable handles Note this function will create the mananager and it's actor if one doesn't exist.
Returns the mananger

code: static [UConstraintsManager](API\Runtime\Constraints\UConstraintsManager) * GetManager ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld )


description:
Remove constraint at specified index
return If constraint removed correctly

code: static bool RemoveConstraint ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld, int32 InIndex )


description:
Remove specified constraint
return If constraint removed correctly

code: static bool RemoveThisConstraint ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld, [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) * InTickableConstraint )


className: UConstraintsScriptingLibrary

description: This is a set of helper functions to access various parts of the Sequencer and Control Rig API via Python and Blueprints.

code: class UConstraintsScriptingLibrary : public [UBlueprintFunctionLibrary](API\Runtime\Engine\Kismet\UBlueprintFunctionLibrary)


description: Create duplicate with new Outer

code: virtual [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) * Duplicate ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * NewOuter ) const


description: Evaluates the constraint in a context where it's mot done thru the ConstraintTick's tick function.

code: virtual void Evaluate ( bool bTickHandlesAlso ) const


code: virtual [FString](API\Runtime\Core\Containers\FString) GetFullLabel() const


description: Returns the actual function that the tick function needs to evaluate.


description: Returns the constraint's label used for UI.

code: virtual [FString](API\Runtime\Core\Containers\FString) GetLabel() const


code: virtual uint32 GetTargetHash() const


description: If true it contains objects bound to an external system, like sequencer so we don't do certain things, like remove constraints when they don't resolve

code: virtual bool HasBoundObjects() const


description: Returns the constraint's type label used for UI.

code: virtual [FString](API\Runtime\Core\Containers\FString) GetTypeLabel() const


description: Get whether or not it's fully active, it's set to active and all pieces are set up,e.g. objects really exist that are being constrainted

code: virtual bool IsFullyActive() const


description: Called when a property on this object has been modified externally

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


description: Called after applying a transaction to the object. Default implementation simply calls PostEditChange.

code: virtual void PostEditUndo()


description: Whether or not this object references this object. If it HasBoundObjects you should ResolveBoundObjects if you expect this to be up to date

code: virtual bool ReferencesObject ( [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) > InObject ) const


description: Resolve the bound objects so that any object it references are resovled and correctly set up

code: virtual void ResolveBoundObjects ( [FMovieSceneSequenceID](API\Runtime\MovieScene\FMovieSceneSequenceID) LocalSequenceID, [IMovieScenePlayer](API\Runtime\MovieScene\IMovieScenePlayer) & Player, [UObject](API\Runtime\CoreUObject\UObject\UObject) * SubObject )


description: UTickableConstraint

code: virtual void SetActive ( const bool bIsActive )


code: virtual ~UTickableConstraint()


className: UTickableConstraint

description: UTickableConstraintRepresents the basic interface of constraint within the constraints manager.

code: class UTickableConstraint : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

ConstraintTick

type: FConstraintTick...

description: Tick function that will be registered and evaluated.


description: Computes the initial axis that is needed to keep the child's orientation unchanged when creating the constraint.

code: virtual void ComputeOffset()


description: Returns the look at constraint function that the tick function will evaluate.


description: If that constraint needs to be handled by the compensation system.

code: virtual bool NeedsCompensation() const


description: UTickableLookAtConstraint

code: UTickableLookAtConstraint()


className: UTickableLookAtConstraint

description: UTickableLookAtConstraint

code: class UTickableLookAtConstraint : public [UTickableTransformConstraint](API\Runtime\Constraints\UTickableTransformConstraint)

Axis

type: FVector

description: Defines the aiming axis.


code: uint32 CalculateInputHash() const


description: Computes the child's local transform offset in the parent space.


className: FDynamicCache

description: Cache data structure to store last child local/global transform.

code: struct FDynamicCache


description: Returns the transform constraint function that the tick function will evaluate.


code: bool IsScalingEnabled() const


description: Updates the dynamic offset based on external child's transform changes.

code: virtual void OnHandleModified ( [UTransformableHandle](API\Runtime\Constraints\UTransformableHandle) * InHandle, EHandleEvent InEvent )


description: UTickableParentConstraint

code: UTickableParentConstraint()


className: UTickableParentConstraint

description: UTickableParentConstraint

code: class UTickableParentConstraint : public [UTickableTransformConstraint](API\Runtime\Constraints\UTickableTransformConstraint)

bScaling

description: Defines whether we propagate the parent scale.

Cache

type: FDynamicCache

OffsetTransform

type: FTransform

description: Defines the local child's transform offset in the parent space.

TransformFilter

type: FTransformFilte...

description: Defines which translation/rotation/scale axis are constrained.


description: Computes the child's local rotation offset in the parent space.


description: Cache data structure to store last child local/global rotation.


code: void SetScaling ( const bool bInScale )


description: Returns the rotation constraint function that the tick function will evaluate.


description: Called when a property on this object has been modified externally

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


description: UTickableRotationConstraint

code: UTickableRotationConstraint()


className: UTickableRotationConstraint

description: UTickableRotationConstraint

code: class UTickableRotationConstraint : public [UTickableTransformConstraint](API\Runtime\Constraints\UTickableTransformConstraint)

AxisFilter

type: FFilterOptionPe...

description: Defines which rotation axis is constrained.

OffsetRotation

type: FQuat

description: Defines the local child's rotation offset in the parent space.


description: Computes the child's local scale offset in the parent space.


description: Returns the scale constraint function that the tick function will evaluate.


description: UTickableScaleConstraint

code: UTickableScaleConstraint()


className: UTickableScaleConstraint

description: UTickableScaleConstraint

code: class UTickableScaleConstraint : public [UTickableTransformConstraint](API\Runtime\Constraints\UTickableTransformConstraint)

AxisFilter

description: Defines which scale axis is constrained.

OffsetScale

description: Defines the local child's scale offset in the parent space.


description: Computes the initial offset that is needed to keep the child's global transform unchanged when creating the constraint. This can be called whenever necessary to update the current offset.


description: Create duplicate with new Outer

code: virtual [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint) * Duplicate ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * NewOuter ) const


description: Sets up dependencies with the first primary prerequisite available if the parent does not tick.

code: void EnsurePrimaryDependency()


description: Override the evaluate so we can tick our handles

code: virtual void Evaluate ( bool bTickHandlesAlso ) const


description: Returns the channels to key based on the constraint's type.


className: FOnConstraintChanged

description: Returns a delegate that can be used to monitor for property changes. This can be used to monitor constraints changes only instead of using FCoreUObjectDelegates::OnObjectPropertyChanged that is listening to every objects. Note that bScaling is currently the only property change we monitor but this can be used for other properties.

code: typedef TMulticastDelegate_TwoParams< void, [UTickableTransformConstraint](API\Runtime\Constraints\UTickableTransformConstraint) *, const [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & > FOnConstraintChanged


description: Get the current child's global transform.


description: Returns the handles tick function (ensuring it lives in the same world).

code: [FTickFunction](API\Runtime\Engine\Engine\FTickFunction) * GetChildHandleTickFunction() const


description: Get the current child's local transform.


code: virtual [FString](API\Runtime\Core\Containers\FString) GetFullLabel() const


description: Returns the handle's tick function (ensuring it lives in the same world).

code: [FTickFunction](API\Runtime\Engine\Engine\FTickFunction) * GetHandleTickFunction ( const [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UTransformableHandle](API\Runtime\Constraints\UTransformableHandle) > & InHandle ) const


description: Returns the constraint's label used for UI.

code: virtual [FString](API\Runtime\Core\Containers\FString) GetLabel() const


description: Get the current parent's global transform.


code: [FTickFunction](API\Runtime\Engine\Engine\FTickFunction) * GetParentHandleTickFunction() const


description: Returns the target hash value (i.e. the child handle's hash).

code: virtual uint32 GetTargetHash() const


description: Returns the constraint type (Position, Parent, Aim...).

code: int64 GetType() const


description: Returns the constraint's type label used for UI.

code: virtual [FString](API\Runtime\Core\Containers\FString) GetTypeLabel() const


description: If true it contains objects bound to an external system, like sequencer so we don't do certain things, like remove constraints when they don't resolve

code: virtual bool HasBoundObjects() const


description: (Re-)Registers the constraint function and (re-)binds the required delegates

code: void InitConstraint()


description: If Active and the handles and targets are valid

code: virtual bool IsFullyActive() const


description: Handle active state modification if needed.

code: void OnActiveStateChanged() const


description: If that constraint needs to be handled by the compensation system.

code: virtual bool NeedsCompensation() const


description: Get the current parent's local transform.


description: Manages changes on the child/parent transformable handle. This can be used to update internal data (i.e. offset) when transform changes outside of that system and need to trigger changes within the constraint itself.

code: virtual void OnHandleModified ( [UTransformableHandle](API\Runtime\Constraints\UTransformableHandle) * InHandle, EHandleEvent InEvent )


className: OnConstraintChanged

description: UTickableTransformConstraint


description: Called after duplication & serialization and before PostLoad. Used to e.g. make sureUStaticMesh'sUModelgets copied as well. Note: NOT called on components on actor duplication (alt-drag or copy-paste). Use PostEditImport as well to cover that case.

code: virtual void PostDuplicate ( bool bDuplicateForPIE )


description: Called when a property on this object has been modified externally

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


description: Called after applying a transaction to the object. Default implementation simply calls PostEditChange.

code: virtual void PostEditUndo()


description: UObjects overrides.

code: virtual void PostLoad()


description: Test whether an InObject is referenced by that constraint. (i.e. is it's parent or child).

code: virtual bool ReferencesObject ( [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) > InObject ) const


description: Resolve the bound objects so that any object it references are resovled and correctly set up

code: virtual void ResolveBoundObjects ( [FMovieSceneSequenceID](API\Runtime\MovieScene\FMovieSceneSequenceID) LocalSequenceID, [IMovieScenePlayer](API\Runtime\MovieScene\IMovieScenePlayer) & Player, [UObject](API\Runtime\CoreUObject\UObject\UObject) * SubObject )


description: Sets the Active value and enable/disable the tick function.

code: virtual void SetActive ( const bool bIsActive )


description: Set the current child's global transform.

code: void SetChildGlobalTransform ( const FTransform & InGlobal ) const


description: Set the current child's local transform.

code: void SetChildLocalTransform ( const FTransform & InLocal ) const


description: Sets up the constraint so that the initial offset is set and dependencies and handles managed.

code: void Setup()


description: Sets up dependencies between the parent, the constraint and the child using their respective tick functions. It creates a dependency graph between them so that they tick in the right order when evaluated.

code: void SetupDependencies()


description: Registers/Unregisters useful delegates for both child and parent handles.

code: void UnregisterDelegates() const


className: UTickableTransformConstraint

description: UTickableTransformConstraint

code: class UTickableTransformConstraint : public [UTickableConstraint](API\Runtime\Constraints\UTickableConstraint)

bDynamicOffset

type: bool

description: Should the child be able to change it's offset dynamically.

bMaintainOffset

description: Should that constraint maintain the default offset.

ChildTRSHandle

type: TObjectPtr<UTr...

description: The transformable handle representing the child of that constraint.

ParentTRSHandle

description: The transformable handle representing the parent of that constraint.

Type

type: ETransformConst...

description: Defines the constraint's type (Position, Parent, Aim...).

Weight

type: float

description: Defines how much the constraint will be applied.


code: uint32 CalculateInputHash() const


description: Computes the child's local translation offset in the parent space.

code: virtual void ComputeOffset()


description: Cache data structure to store last child local/global location.

code: struct FDynamicCache


description: Returns the position constraint function that the tick function will evaluate.


description: Updates the dynamic offset based on external child's transform changes.

code: virtual void OnHandleModified ( [UTransformableHandle](API\Runtime\Constraints\UTransformableHandle) * InHandle, EHandleEvent InEvent )


description: Called when a property on this object has been modified externally


description: UTickableTranslationConstraint

code: UTickableTranslationConstraint()


className: UTickableTranslationConstraint

description: UTickableTranslationConstraint

code: class UTickableTranslationConstraint : public [UTickableTransformConstraint](API\Runtime\Constraints\UTickableTransformConstraint)

AxisFilter

description: Defines which translation axis is constrained.

OffsetTranslation

description: Defines the local child's translation offset in the parent space.


description: Add Transform Keys at the specified times

code: virtual bool AddTransformKeys ( const [TArray](API\Runtime\Core\Containers\TArray)< [FFrameNumber](API\Runtime\Core\Misc\FFrameNumber) > & InFrames, const [TArray](API\Runtime\Core\Containers\TArray)< FTransform > & InTransforms, const EMovieSceneTransformChannel & InChannels, const [FFrameRate](API\Runtime\Core\Misc\FFrameRate) & InTickResolution, [UMovieSceneSection](API\Runtime\MovieScene\UMovieSceneSection) * InSection, const bool bLocal ) const


description: Make a duplicate of myself with this outer

code: virtual [UTransformableHandle](API\Runtime\Constraints\UTransformableHandle) * Duplicate ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * NewOuter ) const


description: Get the array of double channels for the specified section

code: virtual [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FMovieSceneDoubleChannel](API\Runtime\MovieScene\Channels\FMovieSceneDoubleChannel) * > GetDoubleChannels ( const [UMovieSceneSection](API\Runtime\MovieScene\UMovieSceneSection) * InSection ) const


description: Get the array of float channels for the specified section

code: virtual [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FMovieSceneFloatChannel](API\Runtime\MovieScene\Channels\FMovieSceneFloatChannel) * > GetFloatChannels ( const [UMovieSceneSection](API\Runtime\MovieScene\UMovieSceneSection) * InSection ) const


description: Gets the global transform of Component.

code: virtual FTransform GetGlobalTransform() const


code: virtual [FString](API\Runtime\Core\Containers\FString) GetFullLabel() const


description: Generates a hash value of Component.

code: virtual uint32 GetHash() const


description: Returns labels used for UI.

code: virtual [FString](API\Runtime\Core\Containers\FString) GetLabel() const


description: Gets the local transform of Component in it's attachment.

code: virtual FTransform GetLocalTransform() const


description: Returns the target object containing the tick function (e.i. Component).

code: virtual [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetPrerequisiteObject() const


description: Look for a possible tick function that can be used as a prerequisite.

code: virtual [FTickPrerequisite](API\Runtime\Engine\Engine\FTickPrerequisite) GetPrimaryPrerequisite() const


description: Returns the underlying targeted object.

code: virtual [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) > GetTarget() const


description: Returns Component's tick function.

code: virtual [FTickFunction](API\Runtime\Engine\Engine\FTickFunction) * GetTickFunction() const


description: Check for direct dependencies (ie hierarchy) with InOther.

code: virtual bool HasDirectDependencyWith ( const [UTransformableHandle](API\Runtime\Constraints\UTransformableHandle) & InOther ) const


description: Sanity check to ensure that Component.

code: virtual bool IsValid() const


code: void OnActorMoving ( [AActor](API\Runtime\Engine\GameFramework\AActor) * InActor )


code: void OnObjectsReplaced ( const [TMap](API\Runtime\Core\Containers\TMap)< [UObject](API\Runtime\CoreUObject\UObject\UObject) *, [UObject](API\Runtime\CoreUObject\UObject\UObject) * > & InOldToNewInstances )


code: void OnPostPropertyChanged ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * InObject, [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & InPropertyChangedEvent )


description: Do any object-specific cleanup required immediately after loading an object. This is not called for newly-created objects, and by default will always execute on the game thread.

code: virtual void PostLoad()


description: Resolve the bound objects so that any object it references are resovled and correctly set up

code: virtual void ResolveBoundObjects ( [FMovieSceneSequenceID](API\Runtime\MovieScene\FMovieSceneSequenceID) LocalSequenceID, [IMovieScenePlayer](API\Runtime\MovieScene\IMovieScenePlayer) & Player, [UObject](API\Runtime\CoreUObject\UObject\UObject) * SubObject )


description: Sets the global transform of Component.

code: virtual void SetGlobalTransform ( const FTransform & InGlobal ) const


description: Sets the local transform of Component in it's attachment.

code: virtual void SetLocalTransform ( const FTransform & InLocal ) const


description: Tick the component

code: virtual void TickForBaking()


description: UTransformableComponentHandle


className: UTransformableComponentHandle

description: UTransformableComponentHandle

code: class UTransformableComponentHandle : public [UTransformableHandle](API\Runtime\Constraints\UTransformableHandle)

Component

description: The Component that this handle is pointing at.

SocketName

type: FName

description: Optional socket name on Component.


code: virtual bool AddTransformKeys ( const [TArray](API\Runtime\Core\Containers\TArray)< [FFrameNumber](API\Runtime\Core\Misc\FFrameNumber) > & InFrames, const [TArray](API\Runtime\Core\Containers\TArray)< FTransform > & InTransforms, const EMovieSceneTransformChannel & InChannels, const [FFrameRate](API\Runtime\Core\Misc\FFrameRate) & InTickResolution, [UMovieSceneSection](API\Runtime\MovieScene\UMovieSceneSection) * InSection, const bool bLocal ) const


code: virtual [UTransformableHandle](API\Runtime\Constraints\UTransformableHandle) * Duplicate ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * NewOuter ) const


className: FHandleModifiedEvent

code: class FHandleModifiedEvent : public TBaseMulticastDelegate_TwoParams< void, UTransformableHandle *, EHandleEvent >


code: virtual [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FMovieSceneDoubleChannel](API\Runtime\MovieScene\Channels\FMovieSceneDoubleChannel) * > GetDoubleChannels ( const [UMovieSceneSection](API\Runtime\MovieScene\UMovieSceneSection) * InSection ) const


code: virtual [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FMovieSceneFloatChannel](API\Runtime\MovieScene\Channels\FMovieSceneFloatChannel) * > GetFloatChannels ( const [UMovieSceneSection](API\Runtime\MovieScene\UMovieSceneSection) * InSection ) const


description: Gets the global transform of the underlying transformable object.

code: virtual FTransform GetGlobalTransform() const


description: Registers/Unregisters useful delegates to track changes in the Component's transform.

code: void UnregisterDelegates() const


code: virtual [FString](API\Runtime\Core\Containers\FString) GetFullLabel() const


description: Generates a hash value of the underlying transformable object.

code: virtual uint32 GetHash() const


code: virtual [FString](API\Runtime\Core\Containers\FString) GetLabel() const


code: virtual [FTickPrerequisite](API\Runtime\Engine\Engine\FTickPrerequisite) GetPrimaryPrerequisite() const


description: Gets the local transform of the underlying transformable object in it's parent space.

code: virtual FTransform GetLocalTransform() const


description: Returns the target object containing the tick function (returned in GetTickFunction). SeeFTickFunction::AddPrerequisitefor details.

code: virtual [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetPrerequisiteObject() const


description: Returns the underlying targeted object.

code: virtual [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) > GetTarget() const


description: Returns the tick function of the underlying transformable object. This is used to set dependencies with the constraint.

code: virtual [FTickFunction](API\Runtime\Engine\Engine\FTickFunction) * GetTickFunction() const


description: Check for direct dependencies with InOther.

code: virtual bool HasDirectDependencyWith ( const [UTransformableHandle](API\Runtime\Constraints\UTransformableHandle) & InOther ) const


description: Sanity check to ensure the handle is safe to use.

code: virtual bool IsValid() const


description: Fix up Binding in case it has changed

code: void OnBindingIDsUpdated ( const [TMap](API\Runtime\Core\Containers\TMap)< [UE::MovieScene::FFixedObjectBindingID](API\Runtime\MovieScene\FFixedObjectBindingID), [UE::MovieScene::FFixedObjectBindingID](API\Runtime\MovieScene\FFixedObjectBindingID) > & OldFixedToNewFixedMap, [FMovieSceneSequenceID](API\Runtime\MovieScene\FMovieSceneSequenceID) LocalSequenceID, const [FMovieSceneSequenceHierarchy](API\Runtime\MovieScene\Evaluation\FMovieSceneSequenceHierarchy) * Hierarchy, [IMovieScenePlayer](API\Runtime\MovieScene\IMovieScenePlayer) & Player )


code: virtual void ResolveBoundObjects ( [FMovieSceneSequenceID](API\Runtime\MovieScene\FMovieSceneSequenceID) LocalSequenceID, [IMovieScenePlayer](API\Runtime\MovieScene\IMovieScenePlayer) & Player, [UObject](API\Runtime\CoreUObject\UObject\UObject) * SubObject )


description: Sets the global transform of the underlying transformable object.

code: virtual void SetGlobalTransform ( const FTransform & InGlobal ) const


description: Sets the local transform of the underlying transformable object in it's parent space.

code: virtual void SetLocalTransform ( const FTransform & InLocal ) const


description: Perform any special ticking needed for this handle, by default it does nothing, todo need to see if we need to tick control rig also

code: virtual void TickForBaking()


description: UTransformableHandle

code: virtual ~UTransformableHandle()


description: If true it contains objects bound to an external system, like sequencer so we don't do certain things, like remove constraints when they don't resolve

code: virtual bool HasBoundObjects() const


className: UTransformableHandle

description: UTransformableHandle

code: class UTransformableHandle : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

ConstraintBindingID

type: FMovieSceneObje...

description: Possible bindingID

OnHandleModified

type: FHandleModified...


module: Core

code: namespace AlgoImpl { template<typename RangeType, typename ValueType, typename ProjectionType> [TRangePointerType](API\Runtime\Core\Algo\Impl\TRangePointerType)< typename [TRemoveReference](API\Runtime\Core\Templates\TRemoveReference)< RangeType >::Type >::Type AlgoImpl::FindBy ( RangeType && Range, const ValueType & Value, ProjectionType Proj ) }


code: namespace AlgoImpl { template<typename RangeType, typename PredicateType> [TRangePointerType](API\Runtime\Core\Algo\Impl\TRangePointerType)< typename [TRemoveReference](API\Runtime\Core\Templates\TRemoveReference)< RangeType >::Type >::Type AlgoImpl::FindByPredicate ( RangeType && Range, PredicateType Pred ) }


code: namespace AlgoImpl { template<typename T, typename ValueType, typename ProjectionType> T * AlgoImpl::FindLastBy ( T * First, SIZE_T Num, const ValueType & Value, ProjectionType Proj ) }


code: namespace AlgoImpl { template<typename T, typename PredicateType> T * AlgoImpl::FindLastByPredicate ( T * First, SIZE_T Num, PredicateType Pred ) }


description: Called when there is a MutuallyReachableVertexSet (aka no vertices are independent). It returns the most-independent maximal MutuallyReachableVertexSet.

code: namespace AlgoImpl { const [TSet](API\Runtime\Core\Containers\TSet)< [FKahnHandle](API\Runtime\Core\Algo\FKahnHandle) > & AlgoImpl::FindMostIndependentMutuallyReachableVertexSet ( [FKahnContext](API\Runtime\Core\Algo\FKahnContext) & Context ) }


code: namespace AlgoImpl { template<typename WhereType, typename WhatType> constexpr WhereType * AlgoImpl::FindSequence ( WhereType * First, WhereType * Last, WhatType * WhatFirst, WhatType * WhatLast ) }


code: namespace AlgoImpl { template<typename RangeType, typename PredicateType> auto AlgoImpl::IndexOfByPredicate ( RangeType && Range, PredicateType Pred ) }


code: namespace AlgoImpl { template<typename RangeType, typename ValueType, typename ProjectionType> auto AlgoImpl::IndexOfBy ( RangeType && Range, const ValueType & Value, ProjectionType Proj ) }


description: Implementation of an introspective sort. Starts with quick sort and switches to heap sort when the iteration depth is too big. The sort is unstable, meaning that the ordering of equal items is not necessarily preserved. This is the internal sorting function used by IntroSort overrides.

code: namespace AlgoImpl { template<typename T, typename IndexType, typename ProjectionType, typename PredicateType> void AlgoImpl::IntroSortInternal ( T * First, IndexType Num, ProjectionType Projection, PredicateType Predicate ) }


description:
Verifies that the range is a min-heap (parent <= child) This is the internal function used by IsHeap overrides.
returns true if the range is a min-heap

code: namespace AlgoImpl { template<typename RangeValueType, typename IndexType, typename ProjectionType, typename PredicateType> bool AlgoImpl::IsHeapInternal ( RangeValueType * Heap, IndexType Num, ProjectionType Projection, PredicateType Predicate ) }


code: namespace AlgoImpl { template<typename T, typename IndexType, typename ProjectionType, typename PredType> bool AlgoImpl::IsSortedBy ( const T * Range, IndexType RangeSize, ProjectionType Proj, PredType Pred ) }


description: Sort elements using user defined predicate class. The sort is unstable, meaning that the ordering of equal items is not necessarily preserved. This is the internal sorting function used by Sort overrides. This used to beAlgo::Sortand is now considered legacy.

code: namespace AlgoImpl { template<typename T, typename ProjectionType, typename PredicateType> void AlgoImpl::LegacySortInternal ( T * First, int32 Num, ProjectionType Projection, PredicateType Predicate ) }


description: Convert UniqueRange and GetElementDependencies into handles, dependency count, dependencies, and referencers

code: namespace AlgoImpl { template<typename RangeType, typename GetElementDependenciesType> void AlgoImpl::KahnTopologicalSort_CreateWorkingGraph ( [FKahnContext](API\Runtime\Core\Algo\FKahnContext) & Context, RangeType & UniqueRange, GetElementDependenciesType GetElementDependencies, [TSet](API\Runtime\Core\Containers\TSet)< [FKahnHandle](API\Runtime\Core\Algo\FKahnHandle) > & OutInitialIndependents ) }


description:
Performs binary search, resulting in position of the first element >= Value
Position of the first element >= Value, may be == Num

code: namespace AlgoImpl { template<typename RangeValueType, typename SizeType, typename PredicateValueType, typename ProjectionType, typename SortPredicateType> SizeType AlgoImpl::LowerBoundInternal ( RangeValueType * First, const SizeType Num, const PredicateValueType & Value, ProjectionType Projection, SortPredicateType SortPredicate ) }


code: namespace AlgoImpl { template<typename RangeType, typename ProjectionType, typename PredicateType> [TRangePointerType](API\Runtime\Core\Algo\Impl\TRangePointerType)< RangeType >::Type AlgoImpl::MaxElementBy ( RangeType & Range, ProjectionType Proj, PredicateType Pred ) }


code: namespace AlgoImpl { template<typename T, typename ProjectionType, typename PredicateType> void AlgoImpl::Merge ( T * First, int32 Mid, int32 Num, ProjectionType Projection, PredicateType Predicate ) }


code: namespace AlgoImpl { template<typename RangeType, typename ProjectionType, typename PredicateType> [TRangePointerType](API\Runtime\Core\Algo\Impl\TRangePointerType)< RangeType >::Type AlgoImpl::MinElementBy ( RangeType & Range, ProjectionType Proj, PredicateType Pred ) }


code: namespace AlgoImpl { template<typename T> void AlgoImpl::Reverse ( T * Array, int32 ArraySize ) }


code: namespace AlgoImpl { template<typename T> int32 AlgoImpl::RotateInternal ( T * First, int32 Num, int32 Count ) }


code: namespace AlgoImpl { template<typename RangeType, typename ProjectionType> [TRangePointerType](API\Runtime\Core\Algo\Impl\TRangePointerType)< typename [TRemoveReference](API\Runtime\Core\Templates\TRemoveReference)< RangeType >::Type >::Type AlgoImpl::SelectRandomWeightedBy ( RangeType && Range, ProjectionType Proj ) }


description: Sort elements using user defined projection and predicate classes. The sort is stable, meaning that the ordering of equal items is preserved. This is the internal sorting function used by theAlgo::Sortoverloads.

code: namespace AlgoImpl { template<typename T, typename ProjectionType, typename PredicateType> void AlgoImpl::StableSortInternal ( T * First, int32 Num, ProjectionType Projection, PredicateType Predicate ) }


code: namespace AlgoImpl { template<typename T, typename SizeType, typename ProjectionType, typename BinaryPredicate> SizeType AlgoImpl::Unique ( T * Array, SizeType ArraySize, ProjectionType Proj, BinaryPredicate Predicate ) }


code: namespace AlgoImpl { template<typename RangeValueType, typename SizeType, typename PredicateValueType, typename ProjectionType, typename SortPredicateType> SizeType AlgoImpl::UpperBoundInternal ( RangeValueType * First, const SizeType Num, const PredicateValueType & Value, ProjectionType Projection, SortPredicateType SortPredicate ) }


description:
Sums a range.
the result of summing all the elements of Input

code: namespace Algo { template<typename T, typename A> T Algo::Accumulate ( const A & Input, T Init ) }


description:
Sums a range by successively applying Op.
the result of summing all the elements of Input

code: namespace Algo { template<typename T, typename A, typename OpT> T Algo::Accumulate ( const A & Input, T Init, OpT Op ) }


description:
Checks if every element in the range is truthy.
true if all the elements are truthy, false otherwise.

code: namespace Algo { template<typename RangeType> bool Algo::AllOf ( const RangeType & Range ) }


description:
Checks if every projection of the elements in the range is truthy.
true if all the projections are truthy, false otherwise.

code: namespace Algo { template<typename RangeType, typename ProjectionType> bool Algo::AllOf ( const RangeType & Range, ProjectionType Projection ) }


description:
Checks if any element in the range is truthy.
true if at least one element is truthy, false otherwise.

code: namespace Algo { template<typename RangeType> bool Algo::AnyOf ( const RangeType & Range ) }


description:
Checks if any projection of the elements in the range is truthy.
true if at least one projection is truthy, false otherwise.

code: namespace Algo { template<typename RangeType, typename ProjectionType> bool Algo::AnyOf ( const RangeType & Range, ProjectionType Projection ) }


description:
Checks if any projection of the elements in the range is truthy. Should be used when the range iterator doesn't return a reference.
true if at least one projection is truthy, false otherwise.

code: namespace Algo { template<typename RangeType, typename ProjectionType> bool Algo::AnyOf ( const RangeType & Range, ProjectionType Projection, [ENoRef](API\Runtime\Core\Algo\Algo__ENoRef) NoRef ) }


code: namespace Algo { template<typename RangeType, typename ValueType> auto Algo::BinarySearch ( RangeType & Range, const ValueType & Value ) }


description: Returns index to the first found element matching a value in a range, the range must be sorted by <Indexof found element, or INDEX_NONE

code: namespace Algo { template<typename RangeType, typename ValueType, typename SortPredicateType> auto Algo::BinarySearch ( RangeType & Range, const ValueType & Value, SortPredicateType SortPredicate ) }


code: namespace Algo { template<typename RangeType, typename ValueType, typename ProjectionType> auto Algo::BinarySearchBy ( RangeType & Range, const ValueType & Value, ProjectionType Projection ) }


description: Returns index to the first found element with projected value matching Value in a range, the range must be sorted by predicateIndexof found element, or INDEX_NONE

code: namespace Algo { template<typename RangeType, typename ValueType, typename ProjectionType, typename SortPredicateType> auto Algo::BinarySearchBy ( RangeType & Range, const ValueType & Value, ProjectionType Projection, SortPredicateType SortPredicate ) }


description:
Compares two contiguous containers using operator== to compare pairs of elements.
Whether the containers are the same size and operator== returned true for every pair of elements.

code: namespace Algo { template<typename InAT, typename InBT> constexpr bool Algo::Compare ( InAT && InputA, InBT && InputB ) }


description:
Compares two contiguous containers using a predicate to compare pairs of elements.
Whether the containers are the same size and the predicate returned true for every pair of elements.

code: namespace Algo { template<typename InAT, typename InBT, typename PredicateT> constexpr bool Algo::Compare ( InAT && InputA, InBT && InputB, PredicateT Predicate ) }


description:
Compares two contiguous containers using operator== to compare pairs of projected elements.
Whether the containers are the same size and operator== returned true for every pair of elements.

code: namespace Algo { template<typename InAT, typename InBT, typename ProjectionT> constexpr bool Algo::CompareBy ( InAT && InputA, InBT && InputB, ProjectionT Projection ) }


description:
Compares two contiguous containers using a predicate to compare pairs of projected elements.
Whether the containers are the same size and the predicate returned true for every pair of elements.

code: namespace Algo { template<typename InAT, typename InBT, typename ProjectionT, typename PredicateT> constexpr bool Algo::CompareBy ( InAT && InputA, InBT && InputB, ProjectionT Projection, PredicateT Predicate ) }


description: Deprecated* CompareByPredicate has been renamed to Compare.

code: namespace Algo { template<typename InAT, typename InBT, typename PredicateT> constexpr bool Algo::CompareByPredicate ( InAT && InputA, InBT && InputB, PredicateT Predicate ) }


description: Copies a range into a container

code: namespace Algo { template<typename InT, typename OutT> void Algo::Copy ( const InT & Input, OutT & Output ) }


description: Copies a range into a container. Should be used if when the input iterator doesn't return a reference.

code: namespace Algo { template<typename InT, typename OutT> void Algo::Copy ( const InT & Input, OutT & Output, [ENoRef](API\Runtime\Core\Algo\Algo__ENoRef) NoRef ) }


description: Conditionally copies a range into a container

code: namespace Algo { template<typename InT, typename OutT, typename PredicateT> void Algo::CopyIf ( const InT & Input, OutT & Output, PredicateT Predicate ) }


description: Counts elements of a range that equal the supplied value

code: namespace Algo { template<typename InT, typename ValueT> SIZE_T Algo::Count ( const InT & Input, const ValueT & InValue ) }


description: Counts elements of a range whose projection equals the supplied value

code: namespace Algo { template<typename InT, typename ValueT, typename ProjectionT> SIZE_T Algo::CountBy ( const InT & Input, const ValueT & InValue, ProjectionT Proj ) }


description: Counts elements of a range that match a given predicate

code: namespace Algo { template<typename InT, typename PredicateT> SIZE_T Algo::CountIf ( const InT & Input, PredicateT Predicate ) }


description: A special enum indicating that reference should NOT be used when iterating a container.

code: namespace Algo { enum ENoRef { NoRef, } }


description: Flags for behavior of TopologicalSort; see the function comment in TopologicalSort.h

code: namespace Algo { enum ETopologicalSort { None, AllowCycles, } }


description:
Returns a pointer to the first element in the range which is equal to the given value.
A pointer to the first element found, or nullptr if none was found.

code: namespace Algo { template<typename RangeType, typename ValueType> auto Algo::Find ( RangeType && Range, const ValueType & Value ) }


description:
Returns a pointer to the first element in the range which matches the predicate.
A pointer to the first element found, or nullptr if none was found.

code: namespace Algo { template<typename RangeType, typename PredicateType> auto Algo::FindByPredicate ( RangeType && Range, PredicateType Pred ) }


description:
Returns a pointer to the first element in the range whose projection is equal to the given value.
A pointer to the first element found, or nullptr if none was found.

code: namespace Algo { template<typename RangeType, typename ValueType, typename ProjectionType> auto Algo::FindBy ( RangeType && Range, const ValueType & Value, ProjectionType Proj ) }


description:
Returns a pointer to the last element in the range which is equal to the given value.
A pointer to the last element found, or nullptr if none was found.

code: namespace Algo { template<typename RangeType, typename ValueType> auto Algo::FindLast ( RangeType && Range, const ValueType & Value ) }


description:
Returns a pointer to the last element in the range whose projection is equal to the given value.
A pointer to the last element found, or nullptr if none was found.

code: namespace Algo { template<typename RangeType, typename ValueType, typename ProjectionType> auto Algo::FindLastBy ( RangeType && Range, const ValueType & Value, ProjectionType Proj ) }


description:
Returns a pointer to the last element in the range which matches the predicate.
A pointer to the last element found, or nullptr if none was found.

code: namespace Algo { template<typename RangeType, typename PredicateType> auto Algo::FindLastByPredicate ( RangeType && Range, PredicateType Pred ) }


description:
Searches for the first occurrence of a sequence of elements in another sequence.
A pointer to the first occurrence of the "What" sequence in "Where" sequence, or nullptr if not found.

code: namespace Algo { template<typename RangeWhereType, typename RangeWhatType> auto Algo::FindSequence ( const RangeWhereType & Where, const RangeWhatType & What ) }


description:
Finds a string in an array of sorted strings, by case-insensitive search, by using binary subdivision of the array.
The index of the found string in the array, or -1 if the string was not found.

code: namespace Algo { template<int32 ArraySize> int32 Algo::FindSortedStringCaseInsensitive ( const TCHAR * Str, const TCHAR *const (&) SortedArray ) }


description: Invokes a callable to each element in a range

code: namespace Algo { template<typename InT, typename CallableT> void Algo::ForEach ( InT & Input, CallableT Callable ) }


description: Conditionally invokes a callable to each element in a range

code: namespace Algo { template<typename InT, typename PredicateT, typename CallableT> void Algo::ForEachIf ( InT & Input, PredicateT Predicate, CallableT Callable ) }


description: Sorts the given range in leaf to root order: For every pair of elements (A,B) where SortedIndex(A) < SortedIndex(B), either B is not reachable from A, or A and B are mutually reachable.

code: namespace Algo { *const RangeType< T > & Algo::GetElementDependencies ( const T & Element ) }


description: Builds an implicit min-heap from a range of elements. Assumes < operator is defined for the element type.

code: namespace Algo { template<typename RangeType> void Algo::Heapify ( RangeType & Range ) }


description: Builds an implicit min-heap from a range of elements.

code: namespace Algo { template<typename RangeType, typename PredicateType> void Algo::Heapify ( RangeType & Range, PredicateType Predicate ) }


description: Builds an implicit min-heap from a range of elements. Assumes < operator is defined for the projected element type.

code: namespace Algo { template<typename RangeType, typename ProjectionType, typename PredicateType> void Algo::HeapifyBy ( RangeType & Range, ProjectionType Projection ) }


code: namespace Algo { template<typename RangeType, typename ProjectionType, typename PredicateType> void Algo::HeapifyBy ( RangeType & Range, ProjectionType Projection, PredicateType Predicate ) }


description: Performs heap sort on the elements. Assumes < operator is defined for the element type.

code: namespace Algo { template<typename RangeType> void Algo::HeapSort ( RangeType && Range ) }


description: Performs heap sort on the elements.

code: namespace Algo { template<typename RangeType, typename PredicateType> void Algo::HeapSort ( RangeType && Range, PredicateType Predicate ) }


description: Performs heap sort on the elements. Assumes < operator is defined for the projected element type.

code: namespace Algo { template<typename RangeType, typename ProjectionType> void Algo::HeapSortBy ( RangeType && Range, ProjectionType Projection ) }


description: Performs heap sort on the elements.

code: namespace Algo { template<typename RangeType, typename ProjectionType, typename PredicateType> void Algo::HeapSortBy ( RangeType && Range, ProjectionType Projection, PredicateType Predicate ) }


description:
Checks if one sorted contiguous container is a subsequence of another sorted contiguous container by comparing pairs of elements. The subsequence does not need to be contiguous. Uses operator< to compare pairs of elements.
True if RangeB is a subsequence of RangeA, false otherwise.

code: namespace Algo { template<typename RangeTypeA, typename RangeTypeB> constexpr bool Algo::Includes ( RangeTypeA && RangeA, RangeTypeB && RangeB ) }


description:
Checks if one sorted contiguous container is a subsequence of another sorted contiguous container by comparing pairs of elements using a custom predicate. The subsequence does not need to be contiguous.
True if RangeB is a subsequence of RangeA according to the provided predicate, false otherwise.

code: namespace Algo { template<typename RangeTypeA, typename RangeTypeB, typename SortPredicateType> constexpr bool Algo::Includes ( RangeTypeA && RangeA, RangeTypeB && RangeB, SortPredicateType SortPredicate ) }


description:
Checks if one sorted contiguous container is a subsequence of another sorted contiguous container by comparing pairs of projected elements. The subsequence does not need to be contiguous. Uses operator< to compare pairs of projected elements.
True if RangeB is a subsequence of RangeA, based on the comparison of projected elements, false otherwise.

code: namespace Algo { template<typename RangeTypeA, typename RangeTypeB, typename ProjectionType> constexpr bool Algo::IncludesBy ( RangeTypeA && RangeA, RangeTypeB && RangeB, ProjectionType Projection ) }


description:
Checks if one sorted contiguous container is a subsequence of another sorted contiguous container by comparing pairs of projected elements using a custom predicate. The subsequence does not need to be contiguous.
True if RangeB is a subsequence of RangeA according to the comparison of projected elements using the provided predicate, false otherwise.

code: namespace Algo { template<typename RangeTypeA, typename RangeTypeB, typename ProjectionType, typename SortPredicateType> constexpr bool Algo::IncludesBy ( RangeTypeA && RangeA, RangeTypeB && RangeB, ProjectionType Projection, SortPredicateType SortPredicate ) }


description:
Returns the index of the first element in the range which is equal to the given value.
The index of the first element found, or (SizeType)-1 if none was found (where SizeType = decltype(GetNum(Range)))

code: namespace Algo { template<typename RangeType, typename ValueType> auto Algo::IndexOf ( RangeType && Range, const ValueType & Value ) }


description:
Returns the index of the first element in the range whose projection is equal to the given value.
The index of the first element found, or (SizeType)-1 if none was found (where SizeType = decltype(GetNum(Range)))

code: namespace Algo { template<typename RangeType, typename ValueType, typename ProjectionType> auto Algo::IndexOfBy ( RangeType && Range, const ValueType & Value, ProjectionType Proj ) }


description:
Returns the index of the first element in the range which matches the predicate.
The index of the first element found, or (SizeType)-1 if none was found (where SizeType = decltype(GetNum(Range)))

code: namespace Algo { template<typename RangeType, typename PredicateType> auto Algo::IndexOfByPredicate ( RangeType && Range, PredicateType Pred ) }


description: Sort a range of elements using its operator<. The sort is unstable.

code: namespace Algo { template<typename RangeType> void Algo::IntroSort ( RangeType && Range ) }


description: Sort a range of elements using a user-defined predicate class. The sort is unstable.

code: namespace Algo { template<typename RangeType, typename PredicateType> void Algo::IntroSort ( RangeType && Range, PredicateType Predicate ) }


description: Sort a range of elements by a projection using the projection's operator<. The sort is unstable.

code: namespace Algo { template<typename RangeType, typename ProjectionType> void Algo::IntroSortBy ( RangeType && Range, ProjectionType Projection ) }


description: Sort a range of elements by a projection using a user-defined predicate class. The sort is unstable.

code: namespace Algo { template<typename RangeType, typename ProjectionType, typename PredicateType> void Algo::IntroSortBy ( RangeType && Range, ProjectionType Projection, PredicateType Predicate ) }


description:
Verifies that the range is a min-heap (parent <= child). Assumes < operator is defined for the element type.
returns true if the range is a min-heap

code: namespace Algo { template<typename RangeType> bool Algo::IsHeap ( RangeType & Range ) }


description:
Verifies that the range is a min-heap (parent <= child)
returns true if the range is a min-heap

code: namespace Algo { template<typename RangeType, typename PredicateType> bool Algo::IsHeap ( RangeType & Range, PredicateType Predicate ) }


description:
Verifies that the range is a min-heap (parent <= child). Assumes < operator is defined for the projected element type.
returns true if the range is a min-heap

code: namespace Algo { template<typename RangeType, typename ProjectionType> bool Algo::IsHeapBy ( RangeType & Range, ProjectionType Projection ) }


code: namespace Algo { template<typename RangeType, typename ProjectionType, typename PredicateType> bool Algo::IsHeapBy ( RangeType & Range, ProjectionType Projection, PredicateType Predicate ) }


description:
Tests if a range is sorted by its element type's operator<.
true if the range is sorted, false otherwise.

code: namespace Algo { template<typename RangeType> bool Algo::IsSorted ( const RangeType & Range ) }


description:
Tests if a range is sorted by a user-defined predicate.
true if the range is sorted, false otherwise.

code: namespace Algo { template<typename RangeType, typename PredType> bool Algo::IsSorted ( const RangeType & Range, PredType Pred ) }


description:
Tests if a range is sorted by a projection of the element type, using the projection's operator<.
true if the range is sorted, false otherwise.

code: namespace Algo { template<typename RangeType, typename ProjectionType> bool Algo::IsSortedBy ( const RangeType & Range, ProjectionType Projection ) }


description:
Tests if a range is sorted by a projection of the element type, using a user-defined predicate on the projection.
true if the range is sorted, false otherwise.

code: namespace Algo { template<typename RangeType, typename ProjectionType, typename PredType> bool Algo::IsSortedBy ( const RangeType & Range, ProjectionType Projection, PredType Pred ) }


description: Public entrypoint. Implements Algo::TopologicalSort using the Kahn Topological Sort algorithm.

code: namespace Algo { template<typename RangeType, typename GetElementDependenciesType> bool Algo::KahnTopologicalSort ( RangeType & UniqueRange, GetElementDependenciesType GetElementDependencies, [ETopologicalSort](API\Runtime\Core\Algo\Algo__ETopologicalSort) Flags ) }


description: Sort a range of elements using its operator<. The sort is unstable. This used to beAlgo::Sortand is now considered legacy.

code: namespace Algo { template<typename RangeType> void Algo::LegacySort ( RangeType && Range ) }


description: Sort a range of elements using a user-defined predicate class. The sort is unstable. This used to beAlgo::Sortand is now considered legacy.

code: namespace Algo { template<typename RangeType, typename PredicateType> void Algo::LegacySort ( RangeType && Range, PredicateType Pred ) }


description: Sort a range of elements by a projection using the projection's operator<. The sort is unstable. This used to beAlgo::Sortand is now considered legacy.

code: namespace Algo { template<typename RangeType, typename ProjectionType> void Algo::LegacySortBy ( RangeType && Range, ProjectionType Proj ) }


description: Sort a range of elements by a projection using a user-defined predicate class. The sort is unstable. This used to beAlgo::Sortand is now considered legacy.

code: namespace Algo { template<typename RangeType, typename ProjectionType, typename PredicateType> void Algo::LegacySortBy ( RangeType && Range, ProjectionType Proj, PredicateType Pred ) }


description:
Range[A/B]Type: Support [] operator and the range element must be able to be compare with == operator Support GetNum() functionality
The number of operation to transform RangeA to RangeB

code: namespace Algo { template<typename RangeAType, typename RangeBType> int32 Algo::LevenshteinDistance ( const RangeAType & RangeA, const RangeBType & RangeB ) }


code: namespace Algo { template<typename RangeType, typename ValueType> auto Algo::LowerBound ( RangeType & Range, const ValueType & Value ) }


description:
Performs binary search, resulting in position of the first element with projected value >= Value using predicate
Position of the first element >= Value, may be position after last element in range

code: namespace Algo { template<typename RangeType, typename ValueType, typename ProjectionType, typename SortPredicateType> auto Algo::LowerBoundBy ( RangeType & Range, const ValueType & Value, ProjectionType Projection, SortPredicateType SortPredicate ) }


code: namespace Algo { template<typename RangeType, typename ValueType, typename ProjectionType> auto Algo::LowerBoundBy ( RangeType & Range, const ValueType & Value, ProjectionType Projection ) }


description:
Returns a pointer to the maximum element in a range. If the range contains multiple maximum elements, a pointer to the first one will be returned.
A pointer to the maximum element, or nullptr if the range was empty.

code: namespace Algo { template<typename RangeType> auto Algo::MaxElement ( RangeType & Range ) }


description:
Returns a pointer to the maximum element in a range with a user-defined binary comparator. If the range contains multiple maximum elements, a pointer to the first one will be returned.
A pointer to the maximum element, or nullptr if the range was empty.

code: namespace Algo { template<typename RangeType, typename ComparatorType> auto Algo::MaxElement ( RangeType & Range, ComparatorType Comp ) }


code: namespace Algo { template<typename RangeType, typename ProjectionType> auto Algo::MaxElementBy ( RangeType & Range, ProjectionType Proj ) }


code: namespace Algo { template<typename RangeType, typename ProjectionType, typename ComparatorType> auto Algo::MaxElementBy ( RangeType & Range, ProjectionType Proj, ComparatorType Comp ) }


description:
Returns a pointer to the minimum element in a range. If the range contains multiple minimum elements, a pointer to the first one will be returned.
A pointer to the minimum element, or nullptr if the range was empty.

code: namespace Algo { template<typename RangeType> auto Algo::MinElement ( RangeType & Range ) }


description:
Returns a pointer to the minimum element in a range with a user-defined binary comparator. If the range contains multiple minimum elements, a pointer to the first one will be returned.
A pointer to the minimum element, or nullptr if the range was empty.

code: namespace Algo { template<typename RangeType, typename ComparatorType> auto Algo::MinElement ( RangeType & Range, ComparatorType Comp ) }


description:
Performs binary search, resulting in position of the first element >= Value using predicate
Position of the first element >= Value, may be position after last element in range

code: namespace Algo { template<typename RangeType, typename ValueType, typename SortPredicateType> auto Algo::LowerBound ( RangeType & Range, const ValueType & Value, SortPredicateType SortPredicate ) }