Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/moto/include/MT_Tuple4.h')
-rw-r--r--intern/moto/include/MT_Tuple4.h42
1 files changed, 15 insertions, 27 deletions
diff --git a/intern/moto/include/MT_Tuple4.h b/intern/moto/include/MT_Tuple4.h
index aa3b60f1c9b..34564ca8359 100644
--- a/intern/moto/include/MT_Tuple4.h
+++ b/intern/moto/include/MT_Tuple4.h
@@ -53,8 +53,8 @@
class MT_Tuple4 {
public:
MT_Tuple4() {}
- MT_Tuple4(const float *v) { setValue(v); }
- MT_Tuple4(const double *v) { setValue(v); }
+ template <typename T>
+ MT_Tuple4(const T *v) { setValue(v); }
MT_Tuple4(MT_Scalar xx, MT_Scalar yy, MT_Scalar zz, MT_Scalar ww) {
setValue(xx, yy, zz, ww);
}
@@ -78,32 +78,20 @@ public:
const MT_Scalar *getValue() const { return m_co; }
- void getValue(float *v) const {
- v[0] = float(m_co[0]);
- v[1] = float(m_co[1]);
- v[2] = float(m_co[2]);
- v[3] = float(m_co[3]);
+ template <typename T>
+ void getValue(T *v) const {
+ v[0] = (T)m_co[0];
+ v[1] = (T)m_co[1];
+ v[2] = (T)m_co[2];
+ v[3] = (T)m_co[3];
}
-
- void getValue(double *v) const {
- v[0] = double(m_co[0]);
- v[1] = double(m_co[1]);
- v[2] = double(m_co[2]);
- v[3] = double(m_co[3]);
- }
-
- void setValue(const float *v) {
- m_co[0] = MT_Scalar(v[0]);
- m_co[1] = MT_Scalar(v[1]);
- m_co[2] = MT_Scalar(v[2]);
- m_co[3] = MT_Scalar(v[3]);
- }
-
- void setValue(const double *v) {
- m_co[0] = MT_Scalar(v[0]);
- m_co[1] = MT_Scalar(v[1]);
- m_co[2] = MT_Scalar(v[2]);
- m_co[3] = MT_Scalar(v[3]);
+
+ template <typename T>
+ void setValue(const T *v) {
+ m_co[0] = (MT_Scalar)v[0];
+ m_co[1] = (MT_Scalar)v[1];
+ m_co[2] = (MT_Scalar)v[2];
+ m_co[3] = (MT_Scalar)v[3];
}
void setValue(MT_Scalar xx, MT_Scalar yy, MT_Scalar zz, MT_Scalar ww) {