RTK  2.1.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::IntersectionOfConvexShapes Class Reference

#include <rtkIntersectionOfConvexShapes.h>

+ Inheritance diagram for rtk::IntersectionOfConvexShapes:
+ Collaboration diagram for rtk::IntersectionOfConvexShapes:

Public Types

using ConstPointer = itk::SmartPointer< const Self >
 
using ConvexShapePointer = ConvexShape::Pointer
 
using ConvexShapeVector = std::vector< ConvexShapePointer >
 
using Pointer = itk::SmartPointer< Self >
 
using PointType = Superclass::PointType
 
using RotationMatrixType = Superclass::RotationMatrixType
 
using ScalarType = Superclass::ScalarType
 
using Self = IntersectionOfConvexShapes
 
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, ScalarType &nearDist, ScalarType &farDist) const override
 
void Rescale (const VectorType &r) override
 
void Rotate (const RotationMatrixType &r) override
 
void Translate (const VectorType &t) override
 
void AddConvexShape (const ConvexShape *co)
 
virtual const ConvexShapeVectorGetConvexShapes () const
 
virtual void SetConvexShapes (const ConvexShapeVector &_arg)
 
- Public Member Functions inherited from rtk::ConvexShape
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

 IntersectionOfConvexShapes ()
 

Private Attributes

ConvexShapeVector m_ConvexShapes
 

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 ()
 

Detailed Description

Defines a shape as the intersection of several ConvexShape.

Test:
rtkforbildtest.cxx
Author
Simon Rit

Definition at line 38 of file rtkIntersectionOfConvexShapes.h.

Member Typedef Documentation

◆ ConstPointer

Definition at line 45 of file rtkIntersectionOfConvexShapes.h.

◆ ConvexShapePointer

Definition at line 49 of file rtkIntersectionOfConvexShapes.h.

◆ ConvexShapeVector

Definition at line 50 of file rtkIntersectionOfConvexShapes.h.

◆ Pointer

Definition at line 44 of file rtkIntersectionOfConvexShapes.h.

◆ PointType

using rtk::IntersectionOfConvexShapes::PointType = Superclass::PointType

Definition at line 52 of file rtkIntersectionOfConvexShapes.h.

◆ RotationMatrixType

using rtk::IntersectionOfConvexShapes::RotationMatrixType = Superclass::RotationMatrixType

Definition at line 54 of file rtkIntersectionOfConvexShapes.h.

◆ ScalarType

using rtk::IntersectionOfConvexShapes::ScalarType = Superclass::ScalarType

Definition at line 51 of file rtkIntersectionOfConvexShapes.h.

◆ Self

Standard class type alias.

Definition at line 42 of file rtkIntersectionOfConvexShapes.h.

◆ Superclass

Definition at line 43 of file rtkIntersectionOfConvexShapes.h.

◆ VectorType

using rtk::IntersectionOfConvexShapes::VectorType = Superclass::VectorType

Definition at line 53 of file rtkIntersectionOfConvexShapes.h.

Constructor & Destructor Documentation

◆ IntersectionOfConvexShapes()

rtk::IntersectionOfConvexShapes::IntersectionOfConvexShapes ( )
private

Member Function Documentation

◆ AddConvexShape()

void rtk::IntersectionOfConvexShapes::AddConvexShape ( const ConvexShape co)

Add convex object to phantom.

◆ CreateAnother()

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

Reimplemented from rtk::ConvexShape.

◆ GetConvexShapes()

virtual const ConvexShapeVector& rtk::IntersectionOfConvexShapes::GetConvexShapes ( ) const
virtual

Add convex object to phantom.

◆ GetNameOfClass()

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

Run-time type information (and related methods).

Reimplemented from rtk::ConvexShape.

◆ InternalClone()

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

Reimplemented from rtk::ConvexShape.

◆ IsInside()

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

See rtk::ConvexShape::IsInside.

Reimplemented from rtk::ConvexShape.

◆ IsIntersectedByRay()

bool rtk::IntersectionOfConvexShapes::IsIntersectedByRay ( const PointType rayOrigin,
const VectorType rayDirection,
ScalarType nearDist,
ScalarType farDist 
) const
overridevirtual

◆ New()

static Pointer rtk::IntersectionOfConvexShapes::New ( )
static

Method for creation through the object factory.

◆ Rescale()

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

Rescale object along each direction by a 3D vector.

Reimplemented from rtk::ConvexShape.

◆ Rotate()

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

Rotate object according to a 3D rotation matrix.

Reimplemented from rtk::ConvexShape.

◆ SetConvexShapes()

virtual void rtk::IntersectionOfConvexShapes::SetConvexShapes ( const ConvexShapeVector _arg)
virtual

Add convex object to phantom.

◆ Translate()

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

Translate object by a given 3D vector.

Reimplemented from rtk::ConvexShape.

Member Data Documentation

◆ Dimension

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

Convenient type alias.

Definition at line 48 of file rtkIntersectionOfConvexShapes.h.

◆ m_ConvexShapes

ConvexShapeVector rtk::IntersectionOfConvexShapes::m_ConvexShapes
private

Definition at line 99 of file rtkIntersectionOfConvexShapes.h.


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