vtkSMIdTypeVectorProperty.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
13 #ifndef vtkSMIdTypeVectorProperty_h
14 #define vtkSMIdTypeVectorProperty_h
15 
16 #include "vtkRemotingServerManagerModule.h" //needed for exports
17 #include "vtkSMVectorProperty.h"
18 
19 #include <vector> // for std::vector
20 
21 class vtkSMStateLocator;
22 
23 class VTKREMOTINGSERVERMANAGER_EXPORT vtkSMIdTypeVectorProperty : public vtkSMVectorProperty
24 {
25 public:
28  void PrintSelf(ostream& os, vtkIndent indent) override;
29 
33  unsigned int GetNumberOfElements() override;
34 
39  void SetNumberOfElements(unsigned int num) override;
40 
46  int SetElement(unsigned int idx, vtkIdType value);
47 
49 
56  int SetElements(const vtkIdType* values);
57  int SetElements(const vtkIdType* values, unsigned int numValues);
59 
61 
64  int SetUncheckedElements(const vtkIdType* values);
65  int SetUncheckedElements(const vtkIdType* values, unsigned int numValues);
67 
74  int SetElements1(vtkIdType value0);
75 
82  int SetElements2(vtkIdType value0, vtkIdType value1);
83 
90  int SetElements3(vtkIdType value0, vtkIdType value1, vtkIdType value2);
91 
95  int AppendElements(const vtkIdType* values, unsigned int numValues);
96 
100  int AppendUncheckedElements(const vtkIdType* values, unsigned int numValues);
101 
105  vtkIdType GetElement(unsigned int idx);
106 
113  vtkIdType GetUncheckedElement(unsigned int idx);
114 
120  void SetUncheckedElement(unsigned int idx, vtkIdType value);
121 
127  unsigned int GetNumberOfUncheckedElements() override;
128 
130 
133  const std::vector<vtkIdType>& GetElements() const;
134  const std::vector<vtkIdType>& GetUncheckedElements() const;
136 
138 
150  vtkGetMacro(ArgumentIsArray, int);
151  vtkSetMacro(ArgumentIsArray, int);
152  vtkBooleanMacro(ArgumentIsArray, int);
154 
158  void Copy(vtkSMProperty* src) override;
159 
160  void ClearUncheckedElements() override;
161 
167  void ResetToXMLDefaults() override;
168 
169 protected:
171  ~vtkSMIdTypeVectorProperty() override;
172 
176  void WriteTo(vtkSMMessage*) override;
177 
181  void ReadFrom(const vtkSMMessage*, int msg_offset, vtkSMProxyLocator*) override;
182 
183  int ReadXMLAttributes(vtkSMProxy* parent, vtkPVXMLElement* element) override;
184 
186 
192  void SetNumberOfUncheckedElements(unsigned int num) override;
193 
197  int LoadState(vtkPVXMLElement* element, vtkSMProxyLocator* loader) override;
198 
199  // Save concrete property values into the XML state property declaration
200  void SaveStateValues(vtkPVXMLElement* propElement) override;
201 
202 private:
204  void operator=(const vtkSMIdTypeVectorProperty&) = delete;
205 
206  class vtkInternals;
207  vtkInternals* Internals;
208 };
209 
210 #endif
vtkSMVectorProperty::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
vtkSMVectorProperty::GetNumberOfElements
virtual unsigned int GetNumberOfElements()=0
Returns the size of the vector.
vtkIdType
int vtkIdType
vtkSMProperty::ReadFrom
virtual void ReadFrom(const vtkSMMessage *, int vtkNotUsed(message_offset), vtkSMProxyLocator *)
Let the property read and set its content from the stream.
Definition: vtkSMProperty.h:555
vtkSMVectorProperty
abstract superclass for all vector properties
Definition: vtkSMVectorProperty.h:20
vtkSMVectorProperty::GetNumberOfUncheckedElements
virtual unsigned int GetNumberOfUncheckedElements()=0
API for setting unchecked element values.
vtkSMVectorProperty::ReadXMLAttributes
int ReadXMLAttributes(vtkSMProxy *parent, vtkPVXMLElement *element) override
Set the appropriate ivars from the xml element.
vtkSMVectorProperty::SetNumberOfElements
virtual void SetNumberOfElements(unsigned int num)=0
Sets the size of the vector.
vtkSMProperty
superclass for all SM properties
Definition: vtkSMProperty.h:144
vtkSMProperty::LoadState
virtual int LoadState(vtkPVXMLElement *element, vtkSMProxyLocator *loader)
Updates state from an XML element.
vtkSMVectorProperty::ClearUncheckedElements
void ClearUncheckedElements() override=0
API for setting unchecked element values.
vtkSMProxy
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140
vtkSMProperty::WriteTo
virtual void WriteTo(vtkSMMessage *msg)
Let the property write its content into the stream.
vtkSMIdTypeVectorProperty::ArgumentIsArray
int ArgumentIsArray
Definition: vtkSMIdTypeVectorProperty.h:185
vtkSMProperty::SaveStateValues
virtual void SaveStateValues(vtkPVXMLElement *propertyElement)
This method must be overridden by concrete class in order to save the real property data.
vtkSMVectorProperty.h
vtkIndent
vtkSMVectorProperty::Copy
void Copy(vtkSMProperty *src) override
Copy all property values.
vtkSMVectorProperty::SetNumberOfUncheckedElements
virtual void SetNumberOfUncheckedElements(unsigned int num)=0
API for setting unchecked element values.
vtkSMMessage
vtkPVXMLElement
Definition: vtkPVXMLElement.h:23
vtkSMIdTypeVectorProperty
property representing a vector of integers
Definition: vtkSMIdTypeVectorProperty.h:23
vtkSMProperty::ResetToXMLDefaults
virtual void ResetToXMLDefaults()
For properties that support specifying defaults in XML configuration, this method will reset the prop...
Definition: vtkSMProperty.h:415
vtkSMProxyLocator
is used to locate proxies referred to in state xmls while loading state files.
Definition: vtkSMProxyLocator.h:24
vtkSMStateLocator
Class used to retrieve a given message state based on its GlobalID.
Definition: vtkSMStateLocator.h:23
vtkSMProperty::New
static vtkSMProperty * New()