Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkImplicitSum Class Reference

#include <vtkImplicitSum.h>

Inheritance diagram for vtkImplicitSum:

Inheritance graph
[legend]
Collaboration diagram for vtkImplicitSum:

Collaboration graph
[legend]
List of all members.

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 39 of file vtkImplicitSum.h.

Public Types

typedef vtkImplicitFunction Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void EvaluateGradient (double x[3], double g[3])
unsigned long GetMTime ()
void AddFunction (vtkImplicitFunction *in, double weight)
void AddFunction (vtkImplicitFunction *in)
void RemoveAllFunctions ()
void PrintSelf (ostream &os, vtkIndent indent)
double EvaluateFunction (double x[3])
double EvaluateFunction (double x, double y, double z)
void SetFunctionWeight (vtkImplicitFunction *f, double weight)
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 (vtkObject *o)

Protected Member Functions

 vtkImplicitSum ()
 ~vtkImplicitSum ()
void CalculateTotalWeight (void)

Protected Attributes

vtkImplicitFunctionCollectionFunctionList
vtkDoubleArrayWeights
double TotalWeight
int NormalizeByWeight


Member Typedef Documentation

typedef vtkImplicitFunction vtkImplicitSum::Superclass
 

Reimplemented from vtkImplicitFunction.

Definition at line 44 of file vtkImplicitSum.h.


Constructor & Destructor Documentation

vtkImplicitSum::vtkImplicitSum  )  [protected]
 

vtkImplicitSum::~vtkImplicitSum  )  [protected]
 


Member Function Documentation

static vtkImplicitSum* vtkImplicitSum::New  )  [static]
 

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

virtual const char* vtkImplicitSum::GetClassName  )  [virtual]
 

Reimplemented from vtkImplicitFunction.

static int vtkImplicitSum::IsTypeOf const char *  type  )  [static]
 

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkImplicitFunction.

virtual int vtkImplicitSum::IsA const char *  type  )  [virtual]
 

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkImplicitFunction.

static vtkImplicitSum* vtkImplicitSum::SafeDownCast vtkObject o  )  [static]
 

Reimplemented from vtkImplicitFunction.

void vtkImplicitSum::PrintSelf ostream &  os,
vtkIndent  indent
[virtual]
 

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkImplicitFunction.

double vtkImplicitSum::EvaluateFunction double  x[3]  )  [virtual]
 

Evaluate implicit function using current functions and weights.

Implements vtkImplicitFunction.

double vtkImplicitSum::EvaluateFunction double  x,
double  y,
double  z
[inline]
 

Evaluate function at position x-y-z and return value. You should generally not call this method directly, you should use FunctionValue() instead. This method must be implemented by any derived class.

Reimplemented from vtkImplicitFunction.

Definition at line 50 of file vtkImplicitSum.h.

References vtkImplicitFunction::EvaluateFunction().

void vtkImplicitSum::EvaluateGradient double  x[3],
double  g[3]
[virtual]
 

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

Implements vtkImplicitFunction.

unsigned long vtkImplicitSum::GetMTime  )  [virtual]
 

Override modified time retrieval because of object dependencies.

Reimplemented from vtkImplicitFunction.

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 67 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]
 

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

virtual void vtkImplicitSum::NormalizeByWeightOn  )  [virtual]
 

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

virtual void vtkImplicitSum::NormalizeByWeightOff  )  [virtual]
 

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

void vtkImplicitSum::CalculateTotalWeight void   )  [protected]
 


Member Data Documentation

vtkImplicitFunctionCollection* vtkImplicitSum::FunctionList [protected]
 

Definition at line 90 of file vtkImplicitSum.h.

vtkDoubleArray* vtkImplicitSum::Weights [protected]
 

Definition at line 91 of file vtkImplicitSum.h.

double vtkImplicitSum::TotalWeight [protected]
 

Definition at line 92 of file vtkImplicitSum.h.

int vtkImplicitSum::NormalizeByWeight [protected]
 

Definition at line 95 of file vtkImplicitSum.h.


The documentation for this class was generated from the following file:
Generated on Mon Jan 21 23:55:17 2008 for VTK by  doxygen 1.4.3-20050530