VTK
vtkCompositeDataDisplayAttributes.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCompositeDataDisplayAttributes.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm 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 =========================================================================*/
26 #ifndef vtkCompositeDataDisplayAttributes_h
27 #define vtkCompositeDataDisplayAttributes_h
28 
29 #include "vtkRenderingCoreModule.h" // for export macro
30 #include "vtkObject.h"
31 #include "vtkColor.h" // for vtkColor3d
32 
33 #include <map> // for std::map
34 
36 {
37 public:
40  void PrintSelf(ostream& os, vtkIndent indent);
41 
43  bool HasBlockVisibilities() const;
44 
46 
47  void SetBlockVisibility(unsigned int flat_index, bool visible);
48  bool GetBlockVisibility(unsigned int flat_index) const;
50 
53  bool HasBlockVisibility(unsigned int flat_index) const;
54 
56  void RemoveBlockVisibility(unsigned int flat_index);
57 
60  void RemoveBlockVisibilites();
61 
63 
64  void SetBlockColor(unsigned int flat_index, const double color[3]);
65  void GetBlockColor(unsigned int flat_index, double color[3]) const;
66  vtkColor3d GetBlockColor(unsigned int flat_index) const;
68 
70  bool HasBlockColors() const;
71 
73  bool HasBlockColor(unsigned int flat_index) const;
74 
76  void RemoveBlockColor(unsigned int flat_index);
77 
79  void RemoveBlockColors();
80 
82 
83  void SetBlockOpacity(unsigned int flat_index, double opacity);
84  double GetBlockOpacity(unsigned int flat_index) const;
86 
88  bool HasBlockOpacities() const;
89 
91  bool HasBlockOpacity(unsigned int flat_index) const;
92 
94  void RemoveBlockOpacity(unsigned int flat_index);
95 
97  void RemoveBlockOpacities();
98 
99 protected:
101  ~vtkCompositeDataDisplayAttributes();
102 
103 private:
104  vtkCompositeDataDisplayAttributes(const vtkCompositeDataDisplayAttributes&); // Not implemented.
105  void operator=(const vtkCompositeDataDisplayAttributes&); // Not implemented.
106 
107 private:
108  std::map<unsigned int, bool> BlockVisibilities;
109  std::map<unsigned int, vtkColor3d> BlockColors;
110  std::map<unsigned int, double> BlockOpacities;
111 };
112 
113 #endif // vtkCompositeDataDisplayAttributes_h
abstract base class for most VTK objects
Definition: vtkObject.h:61
rendering attributes for a multi-block dataset.
a simple class to control print indentation
Definition: vtkIndent.h:38
#define VTKRENDERINGCORE_EXPORT
static vtkObject * New()