13#ifndef vtkDGRenderResponder_h
14#define vtkDGRenderResponder_h
23#include "vtkRenderingCellGridModule.h"
28VTK_ABI_NAMESPACE_BEGIN
32class vtkDGRenderResponders;
45 void AddMod(
const std::string& className);
46 void AddMods(
const std::vector<std::string>& classNames);
70 ScalarVisualizationOverride = type;
represents an object (geometry & properties) in a rendered scene
State used by vtkCellGridMapper during rendering.
Respond to a query on one particular type of cell.
A container that holds objects able to respond to queries specialized for particular vtkCellMetadata ...
Base class for a discontinuous Galerkin cells of all shapes.
Shape
All possible shapes for DG cells.
Rendering simple DG cells (i.e., those with a fixed reference shape).
static vtkDGRenderResponder * New()
bool DrawCells(vtkCellGridRenderRequest *request, vtkCellMetadata *metadata)
static vtkDrawTexturedElements::PatchShape PatchPrimitiveFromShape(vtkDGCell::Shape shape)
std::set< std::string > ModNamesUnique
static vtkDrawTexturedElements::ElementShape PrimitiveFromShape(vtkDGCell::Shape shape)
void AddMods(const std::vector< std::string > &classNames)
~vtkDGRenderResponder() override=default
bool ReleaseResources(vtkCellGridRenderRequest *request, vtkCellMetadata *metadata)
bool DrawShapes(vtkCellGridRenderRequest *request, vtkDGCell *metadata, const vtkDGCell::Source &cellSource, int cellTypeIdx, std::size_t specIdx)
bool Query(vtkCellGridRenderRequest *request, vtkCellMetadata *metadata, vtkCellGridResponders *caches) override
static void SetVisualizeTessellation(bool value)
static std::vector< std::string > DefaultModNames
std::vector< std::string > ModNames
ScalarVisualizationOverrideType
These properties are useful to debug/show-off/understand the parameter space and basis functions.
void ResetModsToDefault()
If you removed all mods, call this to go back to default setting.
void RemoveMod(const std::string &className)
static ScalarVisualizationOverrideType ScalarVisualizationOverride
Default is None.
std::set< CacheEntry > Helpers
static void SetScalarVisualizationOverrideType(ScalarVisualizationOverrideType type)
void AddMod(const std::string &className)
static bool VisualizeTessellation
These properties are useful to debug/show-off/understand dynamic distance-based tessellation.
PatchShape
The type of primitive that abstract patches are tessellated into.
ElementShape
The type of primitive to output.
abstract class specifies interface to map data to graphics primitives
Allocate and hold a VTK object.
abstract specification for renderers
Hold a reference to a vtkObjectBase instance.
Records describing the source arrays for cells or cell-sides.
Entries for a cache of render-helpers.
std::vector< std::string > ModNames
Determine whether to remove this cache entry because renderer, actor, or mapper have changed since it...
const vtkDGCell::Source * CellSource
The cell- or side-source within the cell-type to be rendered.
bool operator<(const CacheEntry &other) const
Used sort cache entries for inclusion in a std::set<>.
vtkSmartPointer< vtkCellAttribute > Shape
The vector-valued attribute used to move from reference coordinates to world coordinates.
vtkSmartPointer< vtkCellAttribute > Color
The attribute used to color the geometry (or null).
vtkMTimeType ShapeTime
The MTime of the shape cell-attribute at the time RenderHelper was configured.
void PrepareHelper(vtkRenderer *renderer, vtkActor *actor, vtkMapper *mapper) const
Allocate a RenderHelper as needed and configure it.
vtkSmartPointer< vtkDGCell > CellType
The cell- or side-source within the cell-type to be rendered.
bool UsesTessellationShaders
Tessellation shaders are employed for higher order elements and quadrilaterals.
bool IsUpToDate(vtkRenderer *renderer, vtkActor *actor, vtkMapper *mapper, vtkDGRenderResponder *responder) const
Determine whether to remove this cache entry because renderer, actor, or mapper have changed since it...
bool UsesGeometryShaders
Geometry shader is used to debug distance-based tessellation.
vtkMTimeType MapperTime
The MTime of the mapper at the time RenderHelper was configured.
vtkMTimeType ColorTime
The MTime of the color cell-attribute at the time RenderHelper was configured.
vtkMTimeType GridTime
The MTime of the cell-grid which owns CellType at the time RenderHelper was configured.
std::unique_ptr< vtkDrawTexturedElements > RenderHelper
The MTime of the shape cell-attribute at the time RenderHelper was configured.
vtkNew< vtkInformation > LastRenderPassInfo
The last render pass information is cached when RenderHelper is configured.
vtkMTimeType PropertyTime
The MTime of the property at the time RenderHelper was configured.
vtkTypeUInt32 vtkMTimeType