RTK  2.6.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
rtk::BoxShape Class Reference

#include <rtkBoxShape.h>

+ Inheritance diagram for rtk::BoxShape:
+ Collaboration diagram for rtk::BoxShape:

Public Types

using ConstPointer = itk::SmartPointer< const Self >
 
using ImageBaseType = itk::ImageBase< Dimension >
 
using Pointer = itk::SmartPointer< Self >
 
using PointType = Superclass::PointType
 
using RotationMatrixType = Superclass::RotationMatrixType
 
using ScalarType = Superclass::ScalarType
 
using Self = BoxShape
 
using Superclass = ConvexShape
 
using VectorType = Superclass::VectorType
 
- Public Types inherited from rtk::ConvexShape
using ConstPointer = itk::SmartPointer< const Self >
 
using Pointer = itk::SmartPointer< Self >
 
using PointType = itk::Vector< ScalarType, Dimension >
 
using RotationMatrixType = itk::Matrix< ScalarType, Dimension, Dimension >
 
using ScalarType = double
 
using Self = ConvexShape
 
using Superclass = itk::DataObject
 
using VectorType = itk::Vector< ScalarType, Dimension >
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
itk::LightObject::Pointer InternalClone () const override
 
bool IsInside (const PointType &point) const override
 
bool IsIntersectedByRay (const PointType &rayOrigin, const VectorType &rayDirection, double &nearDist, double &farDist) const override
 
void Rescale (const VectorType &r) override
 
void Rotate (const RotationMatrixType &r) override
 
void SetBoxFromImage (const ImageBaseType *img, bool bWithExternalHalfPixelBorder=true)
 
void Translate (const VectorType &t) override
 
virtual const char * GetNameOfClass () const
 
virtual PointType GetBoxMin () const
 
virtual void SetBoxMin (PointType _arg)
 
virtual PointType GetBoxMax () const
 
virtual void SetBoxMax (PointType _arg)
 
virtual RotationMatrixType GetDirection () const
 
virtual void SetDirection (RotationMatrixType _arg)
 
- Public Member Functions inherited from rtk::ConvexShape
virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual bool IsIntersectedByRay (const PointType &rayOrigin, const VectorType &rayDirection, double &nearDist, double &farDist) const
 
virtual void Rescale (const VectorType &r)
 
virtual void Rotate (const RotationMatrixType &r)
 
virtual void Translate (const VectorType &t)
 
void AddClipPlane (const VectorType &dir, const ScalarType &pos)
 
void SetClipPlanes (const std::vector< VectorType > &dir, const std::vector< ScalarType > &pos)
 
virtual void SetDensity (ScalarType _arg)
 
virtual ScalarType GetDensity () const
 
virtual ScalarType GetDensity ()
 
virtual const std::vector< VectorType > & GetPlaneDirections () const
 
virtual const std::vector< ScalarType > & GetPlanePositions () const
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from rtk::ConvexShape
static Pointer New ()
 

Static Public Attributes

static constexpr unsigned int Dimension = Superclass::Dimension
 
- Static Public Attributes inherited from rtk::ConvexShape
static constexpr unsigned int Dimension = 3
 

Private Member Functions

 BoxShape ()
 

Private Attributes

PointType m_BoxMax
 
PointType m_BoxMin
 
RotationMatrixType m_Direction
 

Additional Inherited Members

- Protected Member Functions inherited from rtk::ConvexShape
bool ApplyClipPlanes (const PointType &rayOrigin, const VectorType &rayDirection, ScalarType &nearDist, ScalarType &farDist) const
 
bool ApplyClipPlanes (const PointType &point) const
 
 ConvexShape ()
 
itk::LightObject::Pointer InternalClone () const override
 

Detailed Description

BoxShape defines a paralleliped. The box is defined by its two opposite corners, BoxMin and BoxMax, and a rotation matrix Direction. The box corresponding to an Image can be set using the function SetBoxShapeFromImage.

Test:
rtkforbildtest.cxx
Author
Simon Rit

Definition at line 44 of file rtkBoxShape.h.

Member Typedef Documentation

◆ ConstPointer

Definition at line 51 of file rtkBoxShape.h.

◆ ImageBaseType

Definition at line 59 of file rtkBoxShape.h.

◆ Pointer

Definition at line 50 of file rtkBoxShape.h.

