40 #ifndef FL_RSO_WINDOW_H
41 #define FL_RSO_WINDOW_H
44 #include <FL/Fl_Gl_Window.H>
45 #include "rso_interface_1.h"
46 #include "component_base.h"
48 #include "glpolygon.h"
66 Fl_Gl_Group(
int x,
int y,
int w,
int h,
const char *l=0);
71 virtual int handle(
int evId);
103 virtual void Clear();
109 virtual void InitializeCanvas(
float width,
float height);
114 void AddComponent(disti::ComponentBase *component);
119 virtual void SetViewScale(
float scale);
124 virtual void SetViewFit();
129 virtual void SetViewCenter(disti::Vector center);
139 void Pick2DByExtents(
float x,
float y);
144 virtual int handle(
int eventID);
154 virtual bool HandleKeyboardInput(
int key);
161 virtual void HandleMouseMove(disti::Vector currentEventWinLoc, disti::Vector previousLogicalCoords, disti::Vector currentLogicalCoords);
168 virtual bool HandleMousePush(disti::Vector currentEventWinLoc, disti::Vector currentLogicalCoords);
175 virtual void HandleMouseDrag(disti::Vector currentEventWinLoc, disti::Vector previousLogicalCoords, disti::Vector currentLogicalCoords);
197 disti::Group* GetObjects() {
return &_objects; }
202 float Scale() {
return _viewScale; }
207 virtual void ZoomIn(
const disti::Vector &newCenter);
212 virtual void ZoomOut(
const disti::Vector &newCenter);
217 virtual void ZoomIn();
222 virtual void ZoomOut();
232 int FrameInterval() {
return _frameInterval; };
237 void FrameInterval(
int microseconds) { _frameInterval = microseconds; }
242 virtual void SetRedraw();
247 virtual bool FrameAnimate();
252 virtual bool UpdateAnimate();
257 virtual void SyncAllRSOAssetMultiViews();
264 bool SetupOpenGLState();
269 void RestoreOpenGLState(
bool saveVal);
281 void DrawObjects(
bool previewMode);
291 void GenerateMouseEvent(
int eventButton,
int eventSubtype,
float logicalX,
float logicalY, disti::MouseEvent *mev);
304 virtual void resize(
int,
int,
int,
int);
321 bool Pick2DUsingRSOExtents(disti::ComponentBase *component,
const disti::Vector& logicalCoords);
328 bool Pick2DUsingRSOEyepoint(
disti::DDD_RSOAsset *asset,
const disti::Vector& logicalCoords);
float _viewScale
Definition: Fl_RSO_Window.H:336
int _frameInterval
Definition: Fl_RSO_Window.H:355
A virtual interface class for all DataDirector assets.
Definition: DDD_AssetBase.h:115
disti::Vector _viewTranslation
Definition: Fl_RSO_Window.H:334
Fl_Gl_Group. Parent FLTK group containing a Fl_RSO_Window; passes certain events to Fl_Gl_Window...
Definition: Fl_RSO_Window.H:55
disti::OpenGLMatrices _currentMatrices
Definition: Fl_RSO_Window.H:342
float _smoothedFrameDelay
Definition: Fl_RSO_Window.H:353
disti::DDD_RSOAsset * _currentlySelectedRSO
Definition: Fl_RSO_Window.H:340
bool _redraw
Definition: Fl_RSO_Window.H:354
Fl_RSO_Window. FLTK/OpenGL window that displays RSO Assets.
Definition: Fl_RSO_Window.H:76
The DDD_RSOAsset class. DataDirector asset class that controls GL Studio RSOs.
Definition: DDD_RSOAsset.h:81
disti::DDD_AssetBase * _currentlySelectedAsset
Definition: Fl_RSO_Window.H:339
disti::Group _objects
Definition: Fl_RSO_Window.H:335
disti::Vector _previousMouseEventLocation
Definition: Fl_RSO_Window.H:344
disti::GLPolygon * _canvas
Definition: Fl_RSO_Window.H:333
disti::DDD_PerformanceMonitor * _renderProfiler
Definition: Fl_RSO_Window.H:348
Abstract base class for any object that uses DDD_XMLConfigMgr.
Definition: DDD_XMLConfigMgr.h:74