FAnimNodeEditMode

Base implementation for anim node edit modes

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

AnimGraph

Header

/Engine/Source/Editor/AnimGraph/Public/AnimNodeEditMode.h

Include

#include "AnimNodeEditMode.h"

Syntax

class FAnimNodeEditMode : public IAnimNodeEditMode

Remarks

Base implementation for anim node edit modes

Variables

Name Description

Protected variable

UAnimGraphNode_...

 

AnimNode

The node we are operating on

Protected variable

FAnimNode_Base ...

 

RuntimeAnimNode

The runtime node in the preview scene

Constructors

Name Description

Public function

FAnimNodeEditMode()

Functions

Name Description

Protected function Static

FQuat

 

ConvertCSRotationToBoneSpace

(
    const USkeletalMeshComponent* ...,
    FRotator& InCSRotator,
    FCSPose< FCompactHeapPose >& MeshB...,
    const FName& BoneName,
    const EBoneControlSpace Space
)

Convert rotator in component space to bone space

Protected function Static

FVector

 

ConvertCSVectorToBoneSpace

(
    const USkeletalMeshComponent* ...,
    FVector& InCSVector,
    FCSPose< FCompactHeapPose >& MeshB...,
    const FBoneSocketTarget& InTarget,
    const EBoneControlSpace Space
)

Convert drag vector in component space to bone space

Protected function Static

FVector

 

ConvertCSVectorToBoneSpace

(
    const USkeletalMeshComponent* ...,
    FVector& InCSVector,
    FCSPose< FCompactHeapPose >& MeshB...,
    const FName& BoneName,
    const EBoneControlSpace Space
)

Convert drag vector in component space to bone space

Protected function Static

void

 

ConvertToBoneSpaceTransform

(
    const USkeletalMeshComponent* ...,
    const FTransform& InCSTransform,
    FTransform& OutBSTransform,
    int32 BoneIndex,
    EBoneControlSpace Space
)

Protected function Static

void

 

ConvertToComponentSpaceTransform

(
    const USkeletalMeshComponent* ...,
    const FTransform& InTransform,
    FTransform& OutCSTransform,
    int32 BoneIndex,
    EBoneControlSpace Space
)

Local conversion functions for drawing

Protected function Static

FVector

 

ConvertWidgetLocation

(
    const USkeletalMeshComponent* ...,
    FCSPose< FCompactHeapPose >& InMes...,
    const FName& BoneName,
    const FVector& InLocation,
    const EBoneControlSpace Space
)

Convert widget location according to bone control space

Protected function Static

FVector

 

ConvertWidgetLocation

(
    const USkeletalMeshComponent* ...,
    FCSPose< FCompactHeapPose >& InMes...,
    const FBoneSocketTarget& Target,
    const FVector& InLocation,
    const EBoneControlSpace Space
)

Convert widget location according to bone control space

Overridden from IAnimNodeEditMode

Name Description

Public function Virtual

FWidget::EWi...

 

ChangeToNextWidgetMode

(
    FWidget::EWidgetMode CurWidgetMode
)

Called when the user changed widget mode by pressing "Space" key

Public function Virtual

void

 

DoRotation

(
    FRotator& InRotation
)

Called when the widget is dragged in rotation mode

Public function Virtual

void

 

DoScale

(
    FVector& InScale
)

Called when the widget is dragged in scale mode

Public function Virtual

void

 

DoTranslation

(
    FVector& InTranslation
)

Called when the widget is dragged in translation mode

Public function Virtual

void

 

EnterMode

(
    UAnimGraphNode_Base* InEditorN...,
    FAnimNode_Base* InRuntimeNode
)

Called when entering this edit mode

Public function Virtual

void

 

ExitMode()

Called when exiting this edit mode

Public function Virtual Const

FName

 

GetSelectedBone()

Get the bone that the skeletal control is manipulating

Public function Virtual Const

ECoordSystem

 

GetWidgetCoordinateSystem()

IAnimNodeEditMode interface

Public function Virtual Const

FWidget::EWi...

 

GetWidgetMode()

Public function Virtual

bool

 

SetWidgetMode

(
    FWidget::EWidgetMode InWidgetMode
)

Called when the user set widget mode directly, returns true if InWidgetMode is available

Overridden from IPersonaEditMode

Name Description

Public function Virtual Const

IPersonaPrev...

 

GetAnimPreviewScene()

Public function Virtual Const

bool

 

GetCameraTarget

(
    FSphere& OutTarget
)

IPersonaEditMode interface

Public function Virtual Const

void

 

GetOnScreenDebugInfo

(
    TArray< FText >& OutDebugInfo
)

Function to collect strings from nodes to display in the viewport.

Overridden from FEdMode

Name Description

Public function Virtual

void

 

DrawHUD

(
    FEditorViewportClient* Viewpor...,
    FViewport* Viewport,
    const FSceneView* View,
    FCanvas* Canvas
)

Overlays the editor hud (brushes, drag tools, static mesh vertices, etc*.

Public function Virtual

bool

 

EndTracking

(
    FEditorViewportClient* InViewp...,
    FViewport* InViewport
)

Public function Virtual

bool

 

GetCustomDrawingCoordinateSystem

(
    FMatrix& InMatrix,
    void* InData
)

Public function Virtual

bool

 

GetCustomInputCoordinateSystem

(
    FMatrix& InMatrix,
    void* InData
)

Public function Virtual Const

FVector

 

GetWidgetLocation()

Allows each mode/tool to determine a good location for the widget to be drawn at.

Public function Virtual

bool

 

HandleClick

(
    FEditorViewportClient* InViewp...,
    HHitProxy* HitProxy,
    const FViewportClick& Click
)

Public function Virtual

bool

 

InputDelta

(
    FEditorViewportClient* InViewp...,
    FViewport* InViewport,
    FVector& InDrag,
    FRotator& InRot,
    FVector& InScale
)

Public function Virtual

bool

 

InputKey

(
    FEditorViewportClient* InViewp...,
    FViewport* InViewport,
    FKey InKey,
    EInputEvent InEvent
)

Public function Virtual

void

 

Render

(
    const FSceneView* View,
    FViewport* Viewport,
    FPrimitiveDrawInterface* PDI
)

FEdMode interface

Public function Virtual Const

bool

 

ShouldDrawWidget()

Lets the mode determine if it wants to draw the widget or not.

Public function Virtual

bool

 

StartTracking

(
    FEditorViewportClient* InViewp...,
    FViewport* InViewport
)

Public function Virtual

void

 

Tick

(
    FEditorViewportClient* Viewpor...,
    float DeltaTime
)

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss