1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #pragma once19 20 #include "../MathGeoLibFwd.h"21 #include "[float3.h]"22 #include "[SSEMath.h]"23 24 [MATH_BEGIN_NAMESPACE]25 26 27 28 29 class [ALIGN16] [TranslateOp]30 {31 public:32 vec [offset];33 34 35 [TranslateOp]() {}36 37 38 explicit [TranslateOp](const [float3] &offset);39 explicit [TranslateOp](const [float4] &offset);40 [TranslateOp](float x, float y, float z);41 42 43 vec Offset() const;44 45 46 [float3x4] ToFloat3x4() const;47 48 [float4x4] ToFloat4x4() const;49 50 51 operator [float3x4]() const;52 53 operator [float4x4]() const;54 55 #ifdef MATH_ENABLE_STL_SUPPORT56 57 std::string ToString() const;58 #endif59 };60 61 [float3x4] [operator *](const [TranslateOp] &lhs, const [float3x4] &rhs);62 [float3x4] [operator *](const [float3x4] &lhs, const [TranslateOp] &rhs);63 64 65 66 67 [float4x4] [operator *](const [TranslateOp] &lhs, const [float4x4] &rhs);68 [float4x4] [operator *](const [float4x4] &lhs, const [TranslateOp] &rhs);69 70 71 72 73 class [ALIGN16] [ScaleOp]74 {75 public:76 vec [scale];77 78 79 [ScaleOp]() {}80 81 82 explicit [ScaleOp](const [float3] &scale);83 explicit [ScaleOp](const [float4] &scale);84 [ScaleOp](float sx, float sy, float sz);85 86 87 vec Offset() const;88 89 90 operator [float3x3]() const;91 92 operator [float3x4]() const;93 94 operator [float4x4]() const;95 96 97 [float3x3] ToFloat3x3() const;98 99 [float3x4] ToFloat3x4() const;100 101 [float4x4] ToFloat4x4() const;102 103 #ifdef MATH_ENABLE_STL_SUPPORT104 105 std::string ToString() const;106 #endif107 };108 109 [float3x3] [operator *](const [ScaleOp] &lhs, const [float3x3] &rhs);110 [float3x3] [operator *](const [float3x3] &lhs, const [ScaleOp] &rhs);111 [float3x4] [operator *](const [ScaleOp] &lhs, const [float3x4] &rhs);112 [float3x4] [operator *](const [float3x4] &lhs, const [ScaleOp] &rhs);113 [float4x4] [operator *](const [ScaleOp] &lhs, const [float4x4] &rhs);114 [float4x4] [operator *](const [float4x4] &lhs, const [ScaleOp] &rhs);115 116 [float3x4] [operator *](const [ScaleOp] &lhs, const [TranslateOp] &rhs);117 [float3x4] [operator *](const [TranslateOp] &lhs, const [ScaleOp] &rhs);118 119 #ifdef MATH_QT_INTEROP120 Q_DECLARE_METATYPE([TranslateOp])121 Q_DECLARE_METATYPE([TranslateOp]*)122 Q_DECLARE_METATYPE([ScaleOp])123 Q_DECLARE_METATYPE([ScaleOp]*)124 #endif125 126 [MATH_END_NAMESPACE] Go back to previous page