30 #ifndef vtkCompositeDataDisplayAttributes_h 31 #define vtkCompositeDataDisplayAttributes_h 33 #include <unordered_map> 37 #include "vtkRenderingCoreModule.h" 48 void PrintSelf(ostream& os,
vtkIndent indent) override;
53 bool HasBlockVisibilities() const;
59 void SetBlockVisibility(
vtkDataObject* data_object,
bool visible);
78 void RemoveBlockVisibilities();
80 VTK_LEGACY(
void RemoveBlockVisibilites());
85 bool HasBlockPickabilities() const;
91 void SetBlockPickability(
vtkDataObject* data_object,
bool visible);
110 void RemoveBlockPickabilities();
117 void GetBlockColor(
vtkDataObject* data_object,
double color[3]) const;
124 bool HasBlockColors() const;
139 void RemoveBlockColors();
145 void SetBlockOpacity(
vtkDataObject* data_object,
double opacity);
152 bool HasBlockOpacities() const;
167 void RemoveBlockOpacities();
174 void SetBlockMaterial(
vtkDataObject* data_object, const std::
string& material);
175 const std::
string& GetBlockMaterial(
vtkDataObject* data_object) const;
181 bool HasBlockMaterials() const;
196 void RemoveBlockMaterials();
204 static
void ComputeVisibleBounds(
213 static
vtkDataObject* DataObjectFromIndex(const
unsigned int flat_index,
214 vtkDataObject* parent_obj,
unsigned int& current_flat_index);
218 for (
auto entry : this->BlockVisibilities)
220 if (visitor(entry.first, entry.second))
242 static void ComputeVisibleBoundsInternal(
246 bool parentVisible =
true);
248 using BoolMap = std::unordered_map<vtkDataObject*, bool>;
249 using DoubleMap = std::unordered_map<vtkDataObject*, double>;
250 using ColorMap = std::unordered_map<vtkDataObject*, vtkColor3d>;
251 using StringMap = std::unordered_map<vtkDataObject*, std::string>;
253 BoolMap BlockVisibilities;
254 ColorMap BlockColors;
255 DoubleMap BlockOpacities;
256 StringMap BlockMaterials;
257 BoolMap BlockPickabilities;
260 #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.