VTK  9.1.0
Backend.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "Types.h"
4 
5 namespace RTW
6 {
7  class Backend
8  {
9  public:
10  virtual ~Backend() = default;
11 
12  public:
13  virtual RTWError Init() = 0;
14  virtual void Shutdown() = 0;
15 
16  virtual bool IsSupported(RTWFeature feature) const = 0;
17 
18  virtual RTWData NewData(RTWDataType, size_t numItems) = 0;
19  virtual RTWData NewCopyData1D(const void *source, RTWDataType, size_t numItems) = 0;
20  virtual RTWData NewCopyData2D(const void *source, RTWDataType, size_t numItems1, size_t numItems2) = 0;
21  virtual RTWData NewCopyData3D(const void *source, RTWDataType, size_t numItems1, size_t numItems2, size_t numItems3) = 0;
22  virtual RTWData NewSharedData1D(const void *source, RTWDataType, uint32_t numItems) = 0;
23  virtual RTWData NewSharedData2D(const void *source, RTWDataType, uint32_t numItems1, uint32_t numItems2) = 0;
24  virtual RTWData NewSharedData3D(const void *source, RTWDataType, uint32_t numItems1, uint32_t numItems2,
25  uint32_t numItems3) = 0;
26  virtual RTWGeometry NewGeometry(const char *type) = 0;
27  virtual RTWGroup NewGroup() = 0;
28  virtual RTWTexture NewTexture(const char* type) = 0;
29  virtual RTWLight NewLight(const char *light_type) = 0;
30  virtual RTWMaterial NewMaterial(const char *renderer_type, const char *material_type) = 0;
31  virtual RTWVolume NewVolume(const char *type) = 0;
33  virtual RTWTransferFunction NewTransferFunction(const char *type) = 0;
34  virtual RTWRenderer NewRenderer(const char *type) = 0;
35  virtual RTWCamera NewCamera(const char *type) = 0;
36  virtual RTWWorld NewWorld() = 0;
38  virtual RTWInstance NewInstance(RTWGroup geometry) = 0;
39  virtual RTWFrameBuffer NewFrameBuffer(const rtw::vec2i &size, const RTWFrameBufferFormat format, const uint32_t frameBufferChannels) = 0;
40 
41  virtual void Release(RTWObject) = 0;
42 
43 
44  virtual void SetString(RTWObject, const char *id, const char *s) = 0;
45  virtual void SetObject(RTWObject, const char *id, RTWObject other) = 0;
46  virtual void SetObjectAsData(RTWObject target, const char *id, RTWDataType type, RTWObject obj) = 0;
47  virtual void SetParam(RTWObject, const char *id, RTWDataType type, const void* mem) = 0;
48  virtual void SetBool(RTWObject, const char *id, bool x) = 0;
49  virtual void SetInt(RTWObject, const char *id, int32_t x) = 0;
50  virtual void SetVec2i(RTWObject, const char *id, int32_t x, int32_t y) = 0;
51  virtual void SetFloat(RTWObject, const char *id, float x) = 0;
52  virtual void SetVec2f(RTWObject, const char *id, float x, float y) = 0;
53  virtual void SetVec3i(RTWObject, const char *id, int x, int y, int z) = 0;
54  virtual void SetVec3f(RTWObject, const char *id, float x, float y, float z) = 0;
55  virtual void SetVec4f(RTWObject, const char *id, float x, float y, float z, float w) = 0;
56 
57  virtual void RemoveParam(RTWObject, const char *id) = 0;
58 
59  virtual void Commit(RTWObject) = 0;
60 
62 
63  virtual void FrameBufferClear(RTWFrameBuffer) = 0;
64  virtual const void* MapFrameBuffer(RTWFrameBuffer, const RTWFrameBufferChannel) = 0;
65  virtual void UnmapFrameBuffer(const void *mapped, RTWFrameBuffer) = 0;
66 
67  virtual void SetDepthNormalizationGL(RTWFrameBuffer frameBuffer, float clipMin, float clipMax) = 0;
68  virtual int GetColorTextureGL(RTWFrameBuffer frameBuffer) = 0;
69  virtual int GetDepthTextureGL(RTWFrameBuffer frameBuffer) = 0;
70  };
71 }
RTW::Backend::Commit
virtual void Commit(RTWObject)=0
RTWVolume
struct RTWHandle * RTWVolume
Definition: Types.h:233
RTWLight
struct RTWHandle * RTWLight
Definition: Types.h:232
RTW::Backend::SetParam
virtual void SetParam(RTWObject, const char *id, RTWDataType type, const void *mem)=0
RTW::Backend::NewGeometry
virtual RTWGeometry NewGeometry(const char *type)=0
RTW::Backend::GetColorTextureGL
virtual int GetColorTextureGL(RTWFrameBuffer frameBuffer)=0
RTW::Backend::SetVec2f
virtual void SetVec2f(RTWObject, const char *id, float x, float y)=0
RTW::Backend::UnmapFrameBuffer
virtual void UnmapFrameBuffer(const void *mapped, RTWFrameBuffer)=0
RTWFrameBuffer
struct RTWHandle * RTWFrameBuffer
Definition: Types.h:220
RTWObject
struct RTWHandle * RTWObject
Definition: Types.h:236
Types.h
RTWFrameBufferChannel
RTWFrameBufferChannel
Definition: Types.h:26
vtkX3D::type
@ type
Definition: vtkX3D.h:522
RTW::Backend::IsSupported
virtual bool IsSupported(RTWFeature feature) const =0
RTW::Backend::SetFloat
virtual void SetFloat(RTWObject, const char *id, float x)=0
RTWGeometricModel
struct RTWHandle * RTWGeometricModel
Definition: Types.h:226
RTW::Backend::SetBool
virtual void SetBool(RTWObject, const char *id, bool x)=0
RTWWorld
struct RTWHandle * RTWWorld
Definition: Types.h:228
RTW::Backend::NewGeometricModel
virtual RTWGeometricModel NewGeometricModel(RTWGeometry geometry)=0
RTW::Backend::NewTexture
virtual RTWTexture NewTexture(const char *type)=0
RTW::Backend::SetVec3f
virtual void SetVec3f(RTWObject, const char *id, float x, float y, float z)=0
RTW::Backend::SetVec4f
virtual void SetVec4f(RTWObject, const char *id, float x, float y, float z, float w)=0
RTW
Definition: Backend.h:6
RTWFeature
RTWFeature
Definition: Types.h:241
RTW::Backend::NewGroup
virtual RTWGroup NewGroup()=0
RTW::Backend::NewRenderer
virtual RTWRenderer NewRenderer(const char *type)=0
RTW::Backend::SetInt
virtual void SetInt(RTWObject, const char *id, int32_t x)=0
RTW::Backend::NewVolumetricModel
virtual RTWVolumetricModel NewVolumetricModel(RTWVolume volume)=0
RTWGroup
struct RTWHandle * RTWGroup
Definition: Types.h:224
RTW::Backend::SetObjectAsData
virtual void SetObjectAsData(RTWObject target, const char *id, RTWDataType type, RTWObject obj)=0
rtw::vec2i
Definition: Types.h:209
RTW::Backend::SetObject
virtual void SetObject(RTWObject, const char *id, RTWObject other)=0
target
boost::graph_traits< vtkGraph * >::vertex_descriptor target(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
Definition: vtkBoostGraphAdapter.h:1004
RTW::Backend::SetVec3i
virtual void SetVec3i(RTWObject, const char *id, int x, int y, int z)=0
RTW::Backend::GetDepthTextureGL
virtual int GetDepthTextureGL(RTWFrameBuffer frameBuffer)=0
RTW::Backend::NewFrameBuffer
virtual RTWFrameBuffer NewFrameBuffer(const rtw::vec2i &size, const RTWFrameBufferFormat format, const uint32_t frameBufferChannels)=0
RTW::Backend::~Backend
virtual ~Backend()=default
RTW::Backend::Release
virtual void Release(RTWObject)=0
RTWMaterial
struct RTWHandle * RTWMaterial
Definition: Types.h:231
RTW::Backend::Init
virtual RTWError Init()=0
RTW::Backend::NewSharedData3D
virtual RTWData NewSharedData3D(const void *source, RTWDataType, uint32_t numItems1, uint32_t numItems2, uint32_t numItems3)=0
RTW::Backend::NewSharedData2D
virtual RTWData NewSharedData2D(const void *source, RTWDataType, uint32_t numItems1, uint32_t numItems2)=0
RTW::Backend::MapFrameBuffer
virtual const void * MapFrameBuffer(RTWFrameBuffer, const RTWFrameBufferChannel)=0
RTW::Backend::RenderFrame
virtual float RenderFrame(RTWFrameBuffer, RTWRenderer, RTWCamera, RTWWorld)=0
RTWGeometry
struct RTWHandle * RTWGeometry
Definition: Types.h:230
RTW::Backend::NewCopyData1D
virtual RTWData NewCopyData1D(const void *source, RTWDataType, size_t numItems)=0
RTWFrameBufferFormat
RTWFrameBufferFormat
Definition: Types.h:18
vtkX3D::size
@ size
Definition: vtkX3D.h:259
RTWTransferFunction
struct RTWHandle * RTWTransferFunction
Definition: Types.h:234
RTW::Backend::NewSharedData1D
virtual RTWData NewSharedData1D(const void *source, RTWDataType, uint32_t numItems)=0
RTWTexture
struct RTWHandle * RTWTexture
Definition: Types.h:235
RTW::Backend::FrameBufferClear
virtual void FrameBufferClear(RTWFrameBuffer)=0
RTW::Backend::NewWorld
virtual RTWWorld NewWorld()=0
RTW::Backend::Shutdown
virtual void Shutdown()=0
RTW::Backend::SetDepthNormalizationGL
virtual void SetDepthNormalizationGL(RTWFrameBuffer frameBuffer, float clipMin, float clipMax)=0
RTW::Backend
Definition: Backend.h:8
RTW::Backend::NewCamera
virtual RTWCamera NewCamera(const char *type)=0
RTWVolumetricModel
struct RTWHandle * RTWVolumetricModel
Definition: Types.h:227
RTWInstance
struct RTWHandle * RTWInstance
Definition: Types.h:225
RTWData
struct RTWHandle * RTWData
Definition: Types.h:229
RTW::Backend::NewCopyData2D
virtual RTWData NewCopyData2D(const void *source, RTWDataType, size_t numItems1, size_t numItems2)=0
RTW::Backend::NewCopyData3D
virtual RTWData NewCopyData3D(const void *source, RTWDataType, size_t numItems1, size_t numItems2, size_t numItems3)=0
RTWRenderer
struct RTWHandle * RTWRenderer
Definition: Types.h:222
RTW::Backend::NewVolume
virtual RTWVolume NewVolume(const char *type)=0
RTW::Backend::RemoveParam
virtual void RemoveParam(RTWObject, const char *id)=0
source
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
Definition: vtkBoostGraphAdapter.h:998
RTW::Backend::NewLight
virtual RTWLight NewLight(const char *light_type)=0
RTWError
RTWError
Definition: Types.h:7
RTW::Backend::NewData
virtual RTWData NewData(RTWDataType, size_t numItems)=0
RTW::Backend::NewTransferFunction
virtual RTWTransferFunction NewTransferFunction(const char *type)=0
RTW::Backend::SetVec2i
virtual void SetVec2i(RTWObject, const char *id, int32_t x, int32_t y)=0
RTWCamera
struct RTWHandle * RTWCamera
Definition: Types.h:223
RTW::Backend::SetString
virtual void SetString(RTWObject, const char *id, const char *s)=0
RTW::Backend::NewInstance
virtual RTWInstance NewInstance(RTWGroup geometry)=0
RTW::Backend::NewMaterial
virtual RTWMaterial NewMaterial(const char *renderer_type, const char *material_type)=0
RTWDataType
RTWDataType
Definition: Types.h:120