18 #ifndef vtkCompositeDataDisplayAttributes_h
19 #define vtkCompositeDataDisplayAttributes_h
21 #include <unordered_map>
25 #include "vtkRenderingCoreModule.h"
29 VTK_ABI_NAMESPACE_BEGIN
44 bool HasBlockVisibilities()
const;
50 void SetBlockVisibility(
vtkDataObject* data_object,
bool visible);
69 void RemoveBlockVisibilities();
74 bool HasBlockPickabilities()
const;
80 void SetBlockPickability(
vtkDataObject* data_object,
bool visible);
99 void RemoveBlockPickabilities();
106 bool GetBlockScalarVisibility(
vtkDataObject* data_object)
const;
107 bool HasBlockScalarVisibility(
vtkDataObject* data_object)
const;
108 bool HasBlockScalarVisibilities()
const;
109 void RemoveBlockScalarVisibility(
vtkDataObject* data_object);
110 void RemoveBlockScalarVisibilities();
118 bool GetBlockUseLookupTableScalarRange(
vtkDataObject* data_object)
const;
119 bool HasBlockUseLookupTableScalarRange(
vtkDataObject* data_object)
const;
120 bool HasBlockUseLookupTableScalarRanges()
const;
121 void RemoveBlockUseLookupTableScalarRange(
vtkDataObject* data_object);
122 void RemoveBlockUseLookupTableScalarRanges();
130 bool GetBlockInterpolateScalarsBeforeMapping(
vtkDataObject* data_object)
const;
131 bool HasBlockInterpolateScalarsBeforeMapping(
vtkDataObject* data_object)
const;
132 bool HasBlockInterpolateScalarsBeforeMappings()
const;
133 void RemoveBlockInterpolateScalarsBeforeMapping(
vtkDataObject* data_object);
134 void RemoveBlockInterpolateScalarsBeforeMappings();
149 bool HasBlockColors()
const;
164 void RemoveBlockColors();
170 void SetBlockOpacity(
vtkDataObject* data_object,
double opacity);
177 bool HasBlockOpacities()
const;
192 void RemoveBlockOpacities();
206 bool HasBlockMaterials()
const;
221 void RemoveBlockMaterials();
230 bool HasBlockColorModes()
const;
232 void RemoveBlockColorModes();
242 bool HasBlockScalarModes()
const;
244 void RemoveBlockScalarModes();
252 int GetBlockArrayAccessMode(
vtkDataObject* data_object)
const;
253 bool HasBlockArrayAccessMode(
vtkDataObject* data_object)
const;
254 bool HasBlockArrayAccessModes()
const;
256 void RemoveBlockArrayAccessModes();
264 int GetBlockArrayComponent(
vtkDataObject* data_object)
const;
265 bool HasBlockArrayComponent(
vtkDataObject* data_object)
const;
266 bool HasBlockArrayComponents()
const;
268 void RemoveBlockArrayComponents();
278 bool HasBlockArrayIds()
const;
280 void RemoveBlockArrayIds();
290 bool HasBlockScalarRanges()
const;
292 void RemoveBlockScalarRanges();
302 bool HasBlockArrayNames()
const;
304 void RemoveBlockArrayNames();
313 bool HasBlockFieldDataTupleId(
vtkDataObject* data_object)
const;
314 bool HasBlockFieldDataTupleIds()
const;
315 void RemoveBlockFieldDataTupleId(
vtkDataObject* data_object);
316 void RemoveBlockFieldDataTupleIds();
326 bool HasBlockLookupTables()
const;
328 void RemoveBlockLookupTables();
337 static void ComputeVisibleBounds(
345 unsigned int flat_index,
vtkDataObject* parent_obj,
unsigned int current_flat_index = 0);
349 for (
auto entry : this->BlockVisibilities)
351 if (visitor(entry.first, entry.second))
377 using BoolMap = std::unordered_map<vtkDataObject*, bool>;
378 using DoubleMap = std::unordered_map<vtkDataObject*, double>;
379 using IntMap = std::unordered_map<vtkDataObject*, int>;
380 using VtkIdTypeMap = std::unordered_map<vtkDataObject*, vtkIdType>;
381 using ColorMap = std::unordered_map<vtkDataObject*, vtkColor3d>;
382 using RangeMap = std::unordered_map<vtkDataObject*, vtkVector2d>;
383 using StringMap = std::unordered_map<vtkDataObject*, std::string>;
384 using LookupTableMap = std::unordered_map<vtkDataObject*, vtkSmartPointer<vtkScalarsToColors>>;
386 BoolMap BlockVisibilities;
387 ColorMap BlockColors;
388 DoubleMap BlockOpacities;
389 StringMap BlockMaterials;
390 BoolMap BlockPickabilities;
391 BoolMap BlockScalarVisibilities;
392 BoolMap BlockUseLookupTableScalarRanges;
393 BoolMap BlockInterpolateScalarsBeforeMappings;
394 IntMap BlockColorModes;
395 IntMap BlockScalarModes;
396 IntMap BlockArrayAccessModes;
397 IntMap BlockArrayComponents;
398 IntMap BlockArrayIds;
399 RangeMap BlockScalarRanges;
400 StringMap BlockArrayNames;
401 LookupTableMap BlockLookupTables;
402 VtkIdTypeMap BlockFieldDataTupleIds;
405 VTK_ABI_NAMESPACE_END
406 #endif // vtkCompositeDataDisplayAttributes_h
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void VisitVisibilities(std::function< bool(vtkDataObject *, bool)> visitor)
Rendering attributes for a multi-block dataset.
Superclass for mapping scalar values to colors.
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 representing and operating on 3D bounds.