RTK  2.5.0
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
 
itk::LightObject::Pointer InternalClone () const override
 
bool IsInside (const PointType &point) const override
 
bool IsInsideQuadric (const PointType &point) const
 
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
 
virtual const char * GetNameOfClass () const
 
- 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 ()
 

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

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

◆ ConstPointer

Definition at line 52 of file rtkQuadricShape.h.

◆ Pointer

Definition at line 51 of file rtkQuadricShape.h.

◆ PointType

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

Definition at line 56 of file rtkQuadricShape.h.

◆ ScalarType

Convenient type alias.

Definition at line 55 of file rtkQuadricShape.h.

◆ Self

Standard class type alias.

Definition at line 49 of file rtkQuadricShape.h.

◆ Superclass

Definition at line 50 of file rtkQuadricShape.h.

◆ VectorType

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

Definition at line 57 of file rtkQuadricShape.h.

Constructor & Destructor Documentation

◆ QuadricShape()

rtk::QuadricShape::QuadricShape ( )
private

Member Function Documentation

◆ CreateAnother()

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

Reimplemented from rtk::ConvexShape.

◆ GetA()

virtual ScalarType rtk::QuadricShape::GetA ( ) const
virtual

◆ GetB()

virtual ScalarType rtk::QuadricShape::GetB ( ) const
virtual

◆ GetC()

virtual ScalarType rtk::QuadricShape::GetC ( ) const
virtual

◆ GetD()

virtual ScalarType rtk::QuadricShape::GetD ( ) const
virtual

◆ GetE()

virtual ScalarType rtk::QuadricShape::GetE ( ) const
virtual

◆ GetF()

virtual ScalarType rtk::QuadricShape::GetF ( ) const
virtual

◆ GetG()

virtual ScalarType rtk::QuadricShape::GetG ( ) const
virtual

◆ GetH()

virtual ScalarType rtk::QuadricShape::GetH ( ) const
virtual

◆ GetI()

virtual ScalarType rtk::QuadricShape::GetI ( ) const
virtual

◆ GetJ()

virtual ScalarType rtk::QuadricShape::GetJ ( ) const
virtual

◆ GetNameOfClass()

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

Run-time type information (and related methods).

Reimplemented from rtk::ConvexShape.

◆ InternalClone()

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

Reimplemented from rtk::ConvexShape.

◆ IsInside()

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

See rtk::ConvexShape::IsInside.

Reimplemented from rtk::ConvexShape.

◆ IsInsideQuadric()

bool rtk::QuadricShape::IsInsideQuadric ( const PointType point) const

Idem as IsInside without the application of clip planes.

◆ IsIntersectedByRay()

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

◆ New()

static Pointer rtk::QuadricShape::New ( )
static

Method for creation through the object factory.

◆ Rescale()

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

Rescale object along each direction by a 3D vector.

Reimplemented from rtk::ConvexShape.

◆ Rotate()

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

Rotate object by a given 3D vector.

Reimplemented from rtk::ConvexShape.

◆ SetA()

virtual void rtk::QuadricShape::SetA ( ScalarType  _arg)
virtual

◆ SetB()

virtual void rtk::QuadricShape::SetB ( ScalarType  _arg)
virtual

◆ SetC()

virtual void rtk::QuadricShape::SetC ( ScalarType  _arg)
virtual

◆ SetD()

virtual void rtk::QuadricShape::SetD ( ScalarType  _arg)
virtual

◆ SetE()

virtual void rtk::QuadricShape::SetE ( ScalarType  _arg)
virtual

◆ SetEllipsoid()

void rtk::QuadricShape::SetEllipsoid ( const PointType center,
const VectorType axis,
const ScalarType yangle = 0 
)

◆ SetF()

virtual void rtk::QuadricShape::SetF ( ScalarType  _arg)
virtual

◆ SetG()

virtual void rtk::QuadricShape::SetG ( ScalarType  _arg)
virtual

◆ SetH()

virtual void rtk::QuadricShape::SetH ( ScalarType  _arg)
virtual

◆ SetI()

virtual void rtk::QuadricShape::SetI ( ScalarType  _arg)
virtual

◆ SetJ()

virtual void rtk::QuadricShape::SetJ ( ScalarType  _arg)
virtual

◆ Translate()

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

Translate object by a given 3D vector.

Reimplemented from rtk::ConvexShape.

Member Data Documentation

◆ m_A

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

Definition at line 129 of file rtkQuadricShape.h.

◆ m_B

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

Definition at line 130 of file rtkQuadricShape.h.

◆ m_C

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

Definition at line 131 of file rtkQuadricShape.h.

◆ m_D

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

Definition at line 132 of file rtkQuadricShape.h.

◆ m_E

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

Definition at line 133 of file rtkQuadricShape.h.

◆ m_F

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

Definition at line 134 of file rtkQuadricShape.h.

◆ m_G

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

Definition at line 135 of file rtkQuadricShape.h.

◆ m_H

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

Definition at line 136 of file rtkQuadricShape.h.

◆ m_I

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

Definition at line 137 of file rtkQuadricShape.h.

◆ m_J

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

Definition at line 138 of file rtkQuadricShape.h.


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