4#ifndef OPENVDB_MATH_TRANSFORM_HAS_BEEN_INCLUDED 
    5#define OPENVDB_MATH_TRANSFORM_HAS_BEEN_INCLUDED 
   61    bool isLinear()
 const { 
return mMap->isLinear(); }
 
  138    template<
typename MapType> 
typename MapType::Ptr map();
 
  139    template<
typename MapType> 
typename MapType::ConstPtr map() 
const;
 
  140    template<
typename MapType> 
typename MapType::ConstPtr constMap() 
const;
 
  151    void print(std::ostream& os = std::cout, 
const std::string& indent = 
"") 
const;
 
 
  167template<
typename MapType>
 
  168inline typename MapType::Ptr
 
  171    if (mMap->type() == MapType::mapType()) {
 
  174    return typename MapType::Ptr();
 
 
  178template<
typename MapType>
 
  179inline typename MapType::ConstPtr
 
  187template<
typename MapType>
 
  188inline typename MapType::ConstPtr
 
  199template<
typename ResolvedMapType, 
typename OpType>
 
  203    ResolvedMapType& resolvedMap = *transform.
map<ResolvedMapType>();
 
  204    op.template operator()<ResolvedMapType>(resolvedMap);
 
 
  208template<
typename ResolvedMapType, 
typename OpType>
 
  212    const ResolvedMapType& resolvedMap = *transform.
map<ResolvedMapType>();
 
  213    op.template operator()<ResolvedMapType>(resolvedMap);
 
 
  231template<
typename TransformType, 
typename OpType>
 
  237    const Name mapType = transform.mapType();
 
 
OPENVDB_API std::ostream & operator<<(std::ostream &os, half h)
Output h to os, formatted as a float.
static Name mapType()
Definition Maps.h:368
Axis-aligned bounding box of signed integer coordinates.
Definition Coord.h:252
Signed (x, y, z) 32-bit integer coordinates.
Definition Coord.h:26
Vec3d asVec3d() const
Definition Coord.h:144
static Coord round(const Vec3< T > &xyz)
Return xyz rounded to the closest integer coordinates (cell centered conversion).
Definition Coord.h:51
static Coord floor(const Vec3< T > &xyz)
Return the largest integer coordinates that are not greater than xyz (node centered conversion).
Definition Coord.h:57
Abstract base class for maps.
Definition Maps.h:135
SharedPtr< MapBase > Ptr
Definition Maps.h:137
SharedPtr< const MapBase > ConstPtr
Definition Maps.h:138
static Name mapType()
Return NonlinearFrustumMap.
Definition Maps.h:2042
A specialized Affine transform that scales along the principal axis the scaling need not be uniform i...
Definition Maps.h:656
static Name mapType()
Definition Maps.h:710
static Name mapType()
Definition Maps.h:1240
static Name mapType()
Definition Maps.h:1009
static Name mapType()
Return UnitaryMap.
Definition Maps.h:1717
Mat3< double > Mat3d
Definition Mat3.h:834
OPENVDB_API void calculateBounds(const Transform &t, const Vec3d &minWS, const Vec3d &maxWS, Vec3d &minIS, Vec3d &maxIS)
Calculate an axis-aligned bounding box in index space from an axis-aligned bounding box in world spac...
bool processTypedMap(TransformType &transform, OpType &op)
Utility function that, given a generic map pointer, calls a functor on the fully-resoved map.
Definition Transform.h:233
void doProcessTypedMap(Transform &transform, OpType &op)
Helper function used internally by processTypedMap()
Definition Transform.h:201
Vec3< double > Vec3d
Definition Vec3.h:665
Mat4< double > Mat4d
Definition Mat4.h:1355
MatType shear(Axis axis0, Axis axis1, typename MatType::value_type shear)
Set the matrix to a shear along axis0 by a fraction of axis1.
Definition Mat.h:688
Axis
Definition Math.h:901
@ X_AXIS
Definition Math.h:902
std::string Name
Definition Name.h:19
math::Mat4< Real > Mat4R
Definition Types.h:101
SharedPtr< T > ConstPtrCast(const SharedPtr< U > &ptr)
Return a new shared pointer that points to the same object as the given pointer but with possibly dif...
Definition Types.h:126
math::BBox< Vec3d > BBoxd
Definition Types.h:84
std::shared_ptr< T > SharedPtr
Definition Types.h:114
SharedPtr< T > StaticPtrCast(const SharedPtr< U > &ptr)
Return a new shared pointer that points to the same object as the given pointer after a static_cast.
Definition Types.h:146
Definition Exceptions.h:13
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition version.h.in:121
#define OPENVDB_USE_VERSION_NAMESPACE
Definition version.h.in:218