Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions

mitk::Cone Class Reference
[Data Classes]

Data class containing an cylinder. More...

#include <mitkCone.h>

Inheritance diagram for mitk::Cone:
Inheritance graph
[legend]
Collaboration diagram for mitk::Cone:
Collaboration graph
[legend]

List of all members.

Public Types

typedef Cone Self
typedef BoundingObject Superclass
typedef itk::SmartPointer< SelfPointer
typedef itk::SmartPointer
< const Self
ConstPointer

Public Member Functions

virtual const char * GetClassName () const
virtual mitk::ScalarType GetVolume ()
virtual bool IsInside (const Point3D &p) const

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 Cone ()
virtual ~Cone ()

Detailed Description

Data class containing an cylinder.

Definition at line 30 of file mitkCone.h.


Member Typedef Documentation

typedef itk::SmartPointer<const Self> mitk::Cone::ConstPointer

Reimplemented from mitk::BoundingObject.

Definition at line 33 of file mitkCone.h.

typedef itk::SmartPointer<Self> mitk::Cone::Pointer

Reimplemented from mitk::BoundingObject.

Definition at line 33 of file mitkCone.h.

Reimplemented from mitk::BoundingObject.

Definition at line 33 of file mitkCone.h.

Reimplemented from mitk::BoundingObject.

Definition at line 33 of file mitkCone.h.


Constructor & Destructor Documentation

mitk::Cone::Cone (  ) [protected]

Definition at line 24 of file mitkCone.cpp.

References New(), and mitk::Surface::SetVtkPolyData().

: BoundingObject()
{
  // Set up Cone Surface. Radius 1.0, height 2.0, , centered around the origin
  vtkConeSource* cone = vtkConeSource::New();
  cone->SetRadius(1.0);
  cone->SetHeight(2.0);
  cone->SetDirection(0.0, -1.0, 0.0);
  cone->SetCenter(0.0, 0.0, 0.0);
  cone->SetResolution(20);
  cone->CappingOn();
  cone->Update();
  SetVtkPolyData(cone->GetOutput());
  cone->Delete(); 
}
mitk::Cone::~Cone (  ) [protected, virtual]

Definition at line 40 of file mitkCone.cpp.

{
}

Member Function Documentation

virtual const char* mitk::Cone::GetClassName (  ) const [virtual]

Reimplemented from mitk::BoundingObject.

mitk::ScalarType mitk::Cone::GetVolume (  ) [virtual]

Reimplemented from mitk::BoundingObject.

Definition at line 59 of file mitkCone.cpp.

References mitk::Geometry3D::GetExtentInMM().

{
  Geometry3D* geometry = GetTimeSlicedGeometry();
  return   geometry->GetExtentInMM(0) * 0.5
    * geometry->GetExtentInMM(2) * 0.5
    * vnl_math::pi / 3.0
    * geometry->GetExtentInMM(1);
}
bool mitk::Cone::IsInside ( const Point3D &  p ) const [virtual]

Definition at line 44 of file mitkCone.cpp.

References QuadProgPP::sqrt().

{
  // transform point from world to object coordinates
  ScalarType p[4];
  p[0] = worldPoint[0];
  p[1] = worldPoint[1];
  p[2] = worldPoint[2];
  p[3] = 1;

  GetGeometry()->GetVtkTransform()->GetInverse()->TransformPoint(p, p);

  p[1] += 1;  // translate point, so that it fits to the formula below, which describes a cone that has its cone vertex at the origin                                            
  return (sqrt(p[0] * p[0] + p[2] * p[2]) <= p[1] * 0.5) && (p[1] <= 2);  // formula to calculate if a given point is inside a cone that has its cone vertex at the origin, is aligned on the second axis, has a radius of one an a height of two
}
static Pointer mitk::Cone::New (  ) [static]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines