RTK  2.0.1
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
rtk::QuadricShape Class Reference

#include <rtkQuadricShape.h>

+ Inheritance diagram for rtk::QuadricShape:
+ Collaboration diagram for rtk::QuadricShape:

Public Types

using ConstPointer = itk::SmartPointer< const Self >
 
using Pointer = itk::SmartPointer< Self >
 
using PointType = Superclass::PointType
 
using ScalarType = Superclass::ScalarType
 
using Self = QuadricShape
 
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 ScalarType GetA () const
 
virtual ScalarType GetB () const
 
virtual ScalarType GetC () const
 
virtual ScalarType GetD () const
 
virtual ScalarType GetE () const
 
virtual ScalarType GetF () const
 
virtual ScalarType GetG () const
 
virtual ScalarType GetH () const
 
virtual ScalarType GetI () const
 
virtual ScalarType GetJ () 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
 
virtual void SetA (ScalarType _arg)
 
virtual void SetB (ScalarType _arg)
 
virtual void SetC (ScalarType _arg)
 
virtual void SetD (ScalarType _arg)
 
virtual void SetE (ScalarType _arg)
 
void SetEllipsoid (const PointType &center, const VectorType &axis, const ScalarType &yangle=0)
 
virtual void SetF (ScalarType _arg)
 
virtual void SetG (ScalarType _arg)
 
virtual void SetH (ScalarType _arg)
 
virtual void SetI (ScalarType _arg)
 
virtual void SetJ (ScalarType _arg)
 
void Translate (const VectorType &t) override
 
- 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 ()
 

Private Member Functions

 QuadricShape ()
 

Private Attributes

ScalarType m_A {0.}
 
ScalarType m_B {0.}
 
ScalarType m_C {0.}
 
ScalarType m_D {0.}
 
ScalarType m_E {0.}
 
ScalarType m_F {0.}
 
ScalarType m_G {0.}
 
ScalarType m_H {0.}
 
ScalarType m_I {0.}
 
ScalarType m_J {0.}
 

Additional Inherited Members

- Static Public Attributes inherited from rtk::ConvexShape
static constexpr unsigned int Dimension = 3
 
- 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

Defines a 3D quadric shape.

A quadric shape has the equation Ax^2 + By^2 + Cz^2 + Dxy+ Exz + Fyz + Gx + Hy + Iz + J = 0 It is assumed to be convex (which is not always true).

Test:
rtkforbildtest.cxx
Author
Simon Rit

Definition at line 45 of file rtkQuadricShape.h.

Member Typedef Documentation

Definition at line 53 of file rtkQuadricShape.h.

Definition at line 52 of file rtkQuadricShape.h.

using rtk::QuadricShape::PointType = Superclass::PointType

Definition at line 57 of file rtkQuadricShape.h.

Convenient type alias.

Definition at line 56 of file rtkQuadricShape.h.

Standard class type alias.

Definition at line 50 of file rtkQuadricShape.h.

Definition at line 51 of file rtkQuadricShape.h.

using rtk::QuadricShape::VectorType = Superclass::VectorType

Definition at line 58 of file rtkQuadricShape.h.

Constructor & Destructor Documentation

rtk::QuadricShape::QuadricShape ( )
private

Member Function Documentation

virtual::itk::LightObject::Pointer rtk::QuadricShape::CreateAnother ( ) const
virtual ScalarType rtk::QuadricShape::GetA ( ) const
virtual
virtual ScalarType rtk::QuadricShape::GetB ( ) const
virtual
virtual ScalarType rtk::QuadricShape::GetC ( ) const
virtual
virtual ScalarType rtk::QuadricShape::GetD ( ) const
virtual
virtual ScalarType rtk::QuadricShape::GetE ( ) const
virtual
virtual ScalarType rtk::QuadricShape::GetF ( ) const
virtual
virtual ScalarType rtk::QuadricShape::GetG ( ) const
virtual
virtual ScalarType rtk::QuadricShape::GetH ( ) const
virtual
virtual ScalarType rtk::QuadricShape::GetI ( ) const
virtual
virtual ScalarType rtk::QuadricShape::GetJ ( ) const
virtual
virtual const char* rtk::QuadricShape::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from rtk::ConvexShape.

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

See rtk::ConvexShape::IsInside.

Reimplemented from rtk::ConvexShape.

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

Method for creation through the object factory.

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

Rescale object along each direction by a 3D vector.

Reimplemented from rtk::ConvexShape.

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

Rotate object by a given 3D vector.

Reimplemented from rtk::ConvexShape.

virtual void rtk::QuadricShape::SetA ( ScalarType  _arg)
virtual
virtual void rtk::QuadricShape::SetB ( ScalarType  _arg)
virtual
virtual void rtk::QuadricShape::SetC ( ScalarType  _arg)
virtual
virtual void rtk::QuadricShape::SetD ( ScalarType  _arg)
virtual
virtual void rtk::QuadricShape::SetE ( ScalarType  _arg)
virtual
void rtk::QuadricShape::SetEllipsoid ( const PointType center,
const VectorType axis,
const ScalarType yangle = 0 
)
virtual void rtk::QuadricShape::SetF ( ScalarType  _arg)
virtual
virtual void rtk::QuadricShape::SetG ( ScalarType  _arg)
virtual
virtual void rtk::QuadricShape::SetH ( ScalarType  _arg)
virtual
virtual void rtk::QuadricShape::SetI ( ScalarType  _arg)
virtual
virtual void rtk::QuadricShape::SetJ ( ScalarType  _arg)
virtual
void rtk::QuadricShape::Translate ( const VectorType t)
overridevirtual

Translate object by a given 3D vector.

Reimplemented from rtk::ConvexShape.

Member Data Documentation

ScalarType rtk::QuadricShape::m_A {0.}
private

Definition at line 114 of file rtkQuadricShape.h.

ScalarType rtk::QuadricShape::m_B {0.}
private

Definition at line 115 of file rtkQuadricShape.h.

ScalarType rtk::QuadricShape::m_C {0.}
private

Definition at line 116 of file rtkQuadricShape.h.

ScalarType rtk::QuadricShape::m_D {0.}
private

Definition at line 117 of file rtkQuadricShape.h.

ScalarType rtk::QuadricShape::m_E {0.}
private

Definition at line 118 of file rtkQuadricShape.h.

ScalarType rtk::QuadricShape::m_F {0.}
private

Definition at line 119 of file rtkQuadricShape.h.

ScalarType rtk::QuadricShape::m_G {0.}
private

Definition at line 120 of file rtkQuadricShape.h.

ScalarType rtk::QuadricShape::m_H {0.}
private

Definition at line 121 of file rtkQuadricShape.h.

ScalarType rtk::QuadricShape::m_I {0.}
private

Definition at line 122 of file rtkQuadricShape.h.

ScalarType rtk::QuadricShape::m_J {0.}
private

Definition at line 123 of file rtkQuadricShape.h.


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