VMTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkvmtkPolyBall Class Reference

An instance of vtkImplicitFunction which evaluates the minimum sphere function from a collection of points with attached sphere radii as point data. More...

#include <vtkvmtkPolyBall.h>

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

Public Types

typedef vtkImplicitFunction Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkvmtkPolyBallNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE
 
void EvaluateGradient (double x[3], double n[3]) VTK_OVERRIDE
 
double EvaluateFunction (double x[3]) VTK_OVERRIDE
 
double EvaluateFunction (double x, double y, double z) VTK_OVERRIDE
 
virtual void SetInput (vtkPolyData *)
 
virtual vtkPolyData * GetInput ()
 
void SetInputData (vtkPolyData *input)
 
vtkPolyData * GetInputData ()
 
virtual void SetPolyBallRadiusArrayName (const char *)
 
virtual char * GetPolyBallRadiusArrayName ()
 
virtual vtkIdType GetLastPolyBallCenterId ()
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkvmtkPolyBallSafeDownCast (vtkObjectBase *o)
 
static vtkvmtkPolyBallNew ()
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkvmtkPolyBall ()
 
 ~vtkvmtkPolyBall ()
 

Protected Attributes

vtkPolyData * Input
 
char * PolyBallRadiusArrayName
 
vtkIdType LastPolyBallCenterId
 

Detailed Description

An instance of vtkImplicitFunction which evaluates the minimum sphere function from a collection of points with attached sphere radii as point data.

Date
2006/04/06 16:46:43
Revision
1.3

Implicit functions are real valued functions defined in 3D space, w = F(x,y,z). Two primitive operations are required: the ability to evaluate the function, and the function gradient at a given point. The implicit function divides space into three regions: on the surface (F(x,y,z)=w), outside of the surface (F(x,y,z)>c), and inside the surface (F(x,y,z)<c). (When c is zero, positive values are outside, negative values are inside, and zero is on the surface. Note also that the function gradient points from inside to outside.)

A polyball is just an implicit function which takes a data set containing a bunch of points in R^3 with sphere radii defined on top of them and evaluates the minimum sphere function across the entire collection for a particular point. The sphere function is zero at the sphere surface, negative inside the sphere, and positive outside the sphere. This is implemented as a brute force calculation; in order to find the minimum sphere function across the collection, the sphere function is evaluated at the query point for every point in the input data set.

Definition at line 38 of file vtkvmtkPolyBall.h.

Member Typedef Documentation

◆ Superclass

typedef vtkImplicitFunction vtkvmtkPolyBall::Superclass

Definition at line 41 of file vtkvmtkPolyBall.h.

Constructor & Destructor Documentation

◆ vtkvmtkPolyBall()

vtkvmtkPolyBall::vtkvmtkPolyBall ( )
protected

◆ ~vtkvmtkPolyBall()

vtkvmtkPolyBall::~vtkvmtkPolyBall ( )
protected

Member Function Documentation

◆ IsTypeOf()

static int vtkvmtkPolyBall::IsTypeOf ( const char *  type)
static

◆ IsA()

virtual int vtkvmtkPolyBall::IsA ( const char *  type)
virtual

◆ SafeDownCast()

static vtkvmtkPolyBall* vtkvmtkPolyBall::SafeDownCast ( vtkObjectBase *  o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase* vtkvmtkPolyBall::NewInstanceInternal ( ) const
protectedvirtual

◆ NewInstance()

vtkvmtkPolyBall* vtkvmtkPolyBall::NewInstance ( ) const

◆ PrintSelf()

void vtkvmtkPolyBall::PrintSelf ( ostream &  os,
vtkIndent  indent 
)

◆ New()

static vtkvmtkPolyBall* vtkvmtkPolyBall::New ( )
static

◆ EvaluateFunction() [1/2]

double vtkvmtkPolyBall::EvaluateFunction ( double  x[3])

Evaluate polyball.

◆ EvaluateFunction() [2/2]

double vtkvmtkPolyBall::EvaluateFunction ( double  x,
double  y,
double  z 
)
inline

Evaluate polyball.

Definition at line 49 of file vtkvmtkPolyBall.h.

50  {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ;

◆ EvaluateGradient()

void vtkvmtkPolyBall::EvaluateGradient ( double  x[3],
double  n[3] 
)

Evaluate polyball gradient.

◆ SetInput()

virtual void vtkvmtkPolyBall::SetInput ( vtkPolyData *  )
virtual

Set / get input poly data.

◆ GetInput()

virtual vtkPolyData* vtkvmtkPolyBall::GetInput ( )
virtual

Set / get input poly data.

◆ SetInputData()

void vtkvmtkPolyBall::SetInputData ( vtkPolyData *  input)
inline

Set / get input poly data.

Definition at line 60 of file vtkvmtkPolyBall.h.

60 { SetInput(input); }
virtual void SetInput(vtkPolyData *)

◆ GetInputData()

vtkPolyData* vtkvmtkPolyBall::GetInputData ( )
inline

Set / get input poly data.

Definition at line 61 of file vtkvmtkPolyBall.h.

61 { return GetInput(); }
virtual vtkPolyData * GetInput()

◆ SetPolyBallRadiusArrayName()

virtual void vtkvmtkPolyBall::SetPolyBallRadiusArrayName ( const char *  )
virtual

Set / get poly ball radius array name.

◆ GetPolyBallRadiusArrayName()

virtual char* vtkvmtkPolyBall::GetPolyBallRadiusArrayName ( )
virtual

Set / get poly ball radius array name.

◆ GetLastPolyBallCenterId()

virtual vtkIdType vtkvmtkPolyBall::GetLastPolyBallCenterId ( )
virtual

Get the id of the last nearest poly ball center.

Member Data Documentation

◆ Input

vtkPolyData* vtkvmtkPolyBall::Input
protected

Definition at line 79 of file vtkvmtkPolyBall.h.

◆ PolyBallRadiusArrayName

char* vtkvmtkPolyBall::PolyBallRadiusArrayName
protected

Definition at line 80 of file vtkvmtkPolyBall.h.

◆ LastPolyBallCenterId

vtkIdType vtkvmtkPolyBall::LastPolyBallCenterId
protected

Definition at line 81 of file vtkvmtkPolyBall.h.


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