vtkSMDataAssemblyDomain.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkSMDataAssemblyDomain.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 =========================================================================*/
98 #ifndef vtkSMDataAssemblyDomain_h
99 #define vtkSMDataAssemblyDomain_h
100 
101 #include "vtkRemotingServerManagerModule.h" // needed for exports
102 #include "vtkSMDomain.h"
103 #include "vtkSmartPointer.h" // needed for vtkSmartPointer
104 
105 #include <string> // for std::string
106 
107 class vtkDataAssembly;
109 {
110 public:
111  static vtkSMDataAssemblyDomain* New();
113  void PrintSelf(ostream& os, vtkIndent indent) override;
114 
118  const char* GetDataAssemblyName() const
119  {
120  return this->Name.empty() ? nullptr : this->Name.c_str();
121  }
122 
126  vtkDataAssembly* GetDataAssembly() const;
127 
128  void Update(vtkSMProperty* requestingProperty) override;
129 
130 protected:
132  ~vtkSMDataAssemblyDomain() override;
133 
134 private:
136  void operator=(const vtkSMDataAssemblyDomain&) = delete;
137 
138  void ChooseAssembly(const std::string& name, vtkDataAssembly* assembly);
139  void FetchAssembly(int tag);
140 
141  int LastTag = 0;
142 
144  std::string Name;
145 };
146 
147 #endif
#define VTKREMOTINGSERVERMANAGER_EXPORT
virtual void Update(vtkSMProperty *requestingProperty)
Update self based on the "unchecked" values of all required properties.
superclass for all SM properties
name
represents the possible values a property can have
Definition: vtkSMDomain.h:49
void PrintSelf(ostream &os, vtkIndent indent) override
const char * GetDataAssemblyName() const
Returns the name for the chosen assembly, if any.
a domain that uses vtkDataAssembly
static vtkSMDomain * New()