vtkSMPVRepresentationProxy.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
23 #ifndef vtkSMPVRepresentationProxy_h
24 #define vtkSMPVRepresentationProxy_h
25 
26 #include "vtkParaViewDeprecation.h" // for PARAVIEW_DEPRECATED_IN_5_12_0
27 #include "vtkRemotingViewsModule.h" //needed for exports
29 #include "vtkSmartPointer.h" // For LastLUTProxy
30 
31 #include <set> // needed for std::set
32 #include <unordered_map> // needed for std::unordered_map
33 
35 
37 {
38 public:
41  void PrintSelf(ostream& os, vtkIndent indent) override;
42 
44 
48  void SetLastLUTProxy(vtkSMProxy* proxy);
49  vtkSMProxy* GetLastLUTProxy();
50  void SetLastBlockLUTProxy(vtkSMProxy* proxy, const std::string& blockSelector);
51  vtkSMProxy* GetLastBlockLUTProxy(const std::string& blockSelector);
53 
55 
60  virtual bool GetUsingScalarColoring();
61  virtual bool GetBlockUsingScalarColoring(const std::string& blockSelector);
62  virtual bool GetAnyBlockUsingScalarColoring();
64 
66 
70  vtkSMProxy* GetLUTProxy(vtkSMProxy* view);
71  vtkSMProxy* GetBlockLUTProxy(vtkSMProxy* view, const std::string& blockSelector);
73 
75 
79  PARAVIEW_DEPRECATED_IN_5_12_0("Use static functions from vtkSMColorMapEditorHelper instead")
80  static bool GetUsingScalarColoring(vtkSMProxy* proxy)
81  {
83  return self ? self->GetUsingScalarColoring() : false;
84  }
86 
91  PARAVIEW_DEPRECATED_IN_5_12_0("Use static functions from vtkSMColorMapEditorHelper instead")
92  static void SetupLookupTable(vtkSMProxy* proxy);
93 
95 
102  bool UpdateScalarBarRange(vtkSMProxy* view, bool deleteRange);
103  bool UpdateBlockScalarBarRange(
104  vtkSMProxy* view, const std::string& blockSelector, bool deleteRange);
106 
108 
114  virtual bool SetScalarColoring(const char* arrayName, int attributeType);
115  virtual bool SetBlockScalarColoring(
116  const std::string& blockSelector, const char* arrayName, int attributeType);
118 
120 
129  virtual bool SetScalarColoring(const char* arrayName, int attributeType, int component);
130  virtual bool SetBlockScalarColoring(
131  const std::string& blockSelector, const char* arrayName, int attributeType, int component);
132 
134 
138  PARAVIEW_DEPRECATED_IN_5_12_0("Use static functions from vtkSMColorMapEditorHelper instead")
139  static bool SetScalarColoring(vtkSMProxy* proxy, const char* arrayName, int attributeType)
140  {
142  return self ? self->SetScalarColoring(arrayName, attributeType) : false;
143  }
145 
147 
151  PARAVIEW_DEPRECATED_IN_5_12_0("Use static functions from vtkSMColorMapEditorHelper instead")
152  static bool SetScalarColoring(
153  vtkSMProxy* proxy, const char* arrayName, int attributeType, int component)
154  {
156  return self ? self->SetScalarColoring(arrayName, attributeType, component) : false;
157  }
159 
161 
175  virtual bool RescaleTransferFunctionToDataRange(bool extend = false, bool force = true);
176  virtual bool RescaleBlockTransferFunctionToDataRange(
177  const std::string& blockSelector, bool extend = false, bool force = true);
179 
181 
198  virtual bool RescaleTransferFunctionToDataRange(
199  const char* arrayName, int attributeType, bool extend = false, bool force = true);
200  virtual bool RescaleBlockTransferFunctionToDataRange(const std::string& blockSelector,
201  const char* arrayName, int attributeType, bool extend = false, bool force = true);
203 
205 
209  PARAVIEW_DEPRECATED_IN_5_12_0("Use static functions from vtkSMColorMapEditorHelper instead")
210  static bool RescaleTransferFunctionToDataRange(
211  vtkSMProxy* proxy, bool extend = false, bool force = true)
212  {
214  return self ? self->RescaleTransferFunctionToDataRange(extend, force) : false;
215  }
217 
219 
223  PARAVIEW_DEPRECATED_IN_5_12_0("Use static functions from vtkSMColorMapEditorHelper instead")
224  static bool RescaleTransferFunctionToDataRange(vtkSMProxy* proxy, const char* arrayName,
225  int attributeType, bool extend = false, bool force = true)
226  {
228  return self ? self->RescaleTransferFunctionToDataRange(arrayName, attributeType, extend, force)
229  : false;
230  }
232 
234 
238  virtual bool RescaleTransferFunctionToDataRangeOverTime();
239  virtual bool RescaleBlockTransferFunctionToDataRangeOverTime(const std::string& blockSelector);
241 
243 
249  virtual bool RescaleTransferFunctionToDataRangeOverTime(const char* arrayName, int attributeType);
250  virtual bool RescaleBlockTransferFunctionToDataRangeOverTime(
251  const std::string& blockSelector, const char* arrayName, int attributeType);
253 
255 
259  PARAVIEW_DEPRECATED_IN_5_12_0("Use static functions from vtkSMColorMapEditorHelper instead")
260  static bool RescaleTransferFunctionToDataRangeOverTime(vtkSMProxy* proxy)
261  {
263  return self ? self->RescaleTransferFunctionToDataRangeOverTime() : false;
264  }
266 
268 
272  PARAVIEW_DEPRECATED_IN_5_12_0("Use static functions from vtkSMColorMapEditorHelper instead")
273  static bool RescaleTransferFunctionToDataRangeOverTime(
274  vtkSMProxy* proxy, const char* arrayName, int attributeType)
275  {
277  return self ? self->RescaleTransferFunctionToDataRangeOverTime(arrayName, attributeType)
278  : false;
279  }
281 
283 
287  virtual bool RescaleTransferFunctionToVisibleRange(vtkSMProxy* view);
288  virtual bool RescaleBlockTransferFunctionToVisibleRange(
289  vtkSMProxy* view, const std::string& blockSelector);
290  virtual bool RescaleTransferFunctionToVisibleRange(
291  vtkSMProxy* view, const char* arrayName, int attributeType);
292  virtual bool RescaleBlockTransferFunctionToVisibleRange(
293  vtkSMProxy* view, const std::string& blockSelector, const char* arrayName, int attributeType);
295 
297 
301  PARAVIEW_DEPRECATED_IN_5_12_0("Use static functions from vtkSMColorMapEditorHelper instead")
302  static bool RescaleTransferFunctionToVisibleRange(vtkSMProxy* proxy, vtkSMProxy* view)
303  {
305  return self ? self->RescaleTransferFunctionToVisibleRange(view) : false;
306  }
307  PARAVIEW_DEPRECATED_IN_5_12_0("Use static functions from vtkSMColorMapEditorHelper instead")
308  static bool RescaleTransferFunctionToVisibleRange(
309  vtkSMProxy* proxy, vtkSMProxy* view, const char* arrayName, int attributeType)
310  {
312  return self ? self->RescaleTransferFunctionToVisibleRange(view, arrayName, attributeType)
313  : false;
314  }
316 
318 
322  virtual bool SetScalarBarVisibility(vtkSMProxy* view, bool visible);
323  virtual bool SetBlockScalarBarVisibility(
324  vtkSMProxy* view, const std::string& blockSelector, bool visible);
325  PARAVIEW_DEPRECATED_IN_5_12_0("Use static functions from vtkSMColorMapEditorHelper instead")
326  static bool SetScalarBarVisibility(vtkSMProxy* proxy, vtkSMProxy* view, bool visible)
327  {
329  return self ? self->SetScalarBarVisibility(view, visible) : false;
330  }
332 
334 
336 
343  virtual bool HideScalarBarIfNotNeeded(vtkSMProxy* view);
344  PARAVIEW_DEPRECATED_IN_5_12_0("Use static functions from vtkSMColorMapEditorHelper instead")
345  static bool HideScalarBarIfNotNeeded(vtkSMProxy* repr, vtkSMProxy* view)
346  {
348  return self ? self->HideScalarBarIfNotNeeded(view) : false;
349  }
351 
353 
357  virtual bool IsScalarBarVisible(vtkSMProxy* view);
358  virtual bool IsBlockScalarBarVisible(vtkSMProxy* view, const std::string& blockSelector);
359  PARAVIEW_DEPRECATED_IN_5_12_0("Use static functions from vtkSMColorMapEditorHelper instead")
360  static bool IsScalarBarVisible(vtkSMProxy* repr, vtkSMProxy* view)
361  {
363  return self ? self->IsScalarBarVisible(view) : false;
364  }
366 
368 
373  virtual vtkPVArrayInformation* GetArrayInformationForColorArray(bool checkRepresentedData = true);
374  virtual vtkPVArrayInformation* GetBlockArrayInformationForColorArray(
375  const std::string& blockSelector, bool checkRepresentedData = true);
376  PARAVIEW_DEPRECATED_IN_5_12_0("Use static functions from vtkSMColorMapEditorHelper instead")
377  static vtkPVArrayInformation* GetArrayInformationForColorArray(
378  vtkSMProxy* proxy, bool checkRepresentedData = true)
379  {
381  return self ? self->GetArrayInformationForColorArray(checkRepresentedData) : nullptr;
382  }
384 
386 
390  virtual vtkPVProminentValuesInformation* GetProminentValuesInformationForColorArray(
391  double uncertaintyAllowed = 1e-6, double fraction = 1e-3, bool force = false);
392  virtual vtkPVProminentValuesInformation* GetBlockProminentValuesInformationForColorArray(
393  const std::string& blockSelector, double uncertaintyAllowed = 1e-6, double fraction = 1e-3,
394  bool force = false);
395  PARAVIEW_DEPRECATED_IN_5_12_0("Use static functions from vtkSMColorMapEditorHelper instead")
396  static vtkPVProminentValuesInformation* GetProminentValuesInformationForColorArray(
397  vtkSMProxy* proxy, double uncertaintyAllowed = 1e-6, double fraction = 1e-3, bool force = false)
398  {
400  return self
401  ? self->GetProminentValuesInformationForColorArray(uncertaintyAllowed, fraction, force)
402  : nullptr;
403  }
405 
409  int GetEstimatedNumberOfAnnotationsOnScalarBar(vtkSMProxy* view);
410  int GetBlockEstimatedNumberOfAnnotationsOnScalarBar(
411  vtkSMProxy* view, const std::string& blockSelector);
412  PARAVIEW_DEPRECATED_IN_5_12_0("Use static functions from vtkSMColorMapEditorHelper instead")
413  static int GetEstimatedNumberOfAnnotationsOnScalarBar(vtkSMProxy* proxy, vtkSMProxy* view)
414  {
416  return self ? self->GetEstimatedNumberOfAnnotationsOnScalarBar(view) : -1;
417  }
418 
424  bool SetRepresentationType(const char* type) override;
425 
430  bool GetVolumeIndependentRanges();
431 
433 
442  int IsScalarBarStickyVisible(vtkSMProxy* view);
443  int IsBlockScalarBarStickyVisible(vtkSMProxy* view, const std::string& blockSelector);
445 
449  void ViewUpdated(vtkSMProxy* view) override;
450 
452 
455  void SetBlockColorArray(
456  const std::string& blockSelector, int attributeType, std::string arrayName);
457  std::pair<int, std::string> GetBlockColorArray(const std::string& blockSelector);
458  int GetBlockColorArrayAssociation(const std::string& blockSelector)
459  {
460  return this->GetBlockColorArray(blockSelector).first;
461  }
462  std::string GetBlockColorArrayName(const std::string& blockSelector)
463  {
464  return this->GetBlockColorArray(blockSelector).second;
465  }
467 
469 
472  void SetBlockUseSeparateColorMap(const std::string& blockSelector, bool use);
473  bool GetBlockUseSeparateColorMap(const std::string& blockSelector);
475 
476 protected:
478  ~vtkSMPVRepresentationProxy() override;
479 
483  PARAVIEW_DEPRECATED_IN_5_12_0("Internal logic should be in vtkSMColorMapEditorHelper, use "
484  "exposed functions of the helper instead")
485  virtual bool RescaleTransferFunctionToDataRange(
486  vtkPVArrayInformation* info, bool extend = false, bool force = true);
487 
492  void CreateVTKObjects() override;
493 
494  // Whenever the "Representation" property is modified, we ensure that the
495  // this->InvalidateDataInformation() is called.
496  void OnPropertyUpdated(vtkObject*, unsigned long, void* calldata);
497 
503  void SetPropertyModifiedFlag(const char* name, int flag) override;
504 
508  int ReadXMLAttributes(vtkSMSessionProxyManager* pm, vtkPVXMLElement* element) override;
509 
514  PARAVIEW_DEPRECATED_IN_5_12_0("Internal logic should be in vtkSMColorMapEditorHelper, use "
515  "exposed functions of the helper instead")
516  std::string GetDecoratedArrayName(const std::string& arrayName);
517 
521  PARAVIEW_DEPRECATED_IN_5_12_0("Internal logic should be in vtkSMColorMapEditorHelper, use "
522  "exposed functions of the helper instead")
523  virtual bool SetScalarColoringInternal(
524  const char* arrayName, int attributeType, bool useComponent, int component);
525 
532  std::unordered_map<std::string, vtkSmartPointer<vtkSMProxy>> LastBlockLUTProxies;
533 
534 private:
536  void operator=(const vtkSMPVRepresentationProxy&) = delete;
537 
538  bool InReadXMLAttributes;
539  std::set<std::string> RepresentationSubProxies;
540 };
541 
542 #endif
Proxy for a representations.
void CreateVTKObjects() override
Call superclass&#39; and then assigns a new executive (vtkCompositeDataPipeline)
component
#define PARAVIEW_DEPRECATED_IN_5_12_0(reason)
std::unordered_map< std::string, vtkSmartPointer< vtkSMProxy > > LastBlockLUTProxies
type
#define VTKREMOTINGVIEWS_EXPORT
representation for "Render View" like views in ParaView.
info
int GetBlockColorArrayAssociation(const std::string &blockSelector)
Set/Get the block color array name.
virtual void SetPropertyModifiedFlag(const char *name, int flag)
Note on property modified flags: The modified flag of each property associated with a proxy is stored...
name
virtual bool SetRepresentationType(const char *type)
Set the representation type.
Prominent values a data array takes on.
void PrintSelf(ostream &os, vtkIndent indent) override
The vtkSMSessionProxyManager is esponsible for creating and managing proxies for a given session...
std::string GetBlockColorArrayName(const std::string &blockSelector)
Set/Get the block color array name.
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140
provides meta data about arrays.
vtkSmartPointer< vtkSMProxy > LastLUTProxy
Used as a memory of what was the last LUT proxy linked to this representation.
int ReadXMLAttributes(vtkSMSessionProxyManager *pm, vtkPVXMLElement *element) override
Read attributes from an XML element.
This is used by vtkPVXMLParser to represent an XML document starting at the root element.
#define const
Definition: zconf.h:238
static vtkSMRepresentationProxy * New()
virtual void ViewUpdated(vtkSMProxy *view)
Called after the view updates.
static vtkSMPVRepresentationProxy * SafeDownCast(vtkObject *o)