RTK
2.6.0
Reconstruction Toolkit
|
#include <rtkConvexShape.h>
Public Types | |
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 bool | IsInside (const PointType &point) 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) |
virtual const char * | GetNameOfClass () 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 Attributes | |
static constexpr unsigned int | Dimension = 3 |
Protected Member Functions | |
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 |
Private Attributes | |
ScalarType | m_Density { 0. } |
std::vector< VectorType > | m_PlaneDirections |
std::vector< ScalarType > | m_PlanePositions |
Base class for a 3D convex shape.
A ConvexShape is used to draw and project (in the tomographic sense) a geometric phantom using the functions IsInside and IsIntersectedByRay, respectively.
Definition at line 46 of file rtkConvexShape.h.
using rtk::ConvexShape::ConstPointer = itk::SmartPointer<const Self> |
Definition at line 55 of file rtkConvexShape.h.
Definition at line 54 of file rtkConvexShape.h.
Definition at line 60 of file rtkConvexShape.h.
Definition at line 62 of file rtkConvexShape.h.
using rtk::ConvexShape::ScalarType = double |
Definition at line 59 of file rtkConvexShape.h.
using rtk::ConvexShape::Self = ConvexShape |
Standard class type alias.
Definition at line 52 of file rtkConvexShape.h.
Definition at line 53 of file rtkConvexShape.h.
Definition at line 61 of file rtkConvexShape.h.
|
protected |
void rtk::ConvexShape::AddClipPlane | ( | const VectorType & | dir, |
const ScalarType & | pos | ||
) |
Add clipping plane to the object. The plane is defined by the equation dir * (x,y,z)' + pos = 0.
|
protected |
|
protected |
|
virtual |
Reimplemented from itk::Object.
Reimplemented in rtk::QuadricShape, and rtk::IntersectionOfConvexShapes.
|
virtual |
Volume density, i.e., value in the volume.
|
virtual |
Volume density, i.e., value in the volume.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::DataObject.
Reimplemented in rtk::BoxShape, rtk::QuadricShape, and rtk::IntersectionOfConvexShapes.
|
virtual |
Get reference to vector of plane parameters.
|
virtual |
Get reference to vector of plane parameters.
|
overrideprotectedvirtual |
Reimplemented from itk::LightObject.
Reimplemented in rtk::QuadricShape, and rtk::IntersectionOfConvexShapes.
|
virtual |
Returns true if a point is inside the object.
Reimplemented in rtk::BoxShape, rtk::QuadricShape, and rtk::IntersectionOfConvexShapes.
|
virtual |
Returns true if a ray intersects the object. If it does, the parameters nearDist and farDist get the shape distance from the source in the ray direction. Note that nearDist<farDist, and nearDist and farDist can be negative.
Reimplemented in rtk::QuadricShape, and rtk::IntersectionOfConvexShapes.
|
static |
Method for creation through the object factory.
|
virtual |
Rescale object along each direction by a 3D vector.
Reimplemented in rtk::QuadricShape, and rtk::IntersectionOfConvexShapes.
|
virtual |
Rotate object according to a 3D rotation matrix.
Reimplemented in rtk::QuadricShape, and rtk::IntersectionOfConvexShapes.
void rtk::ConvexShape::SetClipPlanes | ( | const std::vector< VectorType > & | dir, |
const std::vector< ScalarType > & | pos | ||
) |
Add clipping plane to the object. The plane is defined by the equation dir * (x,y,z)' + pos = 0.
|
virtual |
Volume density, i.e., value in the volume.
|
virtual |
Translate object by a given 3D vector.
Reimplemented in rtk::QuadricShape, and rtk::IntersectionOfConvexShapes.
|
static |
Convenient type alias.
Definition at line 58 of file rtkConvexShape.h.
|
private |
Definition at line 132 of file rtkConvexShape.h.
|
private |
Definition at line 133 of file rtkConvexShape.h.
|
private |
Definition at line 134 of file rtkConvexShape.h.