18 #ifndef vtkCompositeDataDisplayAttributes_h
19 #define vtkCompositeDataDisplayAttributes_h
24 #include "vtkRenderingCoreModule.h"
30 #include <unordered_map>
32 VTK_ABI_NAMESPACE_BEGIN
50 bool HasBlockVisibilities()
const;
56 void SetBlockVisibility(
vtkDataObject* data_object,
bool visible);
75 void RemoveBlockVisibilities();
80 bool HasBlockPickabilities()
const;
86 void SetBlockPickability(
vtkDataObject* data_object,
bool visible);
105 void RemoveBlockPickabilities();
112 bool GetBlockScalarVisibility(
vtkDataObject* data_object)
const;
113 bool HasBlockScalarVisibility(
vtkDataObject* data_object)
const;
114 bool HasBlockScalarVisibilities()
const;
115 void RemoveBlockScalarVisibility(
vtkDataObject* data_object);
116 void RemoveBlockScalarVisibilities();
124 bool GetBlockUseLookupTableScalarRange(
vtkDataObject* data_object)
const;
125 bool HasBlockUseLookupTableScalarRange(
vtkDataObject* data_object)
const;
126 bool HasBlockUseLookupTableScalarRanges()
const;
127 void RemoveBlockUseLookupTableScalarRange(
vtkDataObject* data_object);
128 void RemoveBlockUseLookupTableScalarRanges();
136 bool GetBlockInterpolateScalarsBeforeMapping(
vtkDataObject* data_object)
const;
137 bool HasBlockInterpolateScalarsBeforeMapping(
vtkDataObject* data_object)
const;
138 bool HasBlockInterpolateScalarsBeforeMappings()
const;
139 void RemoveBlockInterpolateScalarsBeforeMapping(
vtkDataObject* data_object);
140 void RemoveBlockInterpolateScalarsBeforeMappings();
155 bool HasBlockColors()
const;
170 void RemoveBlockColors();
176 void SetBlockOpacity(
vtkDataObject* data_object,
double opacity);
183 bool HasBlockOpacities()
const;
198 void RemoveBlockOpacities();
212 bool HasBlockMaterials()
const;
227 void RemoveBlockMaterials();
236 bool HasBlockColorModes()
const;
238 void RemoveBlockColorModes();
248 bool HasBlockScalarModes()
const;
250 void RemoveBlockScalarModes();
258 int GetBlockArrayAccessMode(
vtkDataObject* data_object)
const;
259 bool HasBlockArrayAccessMode(
vtkDataObject* data_object)
const;
260 bool HasBlockArrayAccessModes()
const;
262 void RemoveBlockArrayAccessModes();
270 int GetBlockArrayComponent(
vtkDataObject* data_object)
const;
271 bool HasBlockArrayComponent(
vtkDataObject* data_object)
const;
272 bool HasBlockArrayComponents()
const;
274 void RemoveBlockArrayComponents();
284 bool HasBlockArrayIds()
const;
286 void RemoveBlockArrayIds();
296 bool HasBlockScalarRanges()
const;
298 void RemoveBlockScalarRanges();
308 bool HasBlockArrayNames()
const;
310 void RemoveBlockArrayNames();
319 bool HasBlockFieldDataTupleId(
vtkDataObject* data_object)
const;
320 bool HasBlockFieldDataTupleIds()
const;
321 void RemoveBlockFieldDataTupleId(
vtkDataObject* data_object);
322 void RemoveBlockFieldDataTupleIds();
332 bool HasBlockLookupTables()
const;
334 void RemoveBlockLookupTables();
345 bool HasBlockTextures()
const;
347 void RemoveBlockTextures();
356 static void ComputeVisibleBounds(
364 unsigned int flat_index,
vtkDataObject* parent_obj,
unsigned int current_flat_index = 0);
368 for (
auto entry : this->BlockVisibilities)
370 if (visitor(entry.first, entry.second))
396 using BoolMap = std::unordered_map<vtkDataObject*, bool>;
397 using DoubleMap = std::unordered_map<vtkDataObject*, double>;
398 using IntMap = std::unordered_map<vtkDataObject*, int>;
399 using VtkIdTypeMap = std::unordered_map<vtkDataObject*, vtkIdType>;
400 using ColorMap = std::unordered_map<vtkDataObject*, vtkColor3d>;
401 using RangeMap = std::unordered_map<vtkDataObject*, vtkVector2d>;
402 using StringMap = std::unordered_map<vtkDataObject*, std::string>;
403 using LookupTableMap = std::unordered_map<vtkDataObject*, vtkSmartPointer<vtkScalarsToColors>>;
404 using TextureMap = std::unordered_map<vtkDataObject*, vtkSmartPointer<vtkTexture>>;
406 BoolMap BlockVisibilities;
407 ColorMap BlockColors;
408 DoubleMap BlockOpacities;
409 StringMap BlockMaterials;
410 BoolMap BlockPickabilities;
411 BoolMap BlockScalarVisibilities;
412 BoolMap BlockUseLookupTableScalarRanges;
413 BoolMap BlockInterpolateScalarsBeforeMappings;
414 IntMap BlockColorModes;
415 IntMap BlockScalarModes;
416 IntMap BlockArrayAccessModes;
417 IntMap BlockArrayComponents;
418 IntMap BlockArrayIds;
419 RangeMap BlockScalarRanges;
420 StringMap BlockArrayNames;
421 LookupTableMap BlockLookupTables;
422 VtkIdTypeMap BlockFieldDataTupleIds;
423 TextureMap BlockTextures;
425 friend class vtkCompositeDataDisplayAttributesSerDesHelper;
428 VTK_ABI_NAMESPACE_END
429 #endif // vtkCompositeDataDisplayAttributes_h
Deserialize VTK objects from JSON.
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.
#define VTK_MARSHALMANUAL
a simple class to control print indentation
handles properties associated with a texture map
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
Serialize VTK objects to JSON.
general representation of visualization data
Fast, simple class for representing and operating on 3D bounds.