55 #if (_MSC_VER >= 1900 || __cplusplus > 199711L || defined(__GXX_EXPERIMENTAL_CXX0X__)) && !defined(OPENVOLUMEMESH_VECTOR_LEGACY)
56 #include "Vector11T.hh"
61 #ifndef OPENVOLUMEMESH_VECTOR_HH
62 #define OPENVOLUMEMESH_VECTOR_HH
72 #if defined(__GNUC__) && defined(__SSE__)
73 #include <xmmintrin.h>
102 #if defined(__GNUC__) && defined(__SSE__)
122 #define TEMPLATE_HEADER template <typename Scalar, int N>
123 #define CLASSNAME VectorT
124 #define DERIVED VectorDataT<Scalar,N>
125 #define unroll(expr) for (int i=0; i<N; ++i) expr(i)
132 #include "VectorT_inc.hh"
135 #undef TEMPLATE_HEADER
145 #define TEMPLATE_HEADER template <typename Scalar>
146 #define CLASSNAME VectorT<Scalar,DIM>
147 #define DERIVED VectorDataT<Scalar,DIM>
151 #define unroll(expr) expr(0) expr(1)
152 #define unroll_comb(expr, op) expr(0) op expr(1)
153 #define unroll_csv(expr) expr(0), expr(1)
154 #include "VectorT_inc.hh"
161 #define unroll(expr) expr(0) expr(1) expr(2)
162 #define unroll_comb(expr, op) expr(0) op expr(1) op expr(2)
163 #define unroll_csv(expr) expr(0), expr(1), expr(2)
164 #include "VectorT_inc.hh"
171 #define unroll(expr) expr(0) expr(1) expr(2) expr(3)
172 #define unroll_comb(expr, op) expr(0) op expr(1) op expr(2) op expr(3)
173 #define unroll_csv(expr) expr(0), expr(1), expr(2), expr(3)
174 #include "VectorT_inc.hh"
181 #define unroll(expr) expr(0) expr(1) expr(2) expr(3) expr(4)
182 #define unroll_comb(expr, op) expr(0) op expr(1) op expr(2) op expr(3) op expr(4)
183 #define unroll_csv(expr) expr(0), expr(1), expr(2), expr(3), expr(4)
184 #include "VectorT_inc.hh"
191 #define unroll(expr) expr(0) expr(1) expr(2) expr(3) expr(4) expr(5)
192 #define unroll_comb(expr, op) expr(0) op expr(1) op expr(2) op expr(3) op expr(4) op expr(5)
193 #define unroll_csv(expr) expr(0), expr(1), expr(2), expr(3), expr(4), expr(5)
194 #include "VectorT_inc.hh"
201 #undef TEMPLATE_HEADER
215 values_[2]*_rhs.values_[0]-values_[0]*_rhs.values_[2],
216 values_[0]*_rhs.values_[1]-values_[1]*_rhs.values_[0]);
227 values_[2]*_rhs.values_[0]-values_[0]*_rhs.values_[2],
228 values_[0]*_rhs.values_[1]-values_[1]*_rhs.values_[0]);
238 template<
typename Scalar1,
typename Scalar2,
int N>
246 template<
typename Scalar,
int N>
255 template<
typename Scalar,
int N>
376 template <>
const std::string typeName<Geometry::Vec2f>();
377 template <>
const std::string typeName<Geometry::Vec2d>();
378 template <>
const std::string typeName<Geometry::Vec2i>();
379 template <>
const std::string typeName<Geometry::Vec2ui>();
381 template <>
const std::string typeName<Geometry::Vec3f>();
382 template <>
const std::string typeName<Geometry::Vec3d>();
383 template <>
const std::string typeName<Geometry::Vec3i>();
384 template <>
const std::string typeName<Geometry::Vec3ui>();
386 template <>
const std::string typeName<Geometry::Vec4f>();
387 template <>
const std::string typeName<Geometry::Vec4d>();
388 template <>
const std::string typeName<Geometry::Vec4i>();
389 template <>
const std::string typeName<Geometry::Vec4ui>();
393 #endif // OPENVOLUMEMESH_VECTOR_HH defined
DLLEXPORT QString typeName(DataType _id)
Get the name of a type with given id.