33 #ifndef OPENVDB_TOOLS_VECTORTRANSFORMER_HAS_BEEN_INCLUDED 34 #define OPENVDB_TOOLS_VECTORTRANSFORMER_HAS_BEEN_INCLUDED 40 #include <boost/utility/enable_if.hpp> 50 template<
typename Gr
idType>
64 template<
typename TreeIterT>
void operator()(
const TreeIterT& it)
const 75 template<
typename TreeIterT>
87 template<
typename TreeIterT>
99 template<
typename Gr
idType>
inline 100 typename boost::disable_if_c<VecTraits<typename GridType::ValueType>::IsVec,
void>::type
107 template<
typename Gr
idType>
inline 108 typename boost::enable_if_c<VecTraits<typename GridType::ValueType>::IsVec,
void>::type
111 if (!grid.isInWorldSpace())
return;
113 const VecType vecType = grid.getVectorType();
124 foreach(grid.beginValueAll(),
MatMul(invmat));
130 foreach(grid.beginValueAll(),
MatMul(mat));
143 template<
typename Gr
idType>
147 doTransformVectors<GridType>(grid, mat);
154 #endif // OPENVDB_TOOLS_VECTORTRANSFORMER_HAS_BEEN_INCLUDED math::Mat4< double > Mat4d
Definition: Types.h:102
VecType
Definition: Types.h:241
#define OPENVDB_THROW(exception, message)
Definition: Exceptions.h:97
Vec3< T0 > transformH(const Vec3< T0 > &p) const
Transform a Vec3 by post-multiplication, doing homogenous divison.
Definition: Mat4.h:1068
Mat4 inverse(T tolerance=0) const
Definition: Mat4.h:527
#define OPENVDB_VERSION_NAME
Definition: version.h:43
Vec3< double > Vec3d
Definition: Vec3.h:651
Mat4 transpose() const
Definition: Mat4.h:514
Definition: Exceptions.h:39
Definition: Exceptions.h:87
Vec3< T0 > transform3x3(const Vec3< T0 > &v) const
Transform a Vec3 by post-multiplication, without translation.
Definition: Mat4.h:1111
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h:71