VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkImplicitBoolean Class Reference

implicit function consisting of boolean combinations of implicit functions More...

#include <vtkImplicitBoolean.h>

Inherits vtkImplicitFunction.

Collaboration diagram for vtkImplicitBoolean:
[legend]

Public Types

enum  OperationType { VTK_UNION =0, VTK_INTERSECTION, VTK_DIFFERENCE, VTK_UNION_OF_MAGNITUDES }
 
typedef vtkImplicitFunction Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkImplicitBooleanNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
void EvaluateGradient (double x[3], double g[3])
 
unsigned long GetMTime ()
 
void AddFunction (vtkImplicitFunction *in)
 
void RemoveFunction (vtkImplicitFunction *in)
 
vtkImplicitFunctionCollectionGetFunction ()
 
double EvaluateFunction (double x[3])
 
double EvaluateFunction (double x, double y, double z)
 
virtual void SetOperationType (int)
 
virtual int GetOperationType ()
 
void SetOperationTypeToUnion ()
 
void SetOperationTypeToIntersection ()
 
void SetOperationTypeToDifference ()
 
void SetOperationTypeToUnionOfMagnitudes ()
 
const char * GetOperationTypeAsString ()
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkImplicitBooleanSafeDownCast (vtkObjectBase *o)
 
static vtkImplicitBooleanNew ()
 

Protected Member Functions

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

Protected Attributes

vtkImplicitFunctionCollectionFunctionList
 
int OperationType
 

Detailed Description

implicit function consisting of boolean combinations of implicit functions

vtkImplicitBoolean is an implicit function consisting of boolean combinations of implicit functions. The class has a list of functions (FunctionList) that are combined according to a specified operator (VTK_UNION or VTK_INTERSECTION or VTK_DIFFERENCE). You can use nested combinations of vtkImplicitFunction's (and/or vtkImplicitBoolean) to create elaborate implicit functions. vtkImplicitBoolean is a concrete implementation of vtkImplicitFunction.

The operators work as follows. The VTK_UNION operator takes the minimum value of all implicit functions. The VTK_INTERSECTION operator takes the maximum value of all implicit functions. The VTK_DIFFERENCE operator subtracts the 2nd through last implicit functions from the first. The VTK_UNION_OF_MAGNITUDES takes the minimum absolute value of the implicit functions.

Examples:
vtkImplicitBoolean (Examples)
Tests:
vtkImplicitBoolean (Tests)

Definition at line 48 of file vtkImplicitBoolean.h.

Member Typedef Documentation

typedef vtkImplicitFunction vtkImplicitBoolean::Superclass

Definition at line 51 of file vtkImplicitBoolean.h.

Member Enumeration Documentation

Enumerator
VTK_UNION 
VTK_INTERSECTION 
VTK_DIFFERENCE 
VTK_UNION_OF_MAGNITUDES 

Definition at line 54 of file vtkImplicitBoolean.h.

Constructor & Destructor Documentation

vtkImplicitBoolean::vtkImplicitBoolean ( )
protected
vtkImplicitBoolean::~vtkImplicitBoolean ( )
protected

Member Function Documentation

static int vtkImplicitBoolean::IsTypeOf ( const char *  type)
static
virtual int vtkImplicitBoolean::IsA ( const char *  type)
virtual
static vtkImplicitBoolean* vtkImplicitBoolean::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkImplicitBoolean::NewInstanceInternal ( ) const
protectedvirtual
vtkImplicitBoolean* vtkImplicitBoolean::NewInstance ( ) const
void vtkImplicitBoolean::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
static vtkImplicitBoolean* vtkImplicitBoolean::New ( )
static

Default boolean method is union.

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

Evaluate boolean combinations of implicit function using current operator.

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

Evaluate boolean combinations of implicit function using current operator.

Definition at line 69 of file vtkImplicitBoolean.h.

void vtkImplicitBoolean::EvaluateGradient ( double  x[3],
double  g[3] 
)

Evaluate gradient of boolean combination.

unsigned long vtkImplicitBoolean::GetMTime ( )

Override modified time retrieval because of object dependencies.

void vtkImplicitBoolean::AddFunction ( vtkImplicitFunction *  in)

Add another implicit function to the list of functions.

void vtkImplicitBoolean::RemoveFunction ( vtkImplicitFunction *  in)

Remove a function from the list of implicit functions to boolean.

vtkImplicitFunctionCollection* vtkImplicitBoolean::GetFunction ( )
inline

Return the collection of implicit functions.

Definition at line 86 of file vtkImplicitBoolean.h.

virtual void vtkImplicitBoolean::SetOperationType ( int  )
virtual

Specify the type of boolean operation.

virtual int vtkImplicitBoolean::GetOperationType ( )
virtual

Specify the type of boolean operation.

void vtkImplicitBoolean::SetOperationTypeToUnion ( )
inline

Specify the type of boolean operation.

Definition at line 92 of file vtkImplicitBoolean.h.

void vtkImplicitBoolean::SetOperationTypeToIntersection ( )
inline

Specify the type of boolean operation.

Definition at line 94 of file vtkImplicitBoolean.h.

void vtkImplicitBoolean::SetOperationTypeToDifference ( )
inline

Specify the type of boolean operation.

Definition at line 96 of file vtkImplicitBoolean.h.

void vtkImplicitBoolean::SetOperationTypeToUnionOfMagnitudes ( )
inline

Specify the type of boolean operation.

Definition at line 98 of file vtkImplicitBoolean.h.

const char * vtkImplicitBoolean::GetOperationTypeAsString ( void  )
inline

Return the boolean operation type as a descriptive character string.

Definition at line 118 of file vtkImplicitBoolean.h.

Member Data Documentation

vtkImplicitFunctionCollection* vtkImplicitBoolean::FunctionList
protected

Definition at line 107 of file vtkImplicitBoolean.h.

Definition at line 109 of file vtkImplicitBoolean.h.


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