5#include "ActorComponent.h"
8#include "Ganit/Transform.h"
13 class USceneComponent;
16 enum ERelativeTransformSpace
45 glm::vec3 m_RelativeLocation;
48 glm::vec3 m_RelativeRotation;
54 glm::vec3 m_RelativeScale3D;
57 std::shared_ptr<USceneComponent> m_AttachParent;
63 uint8_t m_bAbsoluteLocation : 1;
66 uint8_t m_bAbsoluteRotation : 1;
69 uint8_t m_bAbsoluteScale : 1;
98 return m_RelativeRotation;
111 return m_RelativeLocation;
124 return m_RelativeScale3D;
141 void SetWorldLocation(glm::vec3 newLocation);
156 void SetWorldTransform(
const FTransform& NewTransform);
159 std::shared_ptr<USceneComponent> GetAttachParent()
const;
166 virtual FTransform GetSocketTransform(
const std::string& InSocketName, ERelativeTransformSpace TransformSpace = RTS_World)
const;
171 return m_ComponentToWorld;
174 virtual void BeginDestroy()
override;
184 return m_bAbsoluteLocation;
195 return m_bAbsoluteRotation;
206 return m_bAbsoluteScale;
220 void SetRelativeTransform(
const FTransform& NewTransform);
222 FORCEINLINE
const std::string& GetAttachSocketName()
const
224 return m_AttachSocketName;
Definition ActorComponent.h:35
Definition SceneComponent.h:34
bool IsUsingAbsoluteScale() const
Definition SceneComponent.h:204
bool IsUsingAbsoluteLocation() const
Definition SceneComponent.h:182
const glm::vec3 & GetRelativeRotation() const
Definition SceneComponent.h:96
glm::vec3 m_ComponentVelocity
Definition SceneComponent.h:76
const glm::vec3 & GetRelativeLocation() const
Definition SceneComponent.h:109
const glm::vec3 & GetRelativeScale3D() const
Definition SceneComponent.h:122
bool IsUsingAbsoluteRotation() const
Definition SceneComponent.h:193
const FTransform & GetComponentTransform() const
Definition SceneComponent.h:169
std::vector< std::shared_ptr< USceneComponent > > m_AttachChildren
Definition SceneComponent.h:86
std::string m_AttachSocketName
Definition SceneComponent.h:83