14#ifndef vtkAnariPolyDataMapperInheritInterface_h
15#define vtkAnariPolyDataMapperInheritInterface_h
17#include <anari/anari_cpp.hpp>
18#include <anari/anari_cpp/ext/std.h>
27using uvec2 = anari::std_types::uvec2;
28using uvec3 = anari::std_types::uvec3;
29using vec2 = anari::std_types::vec2;
30using vec3 = anari::std_types::vec3;
31using vec4 = anari::std_types::vec4;
32using mat4 = anari::std_types::mat4;
57 anari::Device& device, anari::Extensions& extensions,
const char*
const* anariExtensionStrings);
67 std::vector<vec3>&
vertices, std::vector<uint32_t>& indexArray,
double pointSize,
69 std::vector<float>& pointValueTextureCoords, std::vector<vec4>& pointColors,
int cellFlag);
71 std::vector<vec3>&
vertices, std::vector<uint32_t>& indexArray,
double lineWidth,
73 std::vector<float>& pointValueTextureCoords, std::vector<vec4>& pointColors,
int cellFlag);
75 std::vector<vec3>&
vertices, std::vector<uint32_t>& indexArray,
double lineWidth,
77 std::vector<float>& pointValueTextureCoords, std::vector<vec4>& pointColors,
int cellFlag);
79 std::vector<vec3>&
vertices, std::vector<uint32_t>& indexArray, std::vector<vec3>& normals,
80 std::vector<vec2>& textureCoords, std::vector<float>& pointValueTextureCoords,
81 std::vector<vec4>& pointColors,
int cellFlag);
Interface for inheriting classes for overriding mapper functionality.
virtual ~vtkAnariPolyDataMapperInheritInterface()
virtual anari::Geometry InitializeCylinders(vtkPolyData *polyData, vtkProperty *property, std::vector< vec3 > &vertices, std::vector< uint32_t > &indexArray, double lineWidth, vtkDataArray *scaleArray, vtkPiecewiseFunction *scaleFunction, std::vector< vec2 > &textureCoords, std::vector< float > &pointValueTextureCoords, std::vector< vec4 > &pointColors, int cellFlag)
virtual anari::Geometry InitializeTriangles(vtkPolyData *polyData, vtkProperty *property, std::vector< vec3 > &vertices, std::vector< uint32_t > &indexArray, std::vector< vec3 > &normals, std::vector< vec2 > &textureCoords, std::vector< float > &pointValueTextureCoords, std::vector< vec4 > &pointColors, int cellFlag)
virtual ParameterFlags GetBaseUpdateResponsibility() const
virtual void SetDevice(anari::Device &device, anari::Extensions &extensions, const char *const *anariExtensionStrings)
Set the ANARI device to write to.
virtual anari::Geometry InitializeSpheres(vtkPolyData *polyData, vtkProperty *property, std::vector< vec3 > &vertices, std::vector< uint32_t > &indexArray, double pointSize, vtkDataArray *scaleArray, vtkPiecewiseFunction *scaleFunction, std::vector< vec2 > &textureCoords, std::vector< float > &pointValueTextureCoords, std::vector< vec4 > &pointColors, int cellFlag)
anari::Extensions AnariExtensions
virtual anari::Geometry InitializeCurves(vtkPolyData *polyData, vtkProperty *property, std::vector< vec3 > &vertices, std::vector< uint32_t > &indexArray, double lineWidth, vtkDataArray *scaleArray, vtkPiecewiseFunction *scaleFunction, std::vector< vec2 > &textureCoords, std::vector< float > &pointValueTextureCoords, std::vector< vec4 > &pointColors, int cellFlag)
virtual const char * GetCylindersPostfix() const
const char *const * AnariExtensionStrings
virtual const char * GetTrianglesPostfix() const
virtual const char * GetCurvesPostfix() const
virtual const char * GetSpheresPostfix() const
Inheriting classes can also influence the postfix of the created prim names.
virtual int GetSurfaceRepresentation(vtkProperty *property) const
Inheriting classes can own (override) representation choice, creation of anari geometries and paramet...
anari::Device AnariDevice
abstract superclass for arrays of numeric data
Defines a 1D piecewise function.
concrete dataset represents vertices, lines, polygons, and triangle strips
represent surface properties of a geometric object
Specifies parameter flags, which can be used by inheriting classes to specify which parameter it take...
anari::std_types::vec4 vec4
anari::std_types::vec3 vec3
anari::std_types::uvec3 uvec3
anari::std_types::vec2 vec2
anari::std_types::mat4 mat4
anari::std_types::uvec2 uvec2
std::pair< boost::graph_traits< vtkGraph * >::vertex_iterator, boost::graph_traits< vtkGraph * >::vertex_iterator > vertices(vtkGraph *g)