MeVisLab Toolbox Reference
ml::Disc Class Reference

Class to handle the geometry primitive "Disc" consisting of a center, a normal and a radius. More...

#include <mlDisc.h>

Public Member Functions

 Disc ()
 Constructor. Default state is center at (0,0,0), normal (1,0,0) and radius 0.
 
 Disc (const Vector3 &c, const Vector3 &n, double r)
 Convenience constructor.
 
void setValue (const Vector3 &c, const Vector3 &n, double r)
 Initialize disc parameters (used by constructor)
 
void setCenter (const Vector3 &c)
 Set center.
 
bool setNormal (const Vector3 &n)
 Set normal vector (performing normalization, (1,0,0) if zero).
 
void setRadius (double r)
 Set radius.
 
const Vector3getCenter () const
 Get center.
 
const Vector3getNormal () const
 Get normal.
 
double getRadius () const
 Get radius.
 
bool project (const Vector3 &p, Vector3 &proj) const
 Project p to disc plane, return true if projected point lies on disc.
 
bool intersect (const Line &l, Vector3 &cut) const
 Intersects line l with disc plane, true if cut point exists, no radius check.
 
Plane getPlane () const
 Get Plane object in which disc is located.
 
void getBoundingBox (const Matrix4 &transform, Vector3 &boxMin, Vector3 &boxMax) const
 Compute bounding box of disc in target coordinates; box is a homogeneous matrix specifying the transformation.
 
SubImageBox getBoundingBox (const MedicalImageProperties &pImg) const
 Compute bounding box of disc in voxel coordinates.
 
void fill (const MedicalImageProperties &pImg, SubImage &destImg, double fillVal) const
 Draw disc with value fillVal into subimage destImg.
 
void fill (const MedicalImageProperties &pImg, VirtualVolume &destImg, double fillVal) const
 Draw disc with value fillVal into VirtualVolume destImg.
 

Detailed Description

Class to handle the geometry primitive "Disc" consisting of a center, a normal and a radius.

Definition at line 33 of file mlDisc.h.

Constructor & Destructor Documentation

◆ Disc() [1/2]

ml::Disc::Disc ( )

Constructor. Default state is center at (0,0,0), normal (1,0,0) and radius 0.

◆ Disc() [2/2]

ml::Disc::Disc ( const Vector3 & c,
const Vector3 & n,
double r )

Convenience constructor.

Member Function Documentation

◆ fill() [1/2]

void ml::Disc::fill ( const MedicalImageProperties & pImg,
SubImage & destImg,
double fillVal ) const

Draw disc with value fillVal into subimage destImg.

The disc is transformed by transformation given by pImg. Only overlapping regions of extents of destImg and pImg are written.

◆ fill() [2/2]

void ml::Disc::fill ( const MedicalImageProperties & pImg,
VirtualVolume & destImg,
double fillVal ) const

Draw disc with value fillVal into VirtualVolume destImg.

The disc is transformed by transformation given by pImg. Only overlapping regions of extents of destImg and pImg are written.

◆ getBoundingBox() [1/2]

void ml::Disc::getBoundingBox ( const Matrix4 & transform,
Vector3 & boxMin,
Vector3 & boxMax ) const

Compute bounding box of disc in target coordinates; box is a homogeneous matrix specifying the transformation.

◆ getBoundingBox() [2/2]

SubImageBox ml::Disc::getBoundingBox ( const MedicalImageProperties & pImg) const

Compute bounding box of disc in voxel coordinates.

pImg are MedicalImageProperties to specify a maximum extent of the filled region, the transformation matrix and voxel size.

◆ getCenter()

const Vector3 & ml::Disc::getCenter ( ) const
inline

Get center.

Definition at line 57 of file mlDisc.h.

◆ getNormal()

const Vector3 & ml::Disc::getNormal ( ) const
inline

Get normal.

Definition at line 60 of file mlDisc.h.

◆ getPlane()

Plane ml::Disc::getPlane ( ) const
inline

Get Plane object in which disc is located.

Definition at line 74 of file mlDisc.h.

◆ getRadius()

double ml::Disc::getRadius ( ) const
inline

Get radius.

Definition at line 63 of file mlDisc.h.

◆ intersect()

bool ml::Disc::intersect ( const Line & l,
Vector3 & cut ) const
inline

Intersects line l with disc plane, true if cut point exists, no radius check.

Definition at line 70 of file mlDisc.h.

References mlrange_cast().

◆ project()

bool ml::Disc::project ( const Vector3 & p,
Vector3 & proj ) const
inline

Project p to disc plane, return true if projected point lies on disc.

Definition at line 66 of file mlDisc.h.

References mlrange_cast().

◆ setCenter()

void ml::Disc::setCenter ( const Vector3 & c)
inline

Set center.

Definition at line 47 of file mlDisc.h.

◆ setNormal()

bool ml::Disc::setNormal ( const Vector3 & n)

Set normal vector (performing normalization, (1,0,0) if zero).

Return true if normal vector is not zero

◆ setRadius()

void ml::Disc::setRadius ( double r)
inline

Set radius.

Definition at line 54 of file mlDisc.h.

◆ setValue()

void ml::Disc::setValue ( const Vector3 & c,
const Vector3 & n,
double r )
inline

Initialize disc parameters (used by constructor)

Definition at line 43 of file mlDisc.h.

References mlrange_cast().


The documentation for this class was generated from the following file: