Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# vtkImplicitSum Class Reference

`#include <vtkImplicitSum.h>`

Inheritance diagram for vtkImplicitSum:

[legend]
Collaboration diagram for vtkImplicitSum:

[legend]
List of all members.

## Detailed Description

implicit sum of other implicit functions

Date:
  2002/08/30 15:27:28

Revision:
  1.4

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.

Created by:
  - Halle, Michael

CVS contributions (if > 5%):
  - Halle, Michael (87%)
  - Schroeder, Will (7%)

CVS logs (CVSweb):
  - .`cxx` (`/Filtering/vtkImplicitSum.cxx)`
  - .`h` (`/Filtering/vtkImplicitSum.h)`

Examples:
  vtkImplicitSum (Examples)

Tests:
  vtkImplicitSum (Tests)

Definition at line 78 of file vtkImplicitSum.h.

## Public Types

typedef vtkImplicitFunction | Superclass

## Public Methods

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

## Static Public Methods

vtkImplicitSum * | New ()
int | IsTypeOf (const char *type)
vtkImplicitSum * | SafeDownCast (vtkObject *o)

## Protected Methods

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

## Protected Attributes

vtkImplicitFunctionCollection * | FunctionList
vtkFloatArray * | Weights
float | TotalWeight
int | NormalizeByWeight

## Member Typedef Documentation

typedef vtkImplicitFunction vtkImplicitSum::Superclass

| Reimplemented from vtkImplicitFunction. Definition at line 83 of file vtkImplicitSum.h.

## Constructor & Destructor Documentation

vtkImplicitSum::vtkImplicitSum | ( |  | ) | `[protected]`

vtkImplicitSum::~vtkImplicitSum | ( |  | ) | `[protected]`

## Member Function Documentation

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.

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.

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.

float vtkImplicitSum::EvaluateFunction | ( | float | x[3] | ) | `[virtual]`

| Evaluate implicit function using current functions and weights. Implements vtkImplicitFunction.

float vtkImplicitSum::EvaluateFunction | ( | float | x,
|  | float | y,
|  | float | z
| ) | `[inline]`

| Evaluate implicit function using current functions and weights. Reimplemented from vtkImplicitFunction. Definition at line 89 of file vtkImplicitSum.h. References vtkImplicitFunction::EvaluateFunction().

void vtkImplicitSum::EvaluateGradient | ( | float | x[3],
|  | float | 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,
|  | float | 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 106 of file vtkImplicitSum.h.

void vtkImplicitSum::RemoveAllFunctions | ( |  | ) |

| Remove all functions from the list.

void vtkImplicitSum::SetFunctionWeight | ( | vtkImplicitFunction * | f,
|  | float | 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 129 of file vtkImplicitSum.h.

vtkFloatArray* vtkImplicitSum::Weights`[protected]`

| Definition at line 130 of file vtkImplicitSum.h.

float vtkImplicitSum::TotalWeight`[protected]`

| Definition at line 131 of file vtkImplicitSum.h.

int vtkImplicitSum::NormalizeByWeight`[protected]`

| Definition at line 134 of file vtkImplicitSum.h.

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

- Filtering/vtkImplicitSum.h