Files
bluflame/aiwaz/Aiwaz/Interfaces/ITransformation.h
2026-04-18 22:31:51 +02:00

76 lines
2.8 KiB
C++

#pragma once
struct TransformationBindings
{
static TransformationBindings CreateDefault()
{
TransformationBindings bindings;
bindings.WorldMatrixSemanticName = "WorldMatrix";
bindings.LocalMatrixSemanticName = "LocalMatrix";
bindings.WorldPositionSemanticName = "WorldPosition";
bindings.LocalPositionSemanticName = "LocalPosition";
bindings.WorldDirectionSemanticName = "WorldDirection";
bindings.LocalDirectionSemanticName = "LocalDirection";
bindings.WorldUpDirectionSemanticName = "WorldUpDirection";
bindings.LocalUpDirectionSemanticName = "LocalUpDirection";
bindings.WorldRightDirectionSemanticName = "WorldUpDirection";
bindings.LocalRightDirectionSemanticName = "LocalUpDirection";
return bindings;
}
string8 WorldMatrixSemanticName;
string8 LocalMatrixSemanticName;
string8 WorldPositionSemanticName;
string8 LocalPositionSemanticName;
string8 WorldDirectionSemanticName;
string8 LocalDirectionSemanticName;
string8 WorldUpDirectionSemanticName;
string8 LocalUpDirectionSemanticName;
string8 WorldRightDirectionSemanticName;
string8 LocalRightDirectionSemanticName;
};
struct __declspec(novtable) ITransformation
{
virtual void set_TransformationBindings(const TransformationBindings& argData) = 0;
virtual TransformationBindings get_TransformationBindings() const = 0;
virtual void set_LocalPosition(const D3DXVECTOR3& argValue) = 0;
virtual const D3DXVECTOR3& get_LocalPosition() const = 0;
virtual const D3DXVECTOR3& get_WorldPosition() const = 0;
virtual void set_LocalRotationYPR(const D3DXVECTOR3& argValue) = 0;
virtual const D3DXVECTOR3& get_LocalRotationYPR() const = 0;
virtual void set_LocalRotation(const D3DXQUATERNION& argValue) = 0;
virtual const D3DXQUATERNION& get_LocalRotation() const = 0;
virtual const D3DXQUATERNION& get_WorldRotation() const = 0;
virtual const D3DXVECTOR3& get_LocalDirection() const = 0;
virtual const D3DXVECTOR3& get_WorldDirection() const = 0;
virtual const D3DXVECTOR3& get_LocalUpDirection() const = 0;
virtual const D3DXVECTOR3& get_WorldUpDirection() const = 0;
virtual D3DXVECTOR3 get_LocalRightDirection() const = 0;
virtual D3DXVECTOR3 get_WorldRightDirection() const = 0;
virtual void set_LocalScale(const D3DXVECTOR3& argValue) = 0;
virtual const D3DXVECTOR3& get_LocalScale() const = 0;
virtual const D3DXVECTOR3& get_WorldScale() const = 0;
virtual const D3DXMATRIX& get_WorldMatrix() const = 0;
virtual const D3DXMATRIX& get_LocalMatrix() const = 0;
virtual void set_TransformationParent(ITransformation* argValue) = 0;
virtual ITransformation* get_TransformationParent() const = 0;
virtual void AddTransformation(ITransformation& argTransformation) = 0;
virtual void RemoveTransformation(ITransformation& argTransformation) = 0;
virtual const std::vector<ITransformation*>& get_Transformations() const = 0;
};