28 #pragma warning(disable: 4275)
30 #include <osgGA/TerrainManipulator>
31 #include <osgViewer/Viewer>
32 #include <osg/PositionAttitudeTransform>
33 #include <osg/ShapeDrawable>
34 #include <osg/ref_ptr>
56 class CameraManipulator;
57 class NodeTrackerManipulator;
85 Command_TLSChange(
const MSLink*
const link, osg::Switch* switchNode);
89 virtual ~Command_TLSChange();
103 const MSLink*
const myLink;
106 osg::ref_ptr<osg::Switch> mySwitch;
114 Command_TLSChange(
const Command_TLSChange&);
117 Command_TLSChange& operator=(
const Command_TLSChange&);
123 osg::ref_ptr<osg::PositionAttitudeTransform> pos;
124 osg::ref_ptr<osg::ShapeDrawable> geom;
125 osg::ref_ptr<osg::Switch> lights;
135 virtual ~GUIOSGView();
189 long onKeyPress(FXObject*, FXSelector,
void*);
199 long onPaint(FXObject*, FXSelector,
void*);
200 long OnIdle(FXObject* sender, FXSelector sel,
void* ptr);
203 class SUMOTerrainManipulator :
public osgGA::TerrainManipulator {
205 SUMOTerrainManipulator() {
206 setAllowThrow(
false);
207 setRotationMode(ELEVATION_AZIM_ROLL);
209 bool performMovementLeftMouseButton(
const double eventTimeDelta,
const double dx,
const double dy) {
210 return osgGA::TerrainManipulator::performMovementMiddleMouseButton(eventTimeDelta, dx, dy);
212 bool performMovementMiddleMouseButton(
const double eventTimeDelta,
const double dx,
const double dy) {
213 return osgGA::TerrainManipulator::performMovementLeftMouseButton(eventTimeDelta, dx, dy);
215 bool performMovementRightMouseButton(
const double eventTimeDelta,
const double dx,
const double dy) {
216 return osgGA::TerrainManipulator::performMovementRightMouseButton(eventTimeDelta, dx, -dy);
220 class FXOSGAdapter :
public osgViewer::GraphicsWindow {
224 void grabFocusIfPointerInWindow() {}
225 void useCursor(
bool cursorOn);
227 bool makeCurrentImplementation();
228 bool releaseContext();
229 void swapBuffersImplementation();
235 bool realizeImplementation() {
238 bool isRealizedImplementation()
const {
241 void closeImplementation() {}
242 bool releaseContextImplementation() {
250 FXCursor*
const myOldCursor;
255 osg::ref_ptr<FXOSGAdapter> myAdapter;
256 osg::ref_ptr<osgViewer::Viewer> myViewer;
257 osg::ref_ptr<osg::Group> myRoot;
261 osg::ref_ptr<osgGA::CameraManipulator> myCameraManipulator;
265 std::map<MSVehicle*, OSGMovable > myVehicles;
266 std::map<MSTransportable*, OSGMovable > myPersons;
268 osg::ref_ptr<osg::Node> myGreenLight;
269 osg::ref_ptr<osg::Node> myYellowLight;
270 osg::ref_ptr<osg::Node> myRedLight;
271 osg::ref_ptr<osg::Node> myRedYellowLight;
LinkState
The right-of-way state of a link between two lanes used when constructing a NBTrafficLightLogic,...
A MSNet extended by some values for usage within the gui.
virtual long onLeftBtnRelease(FXObject *, FXSelector, void *)
virtual void recenterView()
recenters the view
virtual SUMOTime getCurrentTimeStep() const
get the current simulation time
virtual long onMiddleBtnRelease(FXObject *, FXSelector, void *)
virtual long onMouseMove(FXObject *, FXSelector, void *)
virtual void buildViewToolBars(GUIGlChildWindow *)
builds the view toolbars
virtual void showViewportEditor()
show viewport editor
virtual void centerTo(GUIGlID id, bool applyZoom, double zoomDist=20)
centers to the chosen artifact
virtual long onLeftBtnPress(FXObject *, FXSelector, void *)
virtual void setViewportFromToRot(const Position &lookFrom, const Position &lookAt, double rotation)
applies the given viewport settings
virtual void onGamingClick(Position)
on gaming click
virtual long onKeyPress(FXObject *o, FXSelector sel, void *data)
keyboard functions
virtual long onMiddleBtnPress(FXObject *, FXSelector, void *)
virtual void stopTrack()
stop track
virtual long onKeyRelease(FXObject *o, FXSelector sel, void *data)
virtual void startTrack(int)
star track
virtual long onRightBtnRelease(FXObject *, FXSelector, void *)
virtual void copyViewportTo(GUISUMOAbstractView *view)
copy the viewport to the given view
virtual bool setColorScheme(const std::string &)
set color scheme
virtual long onPaint(FXObject *, FXSelector, void *)
virtual long onRightBtnPress(FXObject *, FXSelector, void *)
virtual long onConfigure(FXObject *, FXSelector, void *)
mouse functions
virtual GUIGlID getTrackedID() const
get tracked id
A single child window which contains a view of the simulation area.
A MSVehicle extended by some values for usage within the gui.
Base class for things to execute if a tls switches to a new phase.
Representation of a vehicle in the micro simulation.
A point in 2D or 3D with translation and scaling methods.