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
auto operator%(const VectorT< OtherScalar, DIM > &_rhs) const -> typename std::enable_if< DIM==3, VectorT< decltype(this->values_[0]*_rhs[0]-this->values_[0]*_rhs[0]), DIM >>::type
DLLEXPORT QString typeName(DataType _id)
Get the name of a type with given id.