vtkSMDataTypeDomain.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkSMDataTypeDomain.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
51 #ifndef vtkSMDataTypeDomain_h
52 #define vtkSMDataTypeDomain_h
53 
54 #include "vtkRemotingServerManagerModule.h" //needed for exports
55 #include "vtkSMDomain.h"
56 
57 #include <string>
58 #include <vector>
59 
60 class vtkSMSourceProxy;
61 
62 struct vtkSMDataTypeDomainInternals;
63 
65 {
66 public:
67  static vtkSMDataTypeDomain* New();
69  void PrintSelf(ostream& os, vtkIndent indent) override;
70 
77  int IsInDomain(vtkSMProperty* property) override;
78 
82  int IsInDomain(vtkSMSourceProxy* proxy, int outputport = 0);
83 
87  unsigned int GetNumberOfDataTypes();
88 
92  const char* GetDataTypeName(unsigned int idx);
93 
97  bool DataTypeHasChildren(unsigned int idx);
98 
102  const char* GetDataTypeChildMatchTypeAsString(unsigned int idx);
103 
107  const std::vector<std::string>& GetDataTypeChildren(unsigned int idx);
108 
109 protected:
111  ~vtkSMDataTypeDomain() override;
112 
117  int ReadXMLAttributes(vtkSMProperty* prop, vtkPVXMLElement* element) override;
118 
119  vtkSMDataTypeDomainInternals* DTInternals;
120 
122  vtkSetMacro(CompositeDataSupported, int);
123  vtkGetMacro(CompositeDataSupported, int);
124 
126  vtkSetMacro(CompositeDataRequired, int);
127  vtkGetMacro(CompositeDataRequired, int);
128 
129 private:
130  vtkSMDataTypeDomain(const vtkSMDataTypeDomain&) = delete;
131  void operator=(const vtkSMDataTypeDomain&) = delete;
132 };
133 
134 #endif
restricts the input proxies to one or more data types
#define VTKREMOTINGSERVERMANAGER_EXPORT
superclass for all SM properties
vtkSMDataTypeDomainInternals * DTInternals
represents the possible values a property can have
Definition: vtkSMDomain.h:49
void PrintSelf(ostream &os, vtkIndent indent) override
virtual int ReadXMLAttributes(vtkSMProperty *prop, vtkPVXMLElement *elem)
Set the appropriate ivars from the xml element.
virtual int IsInDomain(vtkSMProperty *vtkNotUsed(property))
Is the (unchecked) value of the property in the domain? Overwritten by sub-classes.
Definition: vtkSMDomain.h:76
proxy for a VTK source on a server
static vtkSMDomain * New()
This is used by vtkPVXMLParser to represent an XML document starting at the root element.