◆ PointType

Definition at line 56 of file rtkBoxShape.h.

◆ RotationMatrixType

using rtk::BoxShape::RotationMatrixType = Superclass::RotationMatrixType

Definition at line 58 of file rtkBoxShape.h.

◆ ScalarType

Definition at line 55 of file rtkBoxShape.h.

◆ Self

Standard class type alias.

Definition at line 48 of file rtkBoxShape.h.

◆ Superclass

Definition at line 49 of file rtkBoxShape.h.

◆ VectorType

using rtk::BoxShape::VectorType = Superclass::VectorType

Definition at line 57 of file rtkBoxShape.h.

Constructor & Destructor Documentation

◆ BoxShape()

rtk::BoxShape::BoxShape ( )
private

Member Function Documentation

◆ CreateAnother()

virtual::itk::LightObject::Pointer rtk::BoxShape::CreateAnother ( ) const
virtual

Reimplemented from itk::Object.

◆ GetBoxMax()

virtual PointType rtk::BoxShape::GetBoxMax ( ) const
virtual

Get / Set the box superior corner. Every corner coordinate must be superior to those of the inferior corner.

◆ GetBoxMin()

virtual PointType rtk::BoxShape::GetBoxMin ( ) const
virtual

Get / Set the box inferior corner. Every corner coordinate must be inferior to those of the superior corner.

◆ GetDirection()

virtual RotationMatrixType rtk::BoxShape::GetDirection ( ) const
virtual

Direction is the direction of the box, defined in the same sense as in itk::ImageBase.

◆ GetNameOfClass()

virtual const char* rtk::BoxShape::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from rtk::ConvexShape.

◆ InternalClone()

itk::LightObject::Pointer rtk::BoxShape::InternalClone ( ) const
overridevirtual

Reimplemented from itk::LightObject.

◆ IsInside()

bool rtk::BoxShape::IsInside ( const PointType point) const
overridevirtual

See rtk::ConvexShape::IsInside.

Reimplemented from rtk::ConvexShape.

◆ IsIntersectedByRay()

bool rtk::BoxShape::IsIntersectedByRay ( const PointType rayOrigin,
const VectorType rayDirection,
double &  nearDist,
double &  farDist 
) const
override

◆ New()

static Pointer rtk::BoxShape::New ( )
static

Method for creation through the object factory.

◆ Rescale()

void rtk::BoxShape::Rescale ( const VectorType r)
override

Rescale object along each direction by a 3D vector.

◆ Rotate()

void rtk::BoxShape::Rotate ( const RotationMatrixType r)
override

Translate object by a given 3D vector.

◆ SetBoxFromImage()

void rtk::BoxShape::SetBoxFromImage ( const ImageBaseType img,
bool  bWithExternalHalfPixelBorder = true 
)

Set the 3D box is the portion of space defined by the LargestPossibleRegion. bWithExternalHalfPixelBorder can be used to include or exclude a half voxel border.

◆ SetBoxMax()

virtual void rtk::BoxShape::SetBoxMax ( PointType  _arg)
virtual

Get / Set the box superior corner. Every corner coordinate must be superior to those of the inferior corner.

◆ SetBoxMin()

virtual void rtk::BoxShape::SetBoxMin ( PointType  _arg)
virtual

Get / Set the box inferior corner. Every corner coordinate must be inferior to those of the superior corner.

◆ SetDirection()

virtual void rtk::BoxShape::SetDirection ( RotationMatrixType  _arg)
virtual

Direction is the direction of the box, defined in the same sense as in itk::ImageBase.

◆ Translate()

void rtk::BoxShape::Translate ( const VectorType t)
override

Translate object by a given 3D vector.

Member Data Documentation

◆ Dimension

constexpr unsigned int rtk::BoxShape::Dimension = Superclass::Dimension
static

Convenient type alias.

Definition at line 54 of file rtkBoxShape.h.

◆ m_BoxMax

PointType rtk::BoxShape::m_BoxMax
private

Definition at line 128 of file rtkBoxShape.h.

◆ m_BoxMin

PointType rtk::BoxShape::m_BoxMin
private

Definition at line 127 of file rtkBoxShape.h.

◆ m_Direction

RotationMatrixType rtk::BoxShape::m_Direction
private

Definition at line 129 of file rtkBoxShape.h.


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