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
enum  IsInDomainReturnCodes { NOT_APPLICABLE = -1, NOT_IN_DOMAIN = 0, IN_DOMAIN = 1 }
 Return values for IsInDomain calls. More...
 
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) override
 
int IsInDomain (vtkSMProperty *property) override
 Returns true if the value of the property 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...
 
std::vector< intGetAcceptableNumbersOfComponents () 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
virtual int IsInDomain (vtkSMProperty *vtkNotUsed(property))
 Is the (unchecked) value of the property in the domain? Overwritten by sub-classes. More...
 
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 unsigned int GetNumberOfInputConnections (const char *function)
 Helper method to get the number of input connections hence the number of available vtkPVDataInformation from input proxy connected to the required property with the given function. More...
 
vtkSMPropertyGetRequiredProperty (const char *function)
 Returns a given required property of the given function. More...
 
virtual char * GetXMLName ()
 Assigned by the XML parser. More...
 
virtual bool GetIsOptional ()
 When the IsOptional flag is set, IsInDomain() always returns true. More...
 
virtual vtkPVDataInformationGetInputDataInformation (const char *function, unsigned int index=0)
 Helper methods to get vtkPVDataInformation from input proxy connected to the required property with the given function and provided input index. More...
 
virtual vtkPVDataInformationGetInputSubsetDataInformation (unsigned int compositeIndex, const char *function, unsigned int index=0)
 Helper methods to get vtkPVDataInformation from input proxy connected to the required property with the given function and provided input index. More...
 
- Public Member Functions inherited from vtkSMSessionObject
void PrintSelf (ostream &os, vtkIndent indent) override
 
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 vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool debugFlag)
 
virtual void Modified ()
 
virtual vtkMTimeType GetMTime ()
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
int HasObserver (unsigned long event)
 
int HasObserver (const char *event)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
int InvokeEvent (unsigned long event, void *callData)
 
int InvokeEvent (const char *event, void *callData)
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
int InvokeEvent (unsigned long event, void *callData)
 
int InvokeEvent (const char *event, void *callData)
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 
virtual void Delete ()
 
virtual void FastDelete ()
 
void Print (ostream &os)
 
virtual void Register (vtkObjectBase *o)
 
virtual void UnRegister (vtkObjectBase *o)
 
void SetReferenceCount (int)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 
void PrintRevisions (ostream &)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 
void PrintRevisions (ostream &)
 

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=nullptr)
 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 vtkSMInputArrayDomainFindApplicableDomain (vtkSMProperty *property)
 Helper method find the first vtkSMInputArrayDomain on the property that is acceptable based on the value of the property. More...
 
- Static Public Member Functions inherited from vtkSMDomain
static vtkSMDomainNew ()
 
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)
 
static std::string CreatePrettyLabel (const std::string &name)
 Return a well-formated label using provided name by adding spaces between lower cases and upper cases: More...
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 
static vtkObjectBaseNew ()
 

Protected Member Functions

 vtkSMInputArrayDomain ()
 
 ~vtkSMInputArrayDomain () override
 
virtual void SetAttributeType (int)
 
void SetAttributeType (const char *type)
 
int ReadXMLAttributes (vtkSMProperty *prop, vtkPVXMLElement *element) override
 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 () override
 
virtual int LoadState (vtkPVXMLElement *vtkNotUsed(domainElement), vtkSMProxyLocator *vtkNotUsed(loader))
 Load the state of the domain from the XML. 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...
 
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 () override
 
- Protected Member Functions inherited from vtkSMObject
 vtkSMObject ()
 
 ~vtkSMObject () override
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

int AttributeType
 
std::vector< intAcceptableNumbersOfComponents
 
std::string DataType
 
- Protected Attributes inherited from vtkSMDomain
char * XMLName
 
bool IsOptional
 
vtkSMDomainInternals * Internals
 
- Protected Attributes inherited from vtkSMSessionObject
vtkWeakPointer< vtkSMSessionSession
 Identifies the session id to which this object is related. More...
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

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 67 of file vtkSMInputArrayDomain.h.

Member Typedef Documentation

◆ Superclass

Definition at line 71 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 109 of file vtkSMInputArrayDomain.h.

Constructor & Destructor Documentation

◆ vtkSMInputArrayDomain()

vtkSMInputArrayDomain::vtkSMInputArrayDomain ( )
protected

◆ ~vtkSMInputArrayDomain()

vtkSMInputArrayDomain::~vtkSMInputArrayDomain ( )
overrideprotected

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 
)
overridevirtual

Reimplemented from vtkSMDomain.

◆ IsInDomain() [1/2]

int vtkSMInputArrayDomain::IsInDomain ( vtkSMProperty property)
override

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

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

◆ 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.

◆ 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 = nullptr 
)
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()

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.

◆ FindApplicableDomain()

static vtkSMInputArrayDomain* vtkSMInputArrayDomain::FindApplicableDomain ( vtkSMProperty property)
static

Helper method find the first vtkSMInputArrayDomain on the property that is acceptable based on the value of the property.

The property is typically vtkSMInputProperty. If none of the domains applicable, this will simply return the first vtkSMInputArrayDomain that is found.

◆ SetAttributeType() [1/2]

virtual void vtkSMInputArrayDomain::SetAttributeType ( int  )
protectedvirtual

◆ SetAttributeType() [2/2]

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

◆ ReadXMLAttributes()

int vtkSMInputArrayDomain::ReadXMLAttributes ( vtkSMProperty prop,
vtkPVXMLElement element 
)
overrideprotectedvirtual

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 178 of file vtkSMInputArrayDomain.h.

◆ AcceptableNumbersOfComponents

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

Definition at line 179 of file vtkSMInputArrayDomain.h.

◆ DataType

std::string vtkSMInputArrayDomain::DataType
protected

Definition at line 180 of file vtkSMInputArrayDomain.h.


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