SMTK  @SMTK_VERSION@
Simulation Modeling Tool Kit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkImplicitConeFrustum Class Reference

Generate an implicit function whose 0-isocontour is a right cone frustum. More...

#include <vtkImplicitConeFrustum.h>

Inheritance diagram for vtkImplicitConeFrustum:
[legend]
Collaboration diagram for vtkImplicitConeFrustum:
[legend]

Public Types

typedef vtkImplicitBoolean Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkImplicitConeFrustumNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
 vtkImplicitConeFrustum (const vtkImplicitConeFrustum &)=delete
 
vtkImplicitConeFrustumoperator= (const vtkImplicitConeFrustum &)=delete
 
virtual bool SetBottomRadius (double radius)
 Set/get the radius at the bottom of the cone. More...
 
virtual double GetBottomRadius ()
 
virtual bool SetTopRadius (double radius)
 Set/get the radius at the top of the cone. More...
 
virtual double GetTopRadius ()
 
virtual bool SetBottomPoint (const vtkVector3d &pt)
 Set/get the bottom point of the cone. More...
 
virtual bool SetBottomPoint (double x, double y, double z)
 
virtual vtkVector3d GetBottomPoint ()
 
virtual bool SetTopPoint (const vtkVector3d &pt)
 Set/get the top point of the cone. More...
 
virtual bool SetTopPoint (double x, double y, double z)
 
virtual vtkVector3d GetTopPoint ()
 
double GetAngle () const
 Return the angle (in degrees) between the cone axis and the cone surface. More...
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkImplicitConeFrustumSafeDownCast (vtkObjectBase *o)
 
static vtkImplicitConeFrustumNew ()
 Construct with default parameters.
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
void UpdateImplicit ()
 Update the internal implicits and mark this object as modified. More...
 

Protected Attributes

vtkNew< vtkCone > InfiniteCone
 
vtkNew< vtkTransform > ConeTransform
 
vtkVector3d BottomPoint
 
double BottomRadius { 0.5 }
 
vtkNew< vtkPlane > BottomPlane
 
vtkVector3d TopPoint
 
double TopRadius { 0.0 }
 
vtkNew< vtkPlane > TopPlane
 

Detailed Description

Generate an implicit function whose 0-isocontour is a right cone frustum.

A right cone frustum is an infinite cone truncated by 2 planes, each of which is perpendicular to the axis of the cone. vtkImplicitConeFrustum creates a signed distance function for a right cone frustum whose axis lies between 2 given points with the specified radius at each point.

Internally, this distance function is composed of the boolean difference between an infinite cone and 2 infinite planes.

By default, point 1 (the bottom) lies at the origin with radius 0.5 and point 2 (the top) lies at (0,0,1) with radius 0.

Member Function Documentation

◆ GetAngle()

double vtkImplicitConeFrustum::GetAngle ( ) const

Return the angle (in degrees) between the cone axis and the cone surface.

This should always return a value in [0,90[. For cylinders, this will return 0.

◆ SetBottomPoint()

bool vtkImplicitConeFrustum::SetBottomPoint ( const vtkVector3d &  pt)
virtual

Set/get the bottom point of the cone.

The default is 0,0,0.

◆ SetBottomRadius()

bool vtkImplicitConeFrustum::SetBottomRadius ( double  radius)
virtual

Set/get the radius at the bottom of the cone.

It must be non-negative. It may be 0, but not when the TopRadius is also 0.

◆ SetTopPoint()

bool vtkImplicitConeFrustum::SetTopPoint ( const vtkVector3d &  pt)
virtual

Set/get the top point of the cone.

The default is 0,0,0.

◆ SetTopRadius()

bool vtkImplicitConeFrustum::SetTopRadius ( double  radius)
virtual

Set/get the radius at the top of the cone.

It must be non-negative. It may be 0, but not when the BottomRadius is also 0.

◆ UpdateImplicit()

void vtkImplicitConeFrustum::UpdateImplicit ( )
protected

Update the internal implicits and mark this object as modified.

This is invoked by SetBottomPoint, SetBottomRadius, SetTopPoint, SetTopRadius.


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