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::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 ConvexShapePointer &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

Definition at line 46 of file rtkIntersectionOfConvexShapes.h.

Definition at line 50 of file rtkIntersectionOfConvexShapes.h.

Definition at line 51 of file rtkIntersectionOfConvexShapes.h.

Definition at line 45 of file rtkIntersectionOfConvexShapes.h.

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

Definition at line 53 of file rtkIntersectionOfConvexShapes.h.

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

Definition at line 55 of file rtkIntersectionOfConvexShapes.h.

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

Definition at line 52 of file rtkIntersectionOfConvexShapes.h.

Standard class type alias.

Definition at line 43 of file rtkIntersectionOfConvexShapes.h.

Definition at line 44 of file rtkIntersectionOfConvexShapes.h.

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

Definition at line 54 of file rtkIntersectionOfConvexShapes.h.

Constructor & Destructor Documentation

rtk::IntersectionOfConvexShapes::IntersectionOfConvexShapes ( )
private

Member Function Documentation

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

Add convex object to phantom.

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

Reimplemented from rtk::ConvexShape.

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

Add convex object to phantom.

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

Run-time type information (and related methods).

Reimplemented from rtk::ConvexShape.

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

Reimplemented from rtk::ConvexShape.

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

See rtk::ConvexShape::IsInside.

Reimplemented from rtk::ConvexShape.

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

Method for creation through the object factory.

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

Rescale object along each direction by a 3D vector.

Reimplemented from rtk::ConvexShape.

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

Rotate object according to a 3D rotation matrix.

Reimplemented from rtk::ConvexShape.

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

Add convex object to phantom.

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

Translate object by a given 3D vector.

Reimplemented from rtk::ConvexShape.

Member Data Documentation

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

Convenient type alias.

Definition at line 49 of file rtkIntersectionOfConvexShapes.h.

ConvexShapeVector rtk::IntersectionOfConvexShapes::m_ConvexShapes
private

Definition at line 92 of file rtkIntersectionOfConvexShapes.h.


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