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
vtkImplicitSum Class Reference

implicit sum of other implicit functions More...

#include <vtkImplicitSum.h>

Inherits vtkImplicitFunction.

Collaboration diagram for vtkImplicitSum:
[legend]

Public Types

typedef vtkImplicitFunction Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkImplicitSumNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
void EvaluateGradient (double x[3], double g[3])
 
unsigned long GetMTime ()
 
void AddFunction (vtkImplicitFunction *in, double weight)
 
void AddFunction (vtkImplicitFunction *in)
 
void RemoveAllFunctions ()
 
void SetFunctionWeight (vtkImplicitFunction *f, double weight)
 
double EvaluateFunction (double x[3])
 
double EvaluateFunction (double x, double y, double z)
 
virtual void SetNormalizeByWeight (int)
 
virtual int GetNormalizeByWeight ()
 
virtual void NormalizeByWeightOn ()
 
virtual void NormalizeByWeightOff ()
 

Static Public Member Functions

static vtkImplicitSumNew ()
 
static int IsTypeOf (const char *type)
 
static vtkImplicitSumSafeDownCast (vtkObjectBase *o)
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkImplicitSum ()
 
 ~vtkImplicitSum ()
 
void CalculateTotalWeight (void)
 

Protected Attributes

vtkImplicitFunctionCollectionFunctionList
 
vtkDoubleArray * Weights
 
double TotalWeight
 
int NormalizeByWeight
 

Detailed Description

implicit sum of other implicit functions

vtkImplicitSum produces a linear combination of other implicit functions. The contribution of each function is weighted by a scalar coefficient. The NormalizeByWeight option normalizes the output so that the scalar weights add up to 1. Note that this function gives accurate sums and gradients only if the input functions are linear.

Examples:
vtkImplicitSum (Examples)
Tests:
vtkImplicitSum (Tests)

Definition at line 40 of file vtkImplicitSum.h.

Member Typedef Documentation

typedef vtkImplicitFunction vtkImplicitSum::Superclass

Definition at line 45 of file vtkImplicitSum.h.

Constructor & Destructor Documentation

vtkImplicitSum::vtkImplicitSum ( )
protected
vtkImplicitSum::~vtkImplicitSum ( )
protected

Member Function Documentation

static vtkImplicitSum* vtkImplicitSum::New ( )
static
static int vtkImplicitSum::IsTypeOf ( const char *  type)
static
virtual int vtkImplicitSum::IsA ( const char *  type)
virtual
static vtkImplicitSum* vtkImplicitSum::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkImplicitSum::NewInstanceInternal ( ) const
protectedvirtual
vtkImplicitSum* vtkImplicitSum::NewInstance ( ) const
void vtkImplicitSum::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
double vtkImplicitSum::EvaluateFunction ( double  x[3])

Evaluate implicit function using current functions and weights.

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

Evaluate implicit function using current functions and weights.

Definition at line 51 of file vtkImplicitSum.h.

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

Evaluate gradient of the weighted sum of functions. Input functions should be linear.

unsigned long vtkImplicitSum::GetMTime ( )

Override modified time retrieval because of object dependencies.

void vtkImplicitSum::AddFunction ( vtkImplicitFunction *  in,
double  weight 
)

Add another implicit function to the list of functions, along with a weighting factor.

void vtkImplicitSum::AddFunction ( vtkImplicitFunction *  in)
inline

Add another implicit function to the list of functions, weighting it by a factor of 1.

Definition at line 68 of file vtkImplicitSum.h.

void vtkImplicitSum::RemoveAllFunctions ( )

Remove all functions from the list.

void vtkImplicitSum::SetFunctionWeight ( vtkImplicitFunction *  f,
double  weight 
)

Set the weight (coefficient) of the given function to be weight.

virtual void vtkImplicitSum::SetNormalizeByWeight ( int  )
virtual

When calculating the function and gradient values of the composite function, setting NormalizeByWeight on will divide the final result by the total weight of the component functions. This process does not otherwise normalize the gradient vector. By default, NormalizeByWeight is off.

virtual int vtkImplicitSum::GetNormalizeByWeight ( )
virtual

When calculating the function and gradient values of the composite function, setting NormalizeByWeight on will divide the final result by the total weight of the component functions. This process does not otherwise normalize the gradient vector. By default, NormalizeByWeight is off.

virtual void vtkImplicitSum::NormalizeByWeightOn ( )
virtual

When calculating the function and gradient values of the composite function, setting NormalizeByWeight on will divide the final result by the total weight of the component functions. This process does not otherwise normalize the gradient vector. By default, NormalizeByWeight is off.

virtual void vtkImplicitSum::NormalizeByWeightOff ( )
virtual

When calculating the function and gradient values of the composite function, setting NormalizeByWeight on will divide the final result by the total weight of the component functions. This process does not otherwise normalize the gradient vector. By default, NormalizeByWeight is off.

void vtkImplicitSum::CalculateTotalWeight ( void  )
protected

Member Data Documentation

vtkImplicitFunctionCollection* vtkImplicitSum::FunctionList
protected

Definition at line 91 of file vtkImplicitSum.h.

vtkDoubleArray* vtkImplicitSum::Weights
protected

Definition at line 92 of file vtkImplicitSum.h.

double vtkImplicitSum::TotalWeight
protected

Definition at line 93 of file vtkImplicitSum.h.

int vtkImplicitSum::NormalizeByWeight
protected

Definition at line 96 of file vtkImplicitSum.h.


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