1 #ifndef INTERFACE_WORLD_VIEW_GUI_H 2 #define INTERFACE_WORLD_VIEW_GUI_H 5 #include "NavigationGUI.h" 6 #include <KrisLibrary/math3d/Ray3D.h> 29 bool LoadCommandLine(
int argc,
const char** argv);
30 bool LoadFile(
const char* fn);
31 bool ReloadFile(
const char* fn);
32 bool SaveWorld(
const char* fn,
const char* elementPath=NULL);
35 virtual bool OnIdle();
36 virtual bool OnCommand(
const string& cmd,
const string& args);
38 virtual void SetWorldLights() { world->SetGLLights(); }
39 RobotModel* ClickRobot(
int x,
int y,
int& body,Vector3& localpt)
const;
40 RobotModel* ClickRobot(
const Ray3D& r,
int& body,Vector3& localpt)
const;
43 virtual void RefreshIdle() { SendPauseIdle(0); }
44 virtual void RenderWorld();
48 if(button == 0) DragRotate(dx,dy);
53 if(button == 0) DragPan(dx,dy);
58 if(button == 0) DragZoom(dx,dy);
63 if(button == 0) { camera.dist *= (1 + 0.01*Real(dy)); SendRefresh(); }
66 virtual bool OnMouseWheel(
int dwheel);
virtual void DoAltDrag(int dx, int dy, int button)
Overload this for alt-dragging.
Definition: WorldGUI.h:56
virtual void DoFreeDrag(int dx, int dy, int button)
Overload this for regular (non-modified) dragging.
Definition: WorldGUI.h:46
A (static) rigid object that may be manipulated.
Definition: RigidObject.h:15
Defines the WorldModel class.
The main robot type used in RobotSim.
Definition: Robot.h:83
virtual void DoShiftDrag(int dx, int dy, int button)
Overload this for shift-dragging.
Definition: WorldGUI.h:61
virtual void DoCtrlDrag(int dx, int dy, int button)
Overload this for control-dragging.
Definition: WorldGUI.h:51
A generic gui with a WorldModel which allows clicking on entities and loading files.
Definition: WorldGUI.h:23
A backend that manages a camera and performs OpenGL scene management.
Definition: NavigationGUI.h:51
Definition: ContactDistance.h:6
The main world class containing multiple robots, objects, and static geometries (terrains). Lights and other viewport information may also be stored here.
Definition: World.h:24