|
| Transform () |
|
| Transform (const MapBase::Ptr &) |
|
| Transform (const Transform &) |
|
| ~Transform () |
|
Ptr | copy () const |
|
bool | isLinear () const |
| Return true if the transformation map is exclusively linear/affine. More...
|
|
bool | isIdentity () const |
| Return true if the transform is equivalent to an idenity. More...
|
|
Name | mapType () const |
| Return the transformation map's type-name. More...
|
|
Vec3d | voxelSize () const |
| Return the size of a voxel using the linear component of the map. More...
|
|
Vec3d | voxelSize (const Vec3d &xyz) const |
| Return the size of a voxel at position (x, y, z). More...
|
|
double | voxelVolume () const |
| Return the voxel volume of the linear component of the map. More...
|
|
double | voxelVolume (const Vec3d &xyz) const |
| Return the voxel volume at position (x, y, z). More...
|
|
bool | hasUniformScale () const |
| Return true if the voxels in world space are uniformly sized cubes. More...
|
|
void | read (std::istream &) |
| Unserialize this transform from the given stream. More...
|
|
void | write (std::ostream &) const |
| Serialize this transform to the given stream. More...
|
|
void | print (std::ostream &os=std::cout, const std::string &indent="") const |
| Print a description of this transform. More...
|
|
bool | operator== (const Transform &other) const |
|
bool | operator!= (const Transform &other) const |
|
|
void | preRotate (double radians, const Axis axis=X_AXIS) |
| Update the linear (affine) map by prepending or postfixing the appropriate operation. In the case of a frustum, the pre-operations apply to the linear part of the transform and not the entire transform, while the post-operations are allways applied last. More...
|
|
void | preTranslate (const Vec3d &) |
| Update the linear (affine) map by prepending or postfixing the appropriate operation. In the case of a frustum, the pre-operations apply to the linear part of the transform and not the entire transform, while the post-operations are allways applied last. More...
|
|
void | preScale (const Vec3d &) |
| Update the linear (affine) map by prepending or postfixing the appropriate operation. In the case of a frustum, the pre-operations apply to the linear part of the transform and not the entire transform, while the post-operations are allways applied last. More...
|
|
void | preScale (double) |
| Update the linear (affine) map by prepending or postfixing the appropriate operation. In the case of a frustum, the pre-operations apply to the linear part of the transform and not the entire transform, while the post-operations are allways applied last. More...
|
|
void | preShear (double shear, Axis axis0, Axis axis1) |
| Update the linear (affine) map by prepending or postfixing the appropriate operation. In the case of a frustum, the pre-operations apply to the linear part of the transform and not the entire transform, while the post-operations are allways applied last. More...
|
|
void | preMult (const Mat4d &) |
| Update the linear (affine) map by prepending or postfixing the appropriate operation. In the case of a frustum, the pre-operations apply to the linear part of the transform and not the entire transform, while the post-operations are allways applied last. More...
|
|
void | preMult (const Mat3d &) |
| Update the linear (affine) map by prepending or postfixing the appropriate operation. In the case of a frustum, the pre-operations apply to the linear part of the transform and not the entire transform, while the post-operations are allways applied last. More...
|
|
void | postRotate (double radians, const Axis axis=X_AXIS) |
| Update the linear (affine) map by prepending or postfixing the appropriate operation. In the case of a frustum, the pre-operations apply to the linear part of the transform and not the entire transform, while the post-operations are allways applied last. More...
|
|
void | postTranslate (const Vec3d &) |
| Update the linear (affine) map by prepending or postfixing the appropriate operation. In the case of a frustum, the pre-operations apply to the linear part of the transform and not the entire transform, while the post-operations are allways applied last. More...
|
|
void | postScale (const Vec3d &) |
| Update the linear (affine) map by prepending or postfixing the appropriate operation. In the case of a frustum, the pre-operations apply to the linear part of the transform and not the entire transform, while the post-operations are allways applied last. More...
|
|
void | postScale (double) |
| Update the linear (affine) map by prepending or postfixing the appropriate operation. In the case of a frustum, the pre-operations apply to the linear part of the transform and not the entire transform, while the post-operations are allways applied last. More...
|
|
void | postShear (double shear, Axis axis0, Axis axis1) |
| Update the linear (affine) map by prepending or postfixing the appropriate operation. In the case of a frustum, the pre-operations apply to the linear part of the transform and not the entire transform, while the post-operations are allways applied last. More...
|
|
void | postMult (const Mat4d &) |
| Update the linear (affine) map by prepending or postfixing the appropriate operation. In the case of a frustum, the pre-operations apply to the linear part of the transform and not the entire transform, while the post-operations are allways applied last. More...
|
|
void | postMult (const Mat3d &) |
| Update the linear (affine) map by prepending or postfixing the appropriate operation. In the case of a frustum, the pre-operations apply to the linear part of the transform and not the entire transform, while the post-operations are allways applied last. More...
|
|
|
Vec3d | indexToWorld (const Vec3d &xyz) const |
| Apply this transformation to the given coordinates. More...
|
|
Vec3d | indexToWorld (const Coord &ijk) const |
| Apply this transformation to the given coordinates. More...
|
|
Vec3d | worldToIndex (const Vec3d &xyz) const |
| Apply this transformation to the given coordinates. More...
|
|
Coord | worldToIndexCellCentered (const Vec3d &xyz) const |
| Apply this transformation to the given coordinates. More...
|
|
Coord | worldToIndexNodeCentered (const Vec3d &xyz) const |
| Apply this transformation to the given coordinates. More...
|
|
|
BBoxd | indexToWorld (const CoordBBox &) const |
| Apply this transformation to the given index-space bounding box. More...
|
|
BBoxd | indexToWorld (const BBoxd &) const |
| Apply this transformation to the given index-space bounding box. More...
|
|
|
BBoxd | worldToIndex (const BBoxd &) const |
| Apply the inverse of this transformation to the given world-space bounding box. More...
|
|
CoordBBox | worldToIndexCellCentered (const BBoxd &) const |
| Apply the inverse of this transformation to the given world-space bounding box. More...
|
|
CoordBBox | worldToIndexNodeCentered (const BBoxd &) const |
| Apply the inverse of this transformation to the given world-space bounding box. More...
|
|
|
MapBase::ConstPtr | baseMap () const |
| Return a base pointer to the transformation map. More...
|
|
MapBase::Ptr | baseMap () |
| Return a base pointer to the transformation map. More...
|
|
|
template<typename MapType > |
MapType::Ptr | map () |
| Return the result of downcasting the base map pointer to a MapType pointer, or return a null pointer if the types are incompatible. More...
|
|
template<typename MapType > |
MapType::ConstPtr | map () const |
| Return the result of downcasting the base map pointer to a MapType pointer, or return a null pointer if the types are incompatible. More...
|
|
template<typename MapType > |
MapType::ConstPtr | constMap () const |
| Return the result of downcasting the base map pointer to a MapType pointer, or return a null pointer if the types are incompatible. More...
|
|