30 #ifndef vtkCompositeDataDisplayAttributes_h 31 #define vtkCompositeDataDisplayAttributes_h 32 #include <unordered_map> 36 #include "vtkRenderingCoreModule.h" 47 void PrintSelf(ostream& os,
vtkIndent indent) override;
52 bool HasBlockVisibilities() const;
58 void SetBlockVisibility(
vtkDataObject* data_object,
bool visible);
77 void RemoveBlockVisibilities();
79 VTK_LEGACY(
void RemoveBlockVisibilites());
84 bool HasBlockPickabilities() const;
90 void SetBlockPickability(
vtkDataObject* data_object,
bool visible);
109 void RemoveBlockPickabilities();
116 void GetBlockColor(
vtkDataObject* data_object,
double color[3]) const;
123 bool HasBlockColors() const;
138 void RemoveBlockColors();
144 void SetBlockOpacity(
vtkDataObject* data_object,
double opacity);
151 bool HasBlockOpacities() const;
166 void RemoveBlockOpacities();
173 void SetBlockMaterial(
vtkDataObject* data_object, const std::
string& material);
174 const std::
string& GetBlockMaterial(
vtkDataObject* data_object) const;
180 bool HasBlockMaterials() const;
195 void RemoveBlockMaterials();
203 static
void ComputeVisibleBounds(
212 static
vtkDataObject* DataObjectFromIndex(const
unsigned int flat_index,
213 vtkDataObject* parent_obj,
unsigned int& current_flat_index);
217 ~vtkCompositeDataDisplayAttributes() override;
220 vtkCompositeDataDisplayAttributes(const vtkCompositeDataDisplayAttributes&) = delete;
221 void operator=(const vtkCompositeDataDisplayAttributes&) = delete;
231 static
void ComputeVisibleBoundsInternal(
232 vtkCompositeDataDisplayAttributes* cda,
235 bool parentVisible = true);
238 using DoubleMap = std::unordered_map<vtkDataObject*,
double>;
239 using ColorMap = std::unordered_map<vtkDataObject*,
vtkColor3d>;
240 using StringMap = std::unordered_map<vtkDataObject*, std::
string>;
242 BoolMap BlockVisibilities;
243 ColorMap BlockColors;
244 DoubleMap BlockOpacities;
245 StringMap BlockMaterials;
246 BoolMap BlockPickabilities;
249 #endif // vtkCompositeDataDisplayAttributes_h
abstract base class for most VTK objects
Rendering attributes for a multi-block dataset.
a simple class to control print indentation
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
general representation of visualization data
Fast Simple Class for dealing with 3D bounds.