Public Types | Public Member Functions | Private Member Functions | Private Attributes

cmtk::ParametricPlane Class Reference
[cmtkBase Library]

Class for parameterized infinite planes. More...

#include <cmtkParametricPlane.h>

Collaboration diagram for cmtk::ParametricPlane:
Collaboration graph
[legend]

List of all members.

Public Types

typedef ParametricPlane Self
 This class.
typedef SmartPointer< SelfSmartPtr
 Smart pointer.
typedef FixedVector
< 3, Types::Coordinate
CoordinateVectorType
 Coordinate vector.

Public Member Functions

 ParametricPlane ()
 Default constructor.
 cmtkGetSetMacro (Self::CoordinateVectorType, Origin)
 Origin of the coordinate system the plane parameters refer to.
void SetRho (const Types::Coordinate rho)
 Set parameter Rho.
Types::Coordinate GetRho () const
 Get parameter Rho.
void SetTheta (const Units::Degrees &theta)
 Set parameter Theta.
const Units::Degrees GetTheta () const
 Get parameter Theta.
void SetPhi (const Units::Degrees &phi)
 Set parameter Phi.
const Units::Degrees GetPhi () const
 Get parameter Phi.
void SetNormal (const Self::CoordinateVectorType &normal)
 Set normal vector and determine rotation angles from it.
void GetParameters (CoordinateVector &v) const
 Get all parameters.
void SetParameters (const CoordinateVector &v)
 Set all parameters.
char GetWhichSide (const Self::CoordinateVectorType &point) const
 Determine which side of the plane a point is on.
void Mirror (Self::CoordinateVectorType &toPoint, const Self::CoordinateVectorType &fromPoint) const
 Mirror point with respect to plane.
void MirrorInPlace (Self::CoordinateVectorType &point) const
 Mirror point in-place with respect to plane.
void Project (Self::CoordinateVectorType &toPoint, const Self::CoordinateVectorType &fromPoint) const
 Project point onto plane.
void ProjectInPlace (Self::CoordinateVectorType &point) const
 Project point onto plane in-place.
AffineXformGetAlignmentXform (const byte normalAxis=0) const
 Get transformation that aligns this plane with the coordinate system.
AffineXform::MatrixType GetMirrorXformMatrix () const
 Get affine transformation matrix of the mirror transform.
const Self::CoordinateVectorTypeGetNormal () const
 Return normal vector.

Private Member Functions

void Update ()
 Update internal fields after change of parameters.

Private Attributes

Types::Coordinate Rho
 Radius of tangent sphere with center at Origin.
Units::Degrees Theta
 Rotation angle of tangent point around z axis through Origin.
Units::Degrees Phi
 Elevation angle of tangent point over x/y plane through Origin.
Self::CoordinateVectorType Normal
 Plane normal.
Types::Coordinate SquareNormal
 Square norm of plane normal.

Detailed Description

Class for parameterized infinite planes.

Definition at line 53 of file cmtkParametricPlane.h.


Member Typedef Documentation

Coordinate vector.

Definition at line 63 of file cmtkParametricPlane.h.

This class.

Definition at line 57 of file cmtkParametricPlane.h.

Smart pointer.

Definition at line 60 of file cmtkParametricPlane.h.


Member Function Documentation

cmtk::ParametricPlane::cmtkGetSetMacro ( Self::CoordinateVectorType  ,
Origin   
)

Origin of the coordinate system the plane parameters refer to.

This is NOT the origin of the plane. In fact, this coordinate does not even need to be on the plane itself. It is merely the coordinate in space relative to which the plane is parameterized.

const Self::CoordinateVectorType& cmtk::ParametricPlane::GetNormal (  ) const [inline]

Return normal vector.

Definition at line 209 of file cmtkParametricPlane.h.

Referenced by cmtk::ClassStream::operator<<().

void cmtk::ParametricPlane::GetParameters ( CoordinateVector v ) const [inline]

Get all parameters.

Definition at line 115 of file cmtkParametricPlane.h.

References cmtk::Vector< T >::SetDim().

const Units::Degrees cmtk::ParametricPlane::GetPhi (  ) const [inline]

Get parameter Phi.

Definition at line 106 of file cmtkParametricPlane.h.

Referenced by cmtk::ClassStream::operator<<().

Types::Coordinate cmtk::ParametricPlane::GetRho (  ) const [inline]
const Units::Degrees cmtk::ParametricPlane::GetTheta (  ) const [inline]

Get parameter Theta.

Definition at line 94 of file cmtkParametricPlane.h.

Referenced by cmtk::ClassStream::operator<<().

char cmtk::ParametricPlane::GetWhichSide ( const Self::CoordinateVectorType point ) const [inline]

Determine which side of the plane a point is on.

Returns:
0, if given point is on the plane; +1 if point is on the same side as Origin; -1, if point is on the other side, seen from Origin.

Definition at line 134 of file cmtkParametricPlane.h.

void cmtk::ParametricPlane::Mirror ( Self::CoordinateVectorType toPoint,
const Self::CoordinateVectorType fromPoint 
) const [inline]

Mirror point with respect to plane.

Definition at line 146 of file cmtkParametricPlane.h.

void cmtk::ParametricPlane::MirrorInPlace ( Self::CoordinateVectorType point ) const [inline]

Mirror point in-place with respect to plane.

Definition at line 153 of file cmtkParametricPlane.h.

Referenced by cmtk::TransformedVolumeAxes::TransformedVolumeAxes().

void cmtk::ParametricPlane::Project ( Self::CoordinateVectorType toPoint,
const Self::CoordinateVectorType fromPoint 
) const [inline]

Project point onto plane.

Definition at line 171 of file cmtkParametricPlane.h.

void cmtk::ParametricPlane::ProjectInPlace ( Self::CoordinateVectorType point ) const [inline]

Project point onto plane in-place.

Definition at line 178 of file cmtkParametricPlane.h.

void cmtk::ParametricPlane::SetParameters ( const CoordinateVector v ) [inline]

Set all parameters.

Definition at line 123 of file cmtkParametricPlane.h.

void cmtk::ParametricPlane::SetPhi ( const Units::Degrees phi ) [inline]

Set parameter Phi.

Definition at line 100 of file cmtkParametricPlane.h.

Referenced by cmtk::ClassStream::operator>>().

void cmtk::ParametricPlane::SetRho ( const Types::Coordinate  rho ) [inline]

Set parameter Rho.

Definition at line 76 of file cmtkParametricPlane.h.

Referenced by cmtk::ClassStream::operator>>().

void cmtk::ParametricPlane::SetTheta ( const Units::Degrees theta ) [inline]

Set parameter Theta.

Definition at line 88 of file cmtkParametricPlane.h.

Referenced by cmtk::ClassStream::operator>>().


Member Data Documentation

Plane normal.

Definition at line 222 of file cmtkParametricPlane.h.

Referenced by GetAlignmentXform(), GetMirrorXformMatrix(), SetNormal(), and Update().

Elevation angle of tangent point over x/y plane through Origin.

Definition at line 219 of file cmtkParametricPlane.h.

Referenced by SetNormal(), and Update().

Radius of tangent sphere with center at Origin.

Definition at line 213 of file cmtkParametricPlane.h.

Referenced by GetAlignmentXform(), and GetMirrorXformMatrix().

Square norm of plane normal.

Definition at line 225 of file cmtkParametricPlane.h.

Referenced by GetMirrorXformMatrix(), SetNormal(), and Update().

Rotation angle of tangent point around z axis through Origin.

Definition at line 216 of file cmtkParametricPlane.h.

Referenced by SetNormal(), and Update().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines