19 #include <osg/Drawable>
20 #include <osg/BlendEquation>
21 #include <osg/BlendFunc>
22 #include <osg/ref_ptr>
32 class DtImguiDrawable;
39 virtual void createImGui() = 0;
58 virtual const std::string& className();
65 virtual void convertMouseCoordinatesForVr(
DtChannel& channel,
int& mouseX,
int& mouseY);
75 class DtGlContextWrapper;
76 class NetworkMonitorGui;
88 virtual void drawImplementation(osg::RenderInfo& info)
const;
90 virtual void releaseGLObjects(osg::State* state)
const;
93 virtual void shutdown();
101 virtual bool readyToRender();
104 virtual osg::observer_ptr<osg::Camera>& mainCamera();
107 virtual void setOverrideCamera(osg::Camera* camera);
110 virtual void setMouseX(
double x);
111 virtual double mouseX()
const;
113 virtual void setMouseY(
double y);
114 virtual double mouseY()
const;
117 virtual void setMousePressed(
int button,
bool pressed);
118 virtual bool mousePressed(
int button)
const;
121 virtual void setMouseWheel(
float wheel);
122 virtual float mouseWheel()
const;
125 virtual void AddInputCharacter(
char character);
128 virtual float dpiScale();
130 virtual void setDpiScale(
float scale);
136 virtual void setRenderVirtualCursor(
bool enable);
151 virtual void initImGui();
153 virtual bool createFontsTexture();
156 virtual bool createDeviceObjects();
158 virtual void invalidateDeviceObjects();
161 virtual void newFrame(osg::RenderInfo& renderInfo);
164 virtual void renderDrawLists(
ImDrawData* draw_data, osg::State* state);
182 bool myMousePressed[3];
int myInitialized
Definition: DtImguiDrawable.h:200
The DtOsgRenderer is the component responsible for rendering 3D images onto the screen via OpenSceneG...
Definition: DtOsgRenderer.h:91
int myFragHandle
Definition: DtImguiDrawable.h:191
int myAttribLocationUV
Definition: DtImguiDrawable.h:195
bool myLastHdrSetting
Definition: DtImguiDrawable.h:213
osg::ref_ptr< osg::BlendFunc > myVrBlendFunc
Definition: DtImguiDrawable.h:212
This class encapsulates a Key event.
Definition: DtKeyEvent.h:16
osg::observer_ptr< osg::Camera > myOverrideCamera
Definition: DtImguiDrawable.h:207
DtDe & myDe
Definition: DtImguiDrawable.h:176
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtDe & myDe
Definition: DtImguiDrawable.h:68
int myAttribLocationPosition
Definition: DtImguiDrawable.h:194
int myVertHandle
Definition: DtImguiDrawable.h:190
unsigned int GLuint
Definition: DtGlTextureBufferObject.h:18
Contains makVrv::DtDe class.
double myMouseX
Definition: DtImguiDrawable.h:184
std::string myClassName
Definition: DtImguiDrawable.h:69
std::vector< char > myCharacters
Definition: DtImguiDrawable.h:215
bool myMutableFirstFrame
Definition: DtImguiDrawable.h:201
DtGlContextWrapper * myContextIDWrapper
Definition: DtImguiDrawable.h:204
This class encapsulates a mouse button event.
Definition: DtMouseEvent.h:19
event processor that gives imgui a chance to catch events.
Definition: DtImguiDrawable.h:44
double myMouseY
Definition: DtImguiDrawable.h:185
unsigned int myVboHandle
Definition: DtImguiDrawable.h:197
The abstract Channel Class.
Definition: DtChannel.h:35
bool myRenderVirtualCursor
Definition: DtImguiDrawable.h:214
Definition: DtImguiDrawable.h:77
bool myIsKeyboardActive
Definition: DtImguiDrawable.h:70
Interface for an event processor for a channel.
DtImGuiEventProcessor * myEventProcessor
Definition: DtImguiDrawable.h:178
osg::observer_ptr< osg::Camera > myMainCamera
Definition: DtImguiDrawable.h:206
osg::ref_ptr< osg::BlendEquation > myBlendEquation
Definition: DtImguiDrawable.h:210
unsigned int myVaoHandle
Definition: DtImguiDrawable.h:198
int myAttribLocationColor
Definition: DtImguiDrawable.h:196
unsigned int myElementsHandle
Definition: DtImguiDrawable.h:199
osg::ref_ptr< osg::BlendFunc > myBlendFunc
Definition: DtImguiDrawable.h:211
bool myRightMouseMoveActive
Definition: DtImguiDrawable.h:71
DtImguiDrawable & myImGuiDrawable
Definition: DtImguiDrawable.h:72
NetworkMonitorGui * myOsgEarthNetworkMonitor
Definition: DtImguiDrawable.h:218
Contains DLL export macros.
helper for guaranteeing consistent ordering of gui bits, only used by shadow system.
Definition: DtImguiDrawable.h:36
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
int myAttribLocationTex
Definition: DtImguiDrawable.h:192
static DtImguiDrawable * theImguiInstance
Definition: DtImguiDrawable.h:221
GLuint myFontTexture
Definition: DtImguiDrawable.h:188
std::vector< DtImguiTweakUI * > myUiArray
Definition: DtImguiDrawable.h:177
boost::signalslib::signal< void(osg::RenderInfo &)> signal_imguiNewFrame
Definition: DtImguiDrawable.h:173
float myMouseWheel
Definition: DtImguiDrawable.h:183
The DtEventProcessorInterface defines the generic interface for classes which handle input events...
Definition: DtEventProcessorInterface.h:34
int myShaderHandle
Definition: DtImguiDrawable.h:189
virtual void setKeyboardActive(bool enable)
is this capturing the keyboard
Definition: DtImguiDrawable.h:60
int myAttribLocationProjMtx
Definition: DtImguiDrawable.h:193
double myTime
Definition: DtImguiDrawable.h:181
float myDpiScale
Definition: DtImguiDrawable.h:216
unsigned int myLastFrameNum
Definition: DtImguiDrawable.h:208