RTK  2.0.1
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
 
virtual const char * GetNameOfClass () 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 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
 
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

Definition at line 52 of file rtkBoxShape.h.

Definition at line 60 of file rtkBoxShape.h.

Definition at line 51 of file rtkBoxShape.h.

Definition at line 57 of file rtkBoxShape.h.

Definition at line 59 of file rtkBoxShape.h.

Definition at line 56 of file rtkBoxShape.h.

Standard class type alias.

Definition at line 49 of file rtkBoxShape.h.

Definition at line 50 of file rtkBoxShape.h.

Definition at line 58 of file rtkBoxShape.h.

Constructor & Destructor Documentation

rtk::BoxShape::BoxShape ( )
private

Member Function Documentation

virtual::itk::LightObject::Pointer rtk::BoxShape::CreateAnother ( ) const
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.

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.

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

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

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

Run-time type information (and related methods).

Reimplemented from rtk::ConvexShape.

itk::LightObject::Pointer rtk::BoxShape::InternalClone ( ) const
override
bool rtk::BoxShape::IsInside ( const PointType point) const
overridevirtual

See rtk::ConvexShape::IsInside.

Reimplemented from rtk::ConvexShape.

bool rtk::BoxShape::IsIntersectedByRay ( const PointType rayOrigin,
const VectorType rayDirection,
double &  nearDist,
double &  farDist 
) const
overridevirtual
static Pointer rtk::BoxShape::New ( )
static

Method for creation through the object factory.

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

Rescale object along each direction by a 3D vector.

Reimplemented from rtk::ConvexShape.

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

Translate object by a given 3D vector.

Reimplemented from rtk::ConvexShape.

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.

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.

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.

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

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

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

Translate object by a given 3D vector.

Reimplemented from rtk::ConvexShape.

Member Data Documentation

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

Convenient type alias.

Definition at line 55 of file rtkBoxShape.h.

PointType rtk::BoxShape::m_BoxMax
private

Definition at line 117 of file rtkBoxShape.h.

PointType rtk::BoxShape::m_BoxMin
private

Definition at line 116 of file rtkBoxShape.h.

RotationMatrixType rtk::BoxShape::m_Direction
private

Definition at line 118 of file rtkBoxShape.h.


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