27 #ifndef vtkCompositeDataDisplayAttributes_h
28 #define vtkCompositeDataDisplayAttributes_h
30 #include <unordered_map>
34 #include "vtkRenderingCoreModule.h"
49 bool HasBlockVisibilities()
const;
55 void SetBlockVisibility(
vtkDataObject* data_object,
bool visible);
74 void RemoveBlockVisibilities();
76 VTK_LEGACY(
void RemoveBlockVisibilites());
81 bool HasBlockPickabilities()
const;
87 void SetBlockPickability(
vtkDataObject* data_object,
bool visible);
106 void RemoveBlockPickabilities();
120 bool HasBlockColors()
const;
135 void RemoveBlockColors();
141 void SetBlockOpacity(
vtkDataObject* data_object,
double opacity);
148 bool HasBlockOpacities()
const;
163 void RemoveBlockOpacities();
177 bool HasBlockMaterials()
const;
192 void RemoveBlockMaterials();
200 static void ComputeVisibleBounds(
208 const unsigned int flat_index,
vtkDataObject* parent_obj,
unsigned int& current_flat_index);
212 for (
auto entry : this->BlockVisibilities)
214 if (visitor(entry.first, entry.second))
240 using BoolMap = std::unordered_map<vtkDataObject*, bool>;
241 using DoubleMap = std::unordered_map<vtkDataObject*, double>;
242 using ColorMap = std::unordered_map<vtkDataObject*, vtkColor3d>;
243 using StringMap = std::unordered_map<vtkDataObject*, std::string>;
245 BoolMap BlockVisibilities;
246 ColorMap BlockColors;
247 DoubleMap BlockOpacities;
248 StringMap BlockMaterials;
249 BoolMap BlockPickabilities;
252 #endif // vtkCompositeDataDisplayAttributes_h