diff --git a/src/OpenMesh/Core/Geometry/VectorT.hh b/src/OpenMesh/Core/Geometry/VectorT.hh index 46191d0a..a2f0d3e6 100644 --- a/src/OpenMesh/Core/Geometry/VectorT.hh +++ b/src/OpenMesh/Core/Geometry/VectorT.hh @@ -62,6 +62,7 @@ #include #include +#include #include #include #include @@ -300,6 +301,8 @@ typedef VectorT Vec3ui; typedef VectorT Vec3f; /** 3-double vector */ typedef VectorT Vec3d; +/** 3-bool vector */ +typedef VectorT Vec3b; /** 4-byte signed vector */ typedef VectorT Vec4c; diff --git a/src/OpenMesh/Core/Geometry/VectorT_inc.hh b/src/OpenMesh/Core/Geometry/VectorT_inc.hh index 782e7da0..6bf9c732 100644 --- a/src/OpenMesh/Core/Geometry/VectorT_inc.hh +++ b/src/OpenMesh/Core/Geometry/VectorT_inc.hh @@ -458,12 +458,12 @@ public: { #if DIM==N Scalar s(0); -#define expr(i) s += abs(Base::values_[i]); +#define expr(i) s += std::abs(Base::values_[i]); unroll(expr); #undef expr return s; #else -#define expr(i) abs(Base::values_[i]) +#define expr(i) std::abs(Base::values_[i]) return (unroll_comb(expr, +)); #undef expr #endif @@ -493,10 +493,10 @@ public: /// return the maximal absolute component inline Scalar max_abs() const { - Scalar m(abs(Base::values_[0])); + Scalar m(std::abs(Base::values_[0])); for(int i=1; im) - m=abs(Base::values_[i]); + if(std::abs(Base::values_[i])>m) + m=std::abs(Base::values_[i]); return m; } @@ -512,10 +512,10 @@ public: /// return the minimal absolute component inline Scalar min_abs() const { - Scalar m(abs(Base::values_[0])); + Scalar m(std::abs(Base::values_[0])); for(int i=1; i