ParaView
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkSMInputArrayDomain Class Reference

domain to ensure that input has required types of arrays. More...

#include <vtkSMInputArrayDomain.h>

Inheritance diagram for vtkSMInputArrayDomain:
Inheritance graph
[legend]
Collaboration diagram for vtkSMInputArrayDomain:
Collaboration graph
[legend]

Public Types

enum  AttributeTypes {
  POINT = vtkDataObject::POINT, CELL = vtkDataObject::CELL, FIELD = vtkDataObject::FIELD, ANY_EXCEPT_FIELD = vtkDataObject::POINT_THEN_CELL,
  VERTEX = vtkDataObject::VERTEX, EDGE = vtkDataObject::EDGE, ROW = vtkDataObject::ROW, ANY = vtkDataObject::NUMBER_OF_ATTRIBUTE_TYPES,
  NUMBER_OF_ATTRIBUTE_TYPES = ANY + 1
}
 
typedef vtkSMDomain Superclass
 
- Public Types inherited from vtkSMDomain
typedef vtkSMSessionObject Superclass
 
- Public Types inherited from vtkSMSessionObject
typedef vtkSMObject Superclass
 
- Public Types inherited from vtkSMObject
typedef vtkObject Superclass
 

Public Member Functions

virtual const char * GetClassName ()
 
virtual int IsA (const char *type)
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual int IsInDomain (vtkSMProperty *property)
 Returns true if the value of the propery is in the domain. More...
 
int IsInDomain (vtkSMSourceProxy *proxy, unsigned int outputport=0)
 Returns true if input has one or more arrays that match the requirements on the given output port. More...
 
int GetNumberOfComponents ()
 Return the first acceptable number of components or 0 if any number of components are acceptable. More...
 
std::vector< int > GetAcceptableNumbersOfComponents () const
 Get the AcceptableNumberOfComponents vector Empty or containing a zero means no check. More...
 
int IsArrayAcceptable (vtkPVArrayInformation *arrayInfo)
 This method will check if the arrayInfo contain info about an acceptable array, by checking its number of components against this domain acceptable numbers of components. More...
 
virtual int GetAttributeType ()
 Get the attribute type. More...
 
const char * GetAttributeTypeAsString ()
 Get the attribute type. More...
 
- Public Member Functions inherited from vtkSMDomain
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual void Update (vtkSMProperty *requestingProperty)
 Update self based on the "unchecked" values of all required properties. More...
 
virtual void SetAnimationValue (vtkSMProperty *, int vtkNotUsed(index), double vtkNotUsed(value))
 Set the value of an element of a property from the animation editor. More...
 
virtual int SetDefaultValues (vtkSMProperty *, bool vtkNotUsed(use_unchecked_values))
 A vtkSMProperty is often defined with a default value in the XML itself. More...
 
vtkSMPropertyGetProperty ()
 Provides access to the vtkSMProperty on which this domain is hooked up. More...
 
virtual char * GetXMLName ()
 Assigned by the XML parser. More...
 
virtual bool GetIsOptional ()
 When the IsOptional flag is set, IsInDomain() always returns true. More...
 
- Public Member Functions inherited from vtkSMSessionObject
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual vtkSMSessionProxyManagerGetSessionProxyManager ()
 Return the corresponding ProxyManager if any. More...
 
virtual void SetSession (vtkSMSession *)
 Get/Set the session on wihch this object exists. More...
 
virtual vtkSMSessionGetSession ()
 Get/Set the session on wihch this object exists. More...
 
- Public Member Functions inherited from vtkSMObject
void PrintSelf (ostream &os, vtkIndent indent)
 

Static Public Member Functions

static vtkSMInputArrayDomainNew ()
 
static int IsTypeOf (const char *type)
 
static vtkSMInputArrayDomainSafeDownCast (vtkObject *o)
 
static void SetAutomaticPropertyConversion (bool)
 Get/Set the application wide setting for automatic conversion of properties. More...
 
static bool GetAutomaticPropertyConversion ()
 
static bool IsAttributeTypeAcceptable (int required_type, int attribute_type, int *acceptable_as_type=NULL)
 Method to check if a particular attribute-type (attribute_type) will be accepted by this domain with a required attribute type (required_type). More...
 
static bool IsArrayAcceptable (int required_number_of_components, vtkPVArrayInformation *arrayInfo)
 Method to check if a particular array is acceptable to a domain with the specified required number of components (required_number_of_components). More...
 
- Static Public Member Functions inherited from vtkSMDomain
static int IsTypeOf (const char *type)
 
static vtkSMDomainSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkSMSessionObject
static vtkSMSessionObjectNew ()
 
static int IsTypeOf (const char *type)
 
static vtkSMSessionObjectSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkSMObject
static vtkSMObjectNew ()
 
static int IsTypeOf (const char *type)
 
static vtkSMObjectSafeDownCast (vtkObject *o)
 

Protected Member Functions

 vtkSMInputArrayDomain ()
 
 ~vtkSMInputArrayDomain ()
 
void SetNumberOfComponents (int)
 Set the first acceptable number of components This method is deprecated. More...
 
virtual void SetAttributeType (int)
 
void SetAttributeType (const char *type)
 
virtual int ReadXMLAttributes (vtkSMProperty *prop, vtkPVXMLElement *element)
 Set the appropriate ivars from the xml element. More...
 
bool IsAttributeTypeAcceptable (int attributeType)
 Returns true if based on this->AttributeType, the specified attributeType is acceptable to this domain. More...
 
bool HasAcceptableArray (vtkPVDataSetAttributesInformation *attrInfo)
 Returns true if based on this->AutomaticPropertyConversion and this->NumberOfComponents, an acceptable array can be found in the attrInfo. More...
 
- Protected Member Functions inherited from vtkSMDomain
 vtkSMDomain ()
 
 ~vtkSMDomain ()
 
virtual int LoadState (vtkPVXMLElement *vtkNotUsed(domainElement), vtkSMProxyLocator *vtkNotUsed(loader))
 Load the state of the domain from the XML. More...
 
vtkSMPropertyGetRequiredProperty (const char *function)
 Returns a given required property of the given function. More...
 
void RemoveRequiredProperty (vtkSMProperty *prop)
 Remove the given property from the required properties list. More...
 
void AddRequiredProperty (vtkSMProperty *prop, const char *function)
 Add a new required property to this domain. More...
 
virtual vtkPVDataInformationGetInputDataInformation (const char *function, int index=0)
 Helper method to get vtkPVDataInformation from input proxy connected to the required property with the given function. More...
 
void DomainModified ()
 Invokes DomainModifiedEvent. More...
 
void InvokeModified ()
 
unsigned int GetNumberOfRequiredProperties ()
 Gets the number of required properties added. More...
 
void SetProperty (vtkSMProperty *)
 Set the domain's property. More...
 
void SaveState (vtkPVXMLElement *parent, const char *uid)
 Add the header and creates a new vtkPVXMLElement for the domain, fills it up with the common attributes. More...
 
virtual void ChildSaveState (vtkPVXMLElement *domainElement)
 Add the header and creates a new vtkPVXMLElement for the domain, fills it up with the common attributes. More...
 
virtual void SetIsOptional (bool)
 When the IsOptional flag is set, IsInDomain() always returns true. More...
 
virtual void SetXMLName (const char *)
 Assigned by the XML parser. More...
 
- Protected Member Functions inherited from vtkSMSessionObject
 vtkSMSessionObject ()
 
 ~vtkSMSessionObject ()
 
- Protected Member Functions inherited from vtkSMObject
 vtkSMObject ()
 
 ~vtkSMObject ()
 

Protected Attributes

int AttributeType
 
std::vector< int > AcceptableNumbersOfComponents
 
- Protected Attributes inherited from vtkSMDomain
char * XMLName
 
bool IsOptional
 
vtkSMDomainInternals * Internals
 
- Protected Attributes inherited from vtkSMSessionObject
vtkWeakPointer< vtkSMSessionSession
 

Detailed Description

domain to ensure that input has required types of arrays.

vtkSMInputArrayDomain is a domain that can be used on a vtkSMInputProperty to check if the pipeline input provides attribute arrays of the required types e.g. if a filter can only work if the input data set has cell data arrays, then one can use this domain.

vtkSMInputArrayDomain also provides a mechanism to check if the attribute arrays have a certain number of components.

When enabled, ParaView supports automatic array conversion i.e. extracting components or converting cell data to point data and vice-versa is done implicitly. In that case, vtkSMInputArrayDomain's behavior also changes as appropriate.

Supported XML attributes:

This domain doesn't support any required properties (to help clean old code, we print a warning if any required properties are specified).

Attention
Prior to ParaView 5.0, attribute_type="any" meant all attributes excepting field data. For being consistent with general understanding of "any", this has been changed to include field data arrays since 5.0. Use "any-except-field" for cases where the intention is to match any attribute arrays except field data arrays.

Definition at line 74 of file vtkSMInputArrayDomain.h.

Member Typedef Documentation

◆ Superclass

Definition at line 78 of file vtkSMInputArrayDomain.h.

Member Enumeration Documentation

◆ AttributeTypes

Enumerator
POINT 
CELL 
FIELD 
ANY_EXCEPT_FIELD 
VERTEX 
EDGE 
ROW 
ANY 
NUMBER_OF_ATTRIBUTE_TYPES 

Definition at line 122 of file vtkSMInputArrayDomain.h.

Constructor & Destructor Documentation

◆ vtkSMInputArrayDomain()

vtkSMInputArrayDomain::vtkSMInputArrayDomain ( )
protected

◆ ~vtkSMInputArrayDomain()

vtkSMInputArrayDomain::~vtkSMInputArrayDomain ( )
protected

Member Function Documentation

◆ New()

static vtkSMInputArrayDomain* vtkSMInputArrayDomain::New ( )
static

◆ GetClassName()

virtual const char* vtkSMInputArrayDomain::GetClassName ( )
virtual

Reimplemented from vtkSMDomain.

◆ IsTypeOf()

static int vtkSMInputArrayDomain::IsTypeOf ( const char *  type)
static

◆ IsA()

virtual int vtkSMInputArrayDomain::IsA ( const char *  type)
virtual

Reimplemented from vtkSMDomain.

◆ SafeDownCast()

static vtkSMInputArrayDomain* vtkSMInputArrayDomain::SafeDownCast ( vtkObject *  o)
static

◆ PrintSelf()

void vtkSMInputArrayDomain::PrintSelf ( ostream &  os,
vtkIndent  indent 
)

◆ IsInDomain() [1/2]

virtual int vtkSMInputArrayDomain::IsInDomain ( vtkSMProperty property)
virtual

Returns true if the value of the propery is in the domain.

The propery has to be a vtkSMProxyProperty which points to a vtkSMSourceProxy. The input has to have one or more arrays that match the requirements.

Implements vtkSMDomain.

◆ IsInDomain() [2/2]

int vtkSMInputArrayDomain::IsInDomain ( vtkSMSourceProxy proxy,
unsigned int  outputport = 0 
)

Returns true if input has one or more arrays that match the requirements on the given output port.

◆ GetAttributeType()

virtual int vtkSMInputArrayDomain::GetAttributeType ( )
virtual

Get the attribute type.

Valid values are defined in AttributeTypes which map to vtkDataObject::AttributeTypes.

◆ GetAttributeTypeAsString()

const char* vtkSMInputArrayDomain::GetAttributeTypeAsString ( )

Get the attribute type.

Valid values are defined in AttributeTypes which map to vtkDataObject::AttributeTypes.

◆ GetNumberOfComponents()

int vtkSMInputArrayDomain::GetNumberOfComponents ( )

Return the first acceptable number of components or 0 if any number of components are acceptable.

This method is deprecated.

◆ GetAcceptableNumbersOfComponents()

std::vector<int> vtkSMInputArrayDomain::GetAcceptableNumbersOfComponents ( ) const

Get the AcceptableNumberOfComponents vector Empty or containing a zero means no check.

◆ SetAutomaticPropertyConversion()

static void vtkSMInputArrayDomain::SetAutomaticPropertyConversion ( bool  )
static

Get/Set the application wide setting for automatic conversion of properties.

Automatic conversion of properties allows conversion between cell and point based properties, and the extraction of vector components as scalar properties

◆ GetAutomaticPropertyConversion()

static bool vtkSMInputArrayDomain::GetAutomaticPropertyConversion ( )
static

◆ IsAttributeTypeAcceptable() [1/2]

static bool vtkSMInputArrayDomain::IsAttributeTypeAcceptable ( int  required_type,
int  attribute_type,
int *  acceptable_as_type = NULL 
)
static

Method to check if a particular attribute-type (attribute_type) will be accepted by this domain with a required attribute type (required_type).

This takes into consideration the state of AutomaticePropertyConversion flag. If a particular attribute_type is acceptable only because AutomaticPropertyConversion is true, acceptable_as_type value will be set to the attribute type that the particular attribute was automatically converted to. e.g. is required_type = POINT and attribute_type is CELL and AutomaticPropertyConversion is true, this method will return true and acceptable_as_type will be set to POINT. In other cases, acceptable_as_type is simply set to attribute_type.

◆ IsArrayAcceptable() [1/2]

static bool vtkSMInputArrayDomain::IsArrayAcceptable ( int  required_number_of_components,
vtkPVArrayInformation arrayInfo 
)
static

Method to check if a particular array is acceptable to a domain with the specified required number of components (required_number_of_components).

This takes into consideration the state of AutomaticePropertyConversion flag. If AutomaticePropertyConversion, required_numer_of_components == 1 and the actual number of components in the array are >= 1, then this method will return true. This method will return true if required_number_of_components == 0 (i.e. no restriction of num. of components is specified) or if required_number_of_components == num. of components in the array. This method is deprecated.

◆ IsArrayAcceptable() [2/2]

int vtkSMInputArrayDomain::IsArrayAcceptable ( vtkPVArrayInformation arrayInfo)

This method will check if the arrayInfo contain info about an acceptable array, by checking its number of components against this domain acceptable numbers of components.

Note that it takes into account property conversion This method return the accepted number of components to use.

◆ SetNumberOfComponents()

void vtkSMInputArrayDomain::SetNumberOfComponents ( int  )
protected

Set the first acceptable number of components This method is deprecated.

◆ SetAttributeType() [1/2]

virtual void vtkSMInputArrayDomain::SetAttributeType ( int  )
protectedvirtual

◆ SetAttributeType() [2/2]

void vtkSMInputArrayDomain::SetAttributeType ( const char *  type)
protected

◆ ReadXMLAttributes()

virtual int vtkSMInputArrayDomain::ReadXMLAttributes ( vtkSMProperty prop,
vtkPVXMLElement element 
)
protectedvirtual

Set the appropriate ivars from the xml element.

Should be overwritten by subclass if adding ivars.

Reimplemented from vtkSMDomain.

◆ IsAttributeTypeAcceptable() [2/2]

bool vtkSMInputArrayDomain::IsAttributeTypeAcceptable ( int  attributeType)
protected

Returns true if based on this->AttributeType, the specified attributeType is acceptable to this domain.

◆ HasAcceptableArray()

bool vtkSMInputArrayDomain::HasAcceptableArray ( vtkPVDataSetAttributesInformation attrInfo)
protected

Returns true if based on this->AutomaticPropertyConversion and this->NumberOfComponents, an acceptable array can be found in the attrInfo.

Member Data Documentation

◆ AttributeType

int vtkSMInputArrayDomain::AttributeType
protected

Definition at line 204 of file vtkSMInputArrayDomain.h.

◆ AcceptableNumbersOfComponents

std::vector<int> vtkSMInputArrayDomain::AcceptableNumbersOfComponents
protected

Definition at line 205 of file vtkSMInputArrayDomain.h.


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