#include <iso_space_shape.h>
Inherits iso::space::SpaceObject.
Inherited by iso::space::LineShape, iso::space::MeshShape, iso::space::SplineGroupShape, and iso::space::SplineShape.
Inheritance diagram for iso::space::SpaceShape:
Public Member Functions | |
SpaceShape (geom::Geometry *pGeometry) | |
create shape | |
SpaceShape (geom::Geometry *pGeometry, unsigned int pDim) | |
create shape | |
virtual | ~SpaceShape () |
destructor | |
geom::Geometry & | geometry () |
return geometry | |
void | setGeometry (geom::Geometry *pGeometry) |
set geometry | |
const math::MatrixH< real > & | translation () const |
return translation matrix | |
const math::MatrixH< real > & | orientation () const |
return rotation matrix | |
const math::MatrixH< real > & | scale () const |
return scale matrix | |
const math::MatrixH< real > & | matrix () const |
return transformation matrix | |
const math::MatrixH< real > & | o2wMatrix () const |
return object to world transformation matrix | |
const math::MatrixH< real > & | w2oMatrix () const |
return world to object transformation matrix | |
math::Rectangle< real > | AABB () const |
return axis aligned bounding box (in world coordinates) | |
math::Rectangle< real > | ocAABB () const |
return axis aligned bounding box (in object coordinates) | |
virtual void | setPosition (const math::Vector< real > &pPosition) |
set shape object position | |
void | setOrientation (real pAngle, const math::Vector< real > &pAxis) |
set orientation | |
void | setOrientation (const math::Quaternion< real > &pOrientation) |
set orientation | |
void | setScale (real pScale) |
set scale | |
void | setScale (const math::Vector< real > &pScale) |
set scale | |
virtual void | changePosition (const math::Vector< real > &pPosition) |
change position | |
void | changeOrientation (real pAngle, const math::Vector< real > &pAxis) |
change orientation | |
void | changeScale (real pScale) |
change scale | |
void | changeScale (const math::Vector< real > &pScale) |
change scale | |
virtual void | updateAABB () |
update axis aligned bounding box | |
void | closestPoint (const math::Vector< real > &pRefPoint, math::Vector< real > &pResPoint) |
return closest point | |
virtual base::String | info (int pPropagationLevel=0) const |
obtain textual space shape information | |
Protected Member Functions | |
SpaceShape () | |
default constructor | |
void | updateMatrix () |
update homogenous matrix | |
Protected Attributes | |
geom::Geometry * | mGeometry |
math::Rectangle< real > | mAABB |
shape geometry | |
math::MatrixH< real > | mRotation |
axis aligned bounding box | |
math::MatrixH< real > | mScale |
matrix representing only rotation | |
math::MatrixH< real > | mTranslation |
matrix representing only scale | |
math::MatrixH< real > | mInvTranslation |
matrix representing only translation | |
math::MatrixH< real > | mMatrix |
inverse of the previous translation matrix | |
math::MatrixH< real > | mInvMatrix |
homogenous transformation matrix: object coordinates to world coordinates | |
math::MatrixH< real > | mInvScaleMatrix |
homogenous transformation matrix: world coordinates to object coordinates | |
Friends | |
std::ostream & | operator<< (std::ostream &pOstream, const SpaceShape &pShape) |
retrieve textual space shape info |
SpaceShape::SpaceShape | ( | geom::Geometry * | pGeometry | ) |
create shape
pGeometry | shape geometry |
SpaceShape::SpaceShape | ( | geom::Geometry * | pGeometry, | |
unsigned int | pDim | |||
) |
create shape
pGeometry | shape geometry | |
pDim | shape dimension |
SpaceShape::~SpaceShape | ( | ) | [virtual] |
destructor
SpaceShape::SpaceShape | ( | ) | [protected] |
default constructor
geom::Geometry & SpaceShape::geometry | ( | ) |
return geometry
void SpaceShape::setGeometry | ( | geom::Geometry * | pGeometry | ) |
set geometry
pGeometry | geometry |
const math::MatrixH< space::real > & SpaceShape::translation | ( | ) | const |
return translation matrix
const math::MatrixH< space::real > & SpaceShape::orientation | ( | ) | const |
return rotation matrix
const math::MatrixH< space::real > & SpaceShape::scale | ( | ) | const |
return scale matrix
const math::MatrixH< space::real > & SpaceShape::matrix | ( | ) | const |
return transformation matrix
const math::MatrixH< space::real > & SpaceShape::o2wMatrix | ( | ) | const |
return object to world transformation matrix
const math::MatrixH< space::real > & SpaceShape::w2oMatrix | ( | ) | const |
return world to object transformation matrix
math::Rectangle< space::real > SpaceShape::AABB | ( | ) | const |
return axis aligned bounding box (in world coordinates)
math::Rectangle< space::real > SpaceShape::ocAABB | ( | ) | const |
return axis aligned bounding box (in object coordinates)
virtual void iso::space::SpaceShape::setPosition | ( | const math::Vector< real > & | pPosition | ) | [virtual] |
set shape object position
pPosition | shape object position |
Reimplemented from iso::space::SpaceObject.
set orientation
pAngle | angle of rotation (radians) | |
pAxis | axis of rotation |
void SpaceShape::setOrientation | ( | const math::Quaternion< real > & | pOrientation | ) |
set orientation
pOrientation | orientation as quaternion |
void SpaceShape::setScale | ( | real | pScale | ) |
set scale
pScale | uniform scale value |
void SpaceShape::setScale | ( | const math::Vector< real > & | pScale | ) |
set scale
pScale | scale vector |
void SpaceShape::changePosition | ( | const math::Vector< real > & | pPosition | ) | [virtual] |
change position
pPosition | shape object position |
Reimplemented from iso::space::SpaceObject.
change orientation
pAngle | angle of rotation (radians) | |
pAxis | axis of rotation |
void SpaceShape::changeScale | ( | real | pScale | ) |
change scale
pScale | uniform scale value |
void SpaceShape::changeScale | ( | const math::Vector< real > & | pScale | ) |
change scale
pScale | scale vector |
void SpaceShape::updateAABB | ( | ) | [virtual] |
update axis aligned bounding box
Reimplemented in iso::space::LineShape, iso::space::MeshShape, iso::space::SplineGroupShape, and iso::space::SplineShape.
void SpaceShape::closestPoint | ( | const math::Vector< real > & | pRefPoint, | |
math::Vector< real > & | pResPoint | |||
) |
return closest point
pRefPoint | reference point (in world coordinates) | |
pResPoint | result point (in world coordinates) |
base::String SpaceShape::info | ( | int | pPropagationLevel = 0 |
) | const [virtual] |
obtain textual space shape information
pPropagationLevel | how far the propagation method proceeds through composite classes (-1: unlimited, 0: no proceeding, >0: limited proceeding) |
Reimplemented from iso::space::SpaceObject.
void SpaceShape::updateMatrix | ( | ) | [protected] |
update homogenous matrix
std::ostream& operator<< | ( | std::ostream & | pOstream, | |
const SpaceShape & | pShape | |||
) | [friend] |
retrieve textual space shape info
pOstream | output text stream | |
pShape | space shape |
geom::Geometry* iso::space::SpaceShape::mGeometry [protected] |
math::Rectangle<real> iso::space::SpaceShape::mAABB [protected] |
shape geometry
math::MatrixH<real> iso::space::SpaceShape::mRotation [protected] |
axis aligned bounding box
math::MatrixH<real> iso::space::SpaceShape::mScale [protected] |
matrix representing only rotation
math::MatrixH<real> iso::space::SpaceShape::mTranslation [protected] |
matrix representing only scale
math::MatrixH<real> iso::space::SpaceShape::mInvTranslation [protected] |
matrix representing only translation
math::MatrixH<real> iso::space::SpaceShape::mMatrix [protected] |
inverse of the previous translation matrix
math::MatrixH<real> iso::space::SpaceShape::mInvMatrix [protected] |
homogenous transformation matrix: object coordinates to world coordinates
math::MatrixH<real> iso::space::SpaceShape::mInvScaleMatrix [protected] |
homogenous transformation matrix: world coordinates to object coordinates