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