18#ifndef vtkOpenGLCellGridRenderRequest_h 
   19#define vtkOpenGLCellGridRenderRequest_h 
   21#include "vtkRenderingCellGridModule.h"  
   25#include <unordered_map>  
   27VTK_ABI_NAMESPACE_BEGIN
 
   61    SURFACE_WITH_EDGES = EDGES | FACES,
 
   62    ALL = VERTICES | EDGES | FACES | VOLUMES
 
  108  vtkGetMacro(ShapesToDraw, 
char);
 
  109  vtkSetClampMacro(ShapesToDraw, 
char, 1, 9);
 
  124  vtkGetMacro(IsReleasingResources, 
bool);
 
  125  vtkSetMacro(IsReleasingResources, 
bool);
 
  131  template <
typename StateType>
 
  134    auto it = this->State.find(cellType);
 
  135    if (it == this->State.end())
 
  137      it = this->State.insert(std::make_pair(cellType, std::unique_ptr<StateBase>(
new StateType)))
 
  140    return static_cast<StateType*
>(it->second.get());
 
  151  bool IsReleasingResources{ 
false };
 
  152  char ShapesToDraw{ RenderableGeometry::ALL };
 
  153  std::unordered_map<vtkStringToken, std::unique_ptr<StateBase>> 
State;
 
represents an object (geometry & properties) in a rendered scene
 
Perform an operation on cells in a vtkCellMetadata instance.
 
a simple class to control print indentation
 
CellGrid mapper using OpenGL to render exotic finite element fields and cells.
 
An empty base class that responders should inherit to store state using GetState<Subclass>().
 
virtual ~StateBase()=default
 
State used by vtkOpenGLCellGridMapper during rendering.
 
StateType * GetState(vtkStringToken cellType)
Return a state object of the given type.
 
static vtkOpenGLCellGridRenderRequest * New()
 
void PrintSelf(std::ostream &os, vtkIndent indent) override
 
virtual void SetWindow(vtkWindow *window)
Set/get a window (used when IsReleasingResources is true).
 
RenderableGeometry
An enumeration of which shapes to render.
 
virtual void SetMapper(vtkOpenGLCellGridMapper *mapper)
Set/get the mapper which owns this request (so responders can inspect its configuration).
 
virtual void SetRenderer(vtkRenderer *renderer)
Set/get the renderer responders should use to draw cells.
 
std::unordered_map< vtkStringToken, std::unique_ptr< StateBase > > State
 
void Initialize() override
This is invoked before processing any cell types during a render.
 
virtual void SetActor(vtkActor *actor)
Set/get the actor which responders should use to draw cells.
 
~vtkOpenGLCellGridRenderRequest() override
 
void Finalize() override
This is invoked after processing all cell types during a render.
 
vtkOpenGLCellGridRenderRequest()
 
abstract specification for renderers
 
Represent a string by its integer hash.
 
window superclass for vtkRenderWindow