19 #ifndef rtkConvexShape_h 20 #define rtkConvexShape_h 22 #include <itkMatrix.h> 24 #include <itkDataObject.h> 25 #include <itkObjectFactory.h> 27 #include "RTKExport.h" 58 static constexpr
unsigned int Dimension = 3;
60 using PointType = itk::Vector<ScalarType, Dimension>;
78 IsIntersectedByRay(
const PointType & rayOrigin,
100 SetClipPlanes(
const std::vector<VectorType> & dir,
const std::vector<ScalarType> & pos);
110 itkGetConstReferenceMacro(PlaneDirections, std::vector<VectorType>);
111 itkGetConstReferenceMacro(PlanePositions, std::vector<ScalarType>);
117 ApplyClipPlanes(
const PointType & rayOrigin,
122 ApplyClipPlanes(
const PointType & point)
const;
123 itk::LightObject::Pointer
124 InternalClone()
const override;
std::vector< ScalarType > m_PlanePositions
itk::Vector< ScalarType, Dimension > VectorType
std::vector< VectorType > m_PlaneDirections
itk::SmartPointer< Self > Pointer
itk::SmartPointer< const Self > ConstPointer
#define itkSetMacro(name, type)
Base class for a 3D convex shape.
itk::DataObject Superclass
itk::Vector< ScalarType, Dimension > PointType
itk::Matrix< ScalarType, Dimension, Dimension > RotationMatrixType