ActiViz .NET  5.8.0
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Private Member Functions | Static Private Member Functions
Kitware.VTK.vtkMultiThreshold Class Reference

vtkMultiThreshold - Threshold cells within multiple intervals More...

Inheritance diagram for Kitware.VTK.vtkMultiThreshold:
[legend]
Collaboration diagram for Kitware.VTK.vtkMultiThreshold:
[legend]

List of all members.

Public Types

enum  Closure { CLOSED = 1, OPEN = 0 }
 Undocumented Block. More...
enum  Norm { L1_NORM = -1, L2_NORM = -2, LINFINITY_NORM = -3 }
 Undocumented Block. More...
enum  SetOperation {
  AND = 0, NAND = 4, OR = 1, WOR = 3,
  XOR = 2
}
 Undocumented Block. More...

Public Member Functions

 vtkMultiThreshold (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
 vtkMultiThreshold ()
 Undocumented Block.
delegate double TupleNorm (IntPtr arg0, int arg1, int arg2)
 Remove all the intervals currently defined.
int AddBandpassIntervalSet (double xmin, double xmax, int assoc, string arrayName, int component, int allScalars)
 Print out a graphviz-formatted text description of all the sets.
int AddBooleanSet (int operation, int numInputs, IntPtr inputs)
 Create a new mesh subset using boolean operations on pre-existing sets.
int AddHighpassIntervalSet (double xmin, int assoc, string arrayName, int component, int allScalars)
 Print out a graphviz-formatted text description of all the sets.
int AddIntervalSet (double xmin, double xmax, int omin, int omax, int assoc, string arrayName, int component, int allScalars)
 Add a mesh subset to be computed by thresholding an attribute of the input mesh. The subset can then be added to an output mesh with OuputSet() or combined with other sets using AddBooleanSet. If you wish to include all cells with values below some number a, call with xmin set to vtkMath::NegInf() and xmax set to a. Similarly, if you wish to include all cells with values above some number a, call with xmin set to a and xmax set to vtkMath::Inf(). When specifying Inf() or NegInf() for an endpoint, it does not matter whether you specify and open or closed endpoint.
int AddIntervalSet (double xmin, double xmax, int omin, int omax, int assoc, int attribType, int component, int allScalars)
 Add a mesh subset to be computed by thresholding an attribute of the input mesh. The subset can then be added to an output mesh with OuputSet() or combined with other sets using AddBooleanSet. If you wish to include all cells with values below some number a, call with xmin set to vtkMath::NegInf() and xmax set to a. Similarly, if you wish to include all cells with values above some number a, call with xmin set to a and xmax set to vtkMath::Inf(). When specifying Inf() or NegInf() for an endpoint, it does not matter whether you specify and open or closed endpoint.
int AddLowpassIntervalSet (double xmax, int assoc, string arrayName, int component, int allScalars)
 Print out a graphviz-formatted text description of all the sets.
int AddNotchIntervalSet (double xlo, double xhi, int assoc, string arrayName, int component, int allScalars)
 Print out a graphviz-formatted text description of all the sets.
override int IsA (string type)
 Undocumented Block.
new vtkMultiThreshold NewInstance ()
 Undocumented Block.
int OutputSet (int setId)
 Create an output mesh containing a boolean or interval subset of the input mesh.
void Reset ()
 Remove all the intervals currently defined.

Static Public Member Functions

static new vtkMultiThreshold New ()
 Undocumented Block.
static new int IsTypeOf (string type)
 Undocumented Block.
static new vtkMultiThreshold SafeDownCast (vtkObjectBase o)
 Undocumented Block.

Public Attributes

new const string MRFullTypeName = "Kitware.VTK.vtkMultiThreshold"
 Automatically generated type registration mechanics.

Static Public Attributes

static new readonly string MRClassNameKey = "17vtkMultiThreshold"
 Automatically generated type registration mechanics.

Protected Member Functions

override void Dispose (bool disposing)
 Automatically generated protected Dispose method - called from public Dispose or the C# destructor. DO NOT call directly.

Private Member Functions

static internal IntPtr vtkMultiThreshold_New (ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal int vtkMultiThreshold_AddBandpassIntervalSet_01 (HandleRef pThis, double xmin, double xmax, int assoc, string arrayName, int component, int allScalars)
static internal int vtkMultiThreshold_AddBooleanSet_02 (HandleRef pThis, int operation, int numInputs, IntPtr inputs)
static internal int vtkMultiThreshold_AddHighpassIntervalSet_03 (HandleRef pThis, double xmin, int assoc, string arrayName, int component, int allScalars)
static internal int vtkMultiThreshold_AddIntervalSet_04 (HandleRef pThis, double xmin, double xmax, int omin, int omax, int assoc, string arrayName, int component, int allScalars)
static internal int vtkMultiThreshold_AddIntervalSet_05 (HandleRef pThis, double xmin, double xmax, int omin, int omax, int assoc, int attribType, int component, int allScalars)
static internal int vtkMultiThreshold_AddLowpassIntervalSet_06 (HandleRef pThis, double xmax, int assoc, string arrayName, int component, int allScalars)
static internal int vtkMultiThreshold_AddNotchIntervalSet_07 (HandleRef pThis, double xlo, double xhi, int assoc, string arrayName, int component, int allScalars)
static internal int vtkMultiThreshold_IsA_08 (HandleRef pThis, string type)
static internal int vtkMultiThreshold_IsTypeOf_09 (string type)
static internal IntPtr vtkMultiThreshold_NewInstance_11 (HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal int vtkMultiThreshold_OutputSet_12 (HandleRef pThis, int setId)
static internal void vtkMultiThreshold_Reset_13 (HandleRef pThis)
static internal IntPtr vtkMultiThreshold_SafeDownCast_14 (HandleRef o, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)

Static Private Member Functions

static vtkMultiThreshold ()
 Automatically generated type registration mechanics.

Detailed Description

vtkMultiThreshold - Threshold cells within multiple intervals

Description This filter can be substituted for a chain of several vtkThreshold filters and can also perform more sophisticated subsetting operations. It generates a vtkMultiBlockDataSet as its output. This multiblock dataset contains a vtkUnstructuredGrid for each thresholded subset you request. A thresholded subset can be a set defined by an interval over a point or cell attribute of the mesh; these subsets are called IntervalSets. A thresholded subset can also be a boolean combination of one or more IntervalSets; these subsets are called BooleanSets. BooleanSets allow complex logic since their output can depend on multiple intervals over multiple variables defined on the input mesh. This is useful because it eliminates the need for thresholding several times and then appending the results, as can be required with vtkThreshold when one wants to remove some range of values (e.g., a notch filter). Cells are not repeated when they belong to more than one interval unless those intervals have different output grids.

Another advantage this filter provides over vtkThreshold is the ability to threshold on non-scalar (i.e., vector, tensor, etc.) attributes without first computing an array containing some norm of the desired attribute. vtkMultiThreshold provides $L_1$, $L_2$, and $L_{\infty}$ norms.

This filter makes a distinction between intermediate subsets and subsets that will be output to a grid. Each intermediate subset you create with AddIntervalSet or AddBooleanSet is given a unique integer identifier (via the return values of these member functions). If you wish for a given set to be output, you must call OutputSet and pass it one of these identifiers. The return of OutputSet is the integer index of the output set in the multiblock dataset created by this filter.

For example, if an input mesh defined three attributes T, P, and s, one might wish to find cells that satisfy "T < 320 [K] && ( P > 101 [kPa] || s < 0.1 [kJ/kg/K] )". To accomplish this with a vtkMultiThreshold filter, <pre> vtkMultiThreshold* thr; int intervalSets[3];

intervalSets[0] = thr->AddIntervalSet( vtkMath::NegInf(), 320., vtkMultiThreshold::CLOSED, vtkMultiThreshold::OPEN, vtkDataObject::FIELD_ASSOCIATION_POINTS, "T", 0, 1 ); intervalSets[1] = thr->AddIntervalSet( 101., vtkMath::Inf(), vtkMultiThreshold::OPEN, vtkMultiThreshold::CLOSED, vtkDataObject::FIELD_ASSOCIATION_CELLS, "P", 0, 1 ); intervalSets[2] = thr->AddIntervalSet( vtkMath::NegInf(), 0.1, vtkMultiThreshold::CLOSED, vtkMultiThreshold::OPEN, vtkDataObject::FIELD_ASSOCIATION_POINTS, "s", 0, 1 );

int intermediate = thr->AddBooleanSet( vtkMultiThreshold::OR, 2, &intervalSets[1] );

int intersection[2]; intersection[0] = intervalSets[0]; intersection[1] = intermediate; int outputSet = thr->AddBooleanSet( vtkMultiThreshold::AND, 2, intersection );

int outputGridIndex = thr->OutputSet( outputSet ); thr->Update(); </pre> The result of this filter will be a multiblock dataset that contains a single child with the desired cells. If we had also called <code>thr->OutputSet( intervalSets[0] );</code>, there would be two child meshes and one would contain all cells with T < 320 [K]. In that case, the output can be represented by this graph

The filled rectangles represent sets that are output.


Member Enumeration Documentation

Undocumented Block.

Enumerator:
CLOSED 

enum member

OPEN 

enum member

Undocumented Block.

Enumerator:
L1_NORM 

enum member

L2_NORM 

enum member

LINFINITY_NORM 

enum member

Undocumented Block.

Enumerator:
AND 

enum member

NAND 

enum member

OR 

enum member

WOR 

enum member

XOR 

enum member


Constructor & Destructor Documentation

Automatically generated type registration mechanics.

Kitware.VTK.vtkMultiThreshold.vtkMultiThreshold ( IntPtr  rawCppThis,
bool  callDisposalMethod,
bool  strong 
)

Automatically generated constructor - called from generated code. DO NOT call directly.

Undocumented Block.


Member Function Documentation

int Kitware.VTK.vtkMultiThreshold.AddBandpassIntervalSet ( double  xmin,
double  xmax,
int  assoc,
string  arrayName,
int  component,
int  allScalars 
)

Print out a graphviz-formatted text description of all the sets.

int Kitware.VTK.vtkMultiThreshold.AddBooleanSet ( int  operation,
int  numInputs,
IntPtr  inputs 
)

Create a new mesh subset using boolean operations on pre-existing sets.

int Kitware.VTK.vtkMultiThreshold.AddHighpassIntervalSet ( double  xmin,
int  assoc,
string  arrayName,
int  component,
int  allScalars 
)

Print out a graphviz-formatted text description of all the sets.

int Kitware.VTK.vtkMultiThreshold.AddIntervalSet ( double  xmin,
double  xmax,
int  omin,
int  omax,
int  assoc,
string  arrayName,
int  component,
int  allScalars 
)

Add a mesh subset to be computed by thresholding an attribute of the input mesh. The subset can then be added to an output mesh with OuputSet() or combined with other sets using AddBooleanSet. If you wish to include all cells with values below some number a, call with xmin set to vtkMath::NegInf() and xmax set to a. Similarly, if you wish to include all cells with values above some number a, call with xmin set to a and xmax set to vtkMath::Inf(). When specifying Inf() or NegInf() for an endpoint, it does not matter whether you specify and open or closed endpoint.

When creating intervals, any integers can be used for the IDs of output meshes. All that matters is that the same ID be used if intervals should output to the same mesh. The outputs are ordered with ascending IDs in output block 0.

It is possible to specify an invalid interval, in which case these routines will return -1. Invalid intervals occur when

  • an array does not exist,
  • center is invalid,
  • xmin == xmax and omin and/or omax are vtkMultiThreshold::OPEN, or
  • xmin > xmax.
  • xmin or xmax is not a number (i.e., IEEE NaN). Having both xmin and xmax equal NaN is allowed. vtkMath provides a portable way to specify IEEE infinities and Nan. Note that specifying an interval completely out of the bounds of an attribute is considered valid. In fact, it is occasionally useful to create a closed interval with both endpoints set to $\infty$ or both endpoints set to $-\infty$ in order to locate cells with problematic values.
Parameters:
xminThe minimum attribute value
xmaxThe maximum attribute value
ominWhether the interval should be open or closed at xmin. Use vtkMultiThreshold::OPEN or vtkMultiThreshold::CLOSED.
omaxWhether the interval should be open or closed at xmax. Use vtkMultiThreshold::OPEN or vtkMultiThreshold::CLOSED.
assocOne of vtkDataObject::FIELD_ASSOCIATION_CELLS or vtkDataObject::FIELD_ASSOCIATION_POINTS indicating whether a point or cell array should be used.
arrayNameThe name of the array to use for thresholding
attribTypeThe attribute to use for thresholding. One of vtkDataSetAttributes::SCALARS, VECTORS, TENSORS, NORMALS, TCOORDS, or GLOBALIDS.
componentThe number of the component to threshold on or one of the following enumerants for norms: LINFINITY_NORM, L2_NORM, L1_NORM.
allScalarsWhen center is vtkDataObject::FIELD_ASSOCIATION_POINTS, must all scalars be in the interval for the cell to be passed to the output, or just a single point's scalar?
Returns:
An index used to identify the cells selected by the interval or -1 if the interval specification was invalid. If a valid value is returned, you may pass it to OutputSet().
int Kitware.VTK.vtkMultiThreshold.AddIntervalSet ( double  xmin,
double  xmax,
int  omin,
int  omax,
int  assoc,
int  attribType,
int  component,
int  allScalars 
)

Add a mesh subset to be computed by thresholding an attribute of the input mesh. The subset can then be added to an output mesh with OuputSet() or combined with other sets using AddBooleanSet. If you wish to include all cells with values below some number a, call with xmin set to vtkMath::NegInf() and xmax set to a. Similarly, if you wish to include all cells with values above some number a, call with xmin set to a and xmax set to vtkMath::Inf(). When specifying Inf() or NegInf() for an endpoint, it does not matter whether you specify and open or closed endpoint.

When creating intervals, any integers can be used for the IDs of output meshes. All that matters is that the same ID be used if intervals should output to the same mesh. The outputs are ordered with ascending IDs in output block 0.

It is possible to specify an invalid interval, in which case these routines will return -1. Invalid intervals occur when

  • an array does not exist,
  • center is invalid,
  • xmin == xmax and omin and/or omax are vtkMultiThreshold::OPEN, or
  • xmin > xmax.
  • xmin or xmax is not a number (i.e., IEEE NaN). Having both xmin and xmax equal NaN is allowed. vtkMath provides a portable way to specify IEEE infinities and Nan. Note that specifying an interval completely out of the bounds of an attribute is considered valid. In fact, it is occasionally useful to create a closed interval with both endpoints set to $\infty$ or both endpoints set to $-\infty$ in order to locate cells with problematic values.
Parameters:
xminThe minimum attribute value
xmaxThe maximum attribute value
ominWhether the interval should be open or closed at xmin. Use vtkMultiThreshold::OPEN or vtkMultiThreshold::CLOSED.
omaxWhether the interval should be open or closed at xmax. Use vtkMultiThreshold::OPEN or vtkMultiThreshold::CLOSED.
assocOne of vtkDataObject::FIELD_ASSOCIATION_CELLS or vtkDataObject::FIELD_ASSOCIATION_POINTS indicating whether a point or cell array should be used.
arrayNameThe name of the array to use for thresholding
attribTypeThe attribute to use for thresholding. One of vtkDataSetAttributes::SCALARS, VECTORS, TENSORS, NORMALS, TCOORDS, or GLOBALIDS.
componentThe number of the component to threshold on or one of the following enumerants for norms: LINFINITY_NORM, L2_NORM, L1_NORM.
allScalarsWhen center is vtkDataObject::FIELD_ASSOCIATION_POINTS, must all scalars be in the interval for the cell to be passed to the output, or just a single point's scalar?
Returns:
An index used to identify the cells selected by the interval or -1 if the interval specification was invalid. If a valid value is returned, you may pass it to OutputSet().
int Kitware.VTK.vtkMultiThreshold.AddLowpassIntervalSet ( double  xmax,
int  assoc,
string  arrayName,
int  component,
int  allScalars 
)

Print out a graphviz-formatted text description of all the sets.

int Kitware.VTK.vtkMultiThreshold.AddNotchIntervalSet ( double  xlo,
double  xhi,
int  assoc,
string  arrayName,
int  component,
int  allScalars 
)

Print out a graphviz-formatted text description of all the sets.

override void Kitware.VTK.vtkMultiThreshold.Dispose ( bool  disposing) [protected]

Automatically generated protected Dispose method - called from public Dispose or the C# destructor. DO NOT call directly.

Reimplemented from Kitware.VTK.vtkMultiBlockDataSetAlgorithm.

override int Kitware.VTK.vtkMultiThreshold.IsA ( string  type) [virtual]

Undocumented Block.

Reimplemented from Kitware.VTK.vtkMultiBlockDataSetAlgorithm.

static new int Kitware.VTK.vtkMultiThreshold.IsTypeOf ( string  type) [static]

Undocumented Block.

Reimplemented from Kitware.VTK.vtkMultiBlockDataSetAlgorithm.

Undocumented Block.

Reimplemented from Kitware.VTK.vtkMultiBlockDataSetAlgorithm.

Undocumented Block.

Reimplemented from Kitware.VTK.vtkMultiBlockDataSetAlgorithm.

Create an output mesh containing a boolean or interval subset of the input mesh.

Remove all the intervals currently defined.

Undocumented Block.

Reimplemented from Kitware.VTK.vtkMultiBlockDataSetAlgorithm.

Here is the call graph for this function:

delegate double Kitware.VTK.vtkMultiThreshold.TupleNorm ( IntPtr  arg0,
int  arg1,
int  arg2 
)

Remove all the intervals currently defined.

static internal int Kitware.VTK.vtkMultiThreshold.vtkMultiThreshold_AddBandpassIntervalSet_01 ( HandleRef  pThis,
double  xmin,
double  xmax,
int  assoc,
string  arrayName,
int  component,
int  allScalars 
) [private]
static internal int Kitware.VTK.vtkMultiThreshold.vtkMultiThreshold_AddBooleanSet_02 ( HandleRef  pThis,
int  operation,
int  numInputs,
IntPtr  inputs 
) [private]
static internal int Kitware.VTK.vtkMultiThreshold.vtkMultiThreshold_AddHighpassIntervalSet_03 ( HandleRef  pThis,
double  xmin,
int  assoc,
string  arrayName,
int  component,
int  allScalars 
) [private]
static internal int Kitware.VTK.vtkMultiThreshold.vtkMultiThreshold_AddIntervalSet_04 ( HandleRef  pThis,
double  xmin,
double  xmax,
int  omin,
int  omax,
int  assoc,
string  arrayName,
int  component,
int  allScalars 
) [private]
static internal int Kitware.VTK.vtkMultiThreshold.vtkMultiThreshold_AddIntervalSet_05 ( HandleRef  pThis,
double  xmin,
double  xmax,
int  omin,
int  omax,
int  assoc,
int  attribType,
int  component,
int  allScalars 
) [private]
static internal int Kitware.VTK.vtkMultiThreshold.vtkMultiThreshold_AddLowpassIntervalSet_06 ( HandleRef  pThis,
double  xmax,
int  assoc,
string  arrayName,
int  component,
int  allScalars 
) [private]
static internal int Kitware.VTK.vtkMultiThreshold.vtkMultiThreshold_AddNotchIntervalSet_07 ( HandleRef  pThis,
double  xlo,
double  xhi,
int  assoc,
string  arrayName,
int  component,
int  allScalars 
) [private]
static internal int Kitware.VTK.vtkMultiThreshold.vtkMultiThreshold_IsA_08 ( HandleRef  pThis,
string  type 
) [private]
static internal int Kitware.VTK.vtkMultiThreshold.vtkMultiThreshold_IsTypeOf_09 ( string  type) [private]
static internal IntPtr Kitware.VTK.vtkMultiThreshold.vtkMultiThreshold_New ( ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal IntPtr Kitware.VTK.vtkMultiThreshold.vtkMultiThreshold_NewInstance_11 ( HandleRef  pThis,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal int Kitware.VTK.vtkMultiThreshold.vtkMultiThreshold_OutputSet_12 ( HandleRef  pThis,
int  setId 
) [private]
static internal void Kitware.VTK.vtkMultiThreshold.vtkMultiThreshold_Reset_13 ( HandleRef  pThis) [private]
static internal IntPtr Kitware.VTK.vtkMultiThreshold.vtkMultiThreshold_SafeDownCast_14 ( HandleRef  o,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]

Member Data Documentation

new readonly string Kitware.VTK.vtkMultiThreshold.MRClassNameKey = "17vtkMultiThreshold" [static]

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkMultiBlockDataSetAlgorithm.

new const string Kitware.VTK.vtkMultiThreshold.MRFullTypeName = "Kitware.VTK.vtkMultiThreshold"

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkMultiBlockDataSetAlgorithm.


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