BALL 1.5.0
scene.h
Go to the documentation of this file.
1// -*- Mode: C++; tab-width: 2; -*-
2// vi: set ts=2:
3//
4
5#ifndef BALL_VIEW_WIDGETS_SCENE_H
6#define BALL_VIEW_WIDGETS_SCENE_H
7
8#ifndef BALL_VIEW_KERNEL_MODULARWIDGET_H
10#endif
11
12#ifndef BALL_VIEW_RENDERING_RENDERERSGLRENDERER_H
14#endif
15
16#ifndef BALL_VIEW_KERNEL_COMMON_H
18#endif
19
20#ifndef BALL_VIEW_RENDERING_RENDERWINDOW_H
22#endif
23
24#ifndef BALL_VIEW_RENDERING_GLRENDERWINDOW_H
26#endif
27
28#ifndef BALL_VIEW_RENDERING_RENDERSETUP_H
30#endif
31
32#ifndef BALL_VIEW_DIALOGS_EDITSETTINGS_H
34#endif
35
36#ifndef BALL_VIEW_KERNEL_EDITOPERATION_H
38#endif
39
40#ifndef BALL_VIEW_KERNEL_MODES_INTERACTIONMODEMANAGER_H
42#endif
43
44#include <QtCore/QThread>
45#include <QtCore/QTimer>
46#include <QtGui/QDragEnterEvent>
47#include <QtGui/QDropEvent>
48#include <QtWidgets/QToolBar>
49#include <QtGui/QFont>
50#include <QtGui/QPicture>
51
52#include <boost/shared_ptr.hpp>
53
54#ifdef BALL_HAS_RTFACT
55
56#ifndef BALL_VIEW_RENDERING_RAYTRACINGRENDERER_H
58#endif
59
60#endif // BALL_HAS_RTFACT
61
62class QMouseEvent;
63class QRubberBand;
64class QMenu;
65class QImage;
66class QAction;
67class QWheelEvent;
68class QKeyEvent;
69
70namespace BALL
71{
72 class Bond;
73 class PDBAtom;
74 class AtomContainer;
75
76 namespace VIEW
77 {
78 class ColorMap;
79 class InteractionMode;
80 class Preferences;
81 class LightSettings;
82 class StageSettings;
83 class MaterialSettings;
84 class AnimationThread;
85 class ClippingPlane;
86 class CompositeMessage;
87 class ControlSelectionMessage;
88 class RepresentationMessage;
89 class DatasetMessage;
90 class SceneMessage;
91
92 class TransformationEvent6D;
93 class MotionTrackingEvent;
94 class ButtonEvent;
95 class RenderToBufferFinishedEvent;
96
139 : public QWidget,
140 public ModularWidget
141 {
142 friend class AnimationThread;
143 friend class RenderSetup;
144
145#ifdef BALL_HAS_RTFACT
146 typedef boost::shared_ptr<RaytracingRenderer> RaytracingRendererPtr;
147 typedef boost::shared_ptr<RenderWindow> RaytracingWindowPtr;
148#endif
149
150 Q_OBJECT
151
152 public:
154
155
158
159
165 {
167 CONTROL_WINDOW = 0,
168
171
173 RIGHT_EYE_WINDOW
174 };
175
179
190 Scene(QWidget* parent_widget = 0, const char* name = NULL, Qt::WindowFlags w_flags = 0);
191
194 virtual ~Scene();
195
204 virtual void clear();
205
207
209
212
219 virtual void onNotify(Message *message);
220
223 virtual bool exportScene(Renderer &er) const;
224
226
228
231
241 virtual void initializeWidget(MainControl& main_control);
242
244 virtual void fetchPreferences(INIFile& inifile);
245
247 virtual void writePreferences(INIFile& inifile);
248
259 virtual void checkMenu(MainControl& main_control);
260
262
265
269 virtual bool isValid() const;
270
277 virtual void dump(std::ostream& s = std::cout, Size depth = 0) const;
278
279 void setInfo(const QString& info_string);
280 bool isRecording() const;
282 Atom* getCurrentAtom() { return current_atom_; }
283 void setCurrentAtom(Atom* atom) { current_atom_ = atom; }
284 void notify(Message* msg) { notify_(msg); }
288 void setRubberBandGeometry(const QRect& rect);
289 void setRubberBandVisible(bool show);
290 void pickObjects(const QPoint& pos, list<GeometricObject*>& objects);
291 void pickObjects(const QPoint& pos1, const QPoint& pos2, list<GeometricObject*>& objects);
292 void merge(Composite* a1, Composite* a2);
293 std::list<AtomContainer*> getContainers();
296
297 void drawLine(const QPointF& a, const QPointF& b, QPainter* painter = 0);
298 void drawLine(const Vector2& a, const Vector2& b, QPainter* painter = 0);
299
300 Bond* getCurrentBond() { return current_bond_; }
301 void setCurrentBond(Bond* b) { current_bond_ = b; }
302
305 void activatedOrderItem_(QAction* action);
308
309 void deselect(bool update=true);
310 void getClickedItems(const QPoint& p);
311
314 { return stage_;}
315
317 const Stage* getStage() const
318 { return stage_;}
319
322 { return stage_settings_; }
323
326 { return stage_settings_; }
327
330 { return material_settings_; }
331
334 { return material_settings_; }
335
337 void setCamera(const Camera& camera);
338
340 std::list<Camera>& getAnimationPoints()
341 { return animation_points_;}
342
344 static void setAnimationSmoothness(float value)
345 { animation_smoothness_ = value;}
346
349 { return animation_smoothness_;}
350
353 { return downsampling_factor_;}
354
356 void setDownsamplingFactor(float ds_factor);
357
359 void setDefaultLighting(bool update_GL = true);
360
362 BALL_DEPRECATED static void setMouseSensitivity(float /* sensitivity */) {}
363
365 BALL_DEPRECATED static float getMouseSensitivity() { return 0; }
366
368 BALL_DEPRECATED static void setMouseWheelSensitivity(float /* sensitivity */) {}
369
371 BALL_DEPRECATED static float getMouseWheelSensitivity() { return 0; }
372
374 static void setShowLightSources(bool state)
375 { show_light_sources_ = state;}
376
379 { return show_light_sources_;}
380
383 { return *gl_renderer_;}
384
385#ifdef BALL_HAS_RTFACT
387 RaytracingRenderer& getRaytracingRenderer()
388 { return *rt_renderer_;}
389#endif
390
395 void setGLRenderer(GLRenderer& renderer);
396
399
401 bool inMoveMode() const;
402
404 bool exportPNG(const String& filename);
405
407 virtual void setWidgetVisible(bool state);
408
410 void setOffScreenRendering(bool enabled, Size factor);
411
413 virtual void paintEvent(QPaintEvent* e);
414
416 virtual bool eventFilter(QObject* object, QEvent* event);
417
419 virtual void projectionModeChanged();
420
422 static void setScreenShotNumber(Position pos) { screenshot_nr_ = pos;}
423
425 static void setPOVNumber(Position pos) { pov_nr_ = pos;}
426
428 static void setVRMLNumber(Position pos) {vrml_nr_ = pos;}
429
431 void rotate(float degree_right, float degree_up);
432
434 void rotateClockwise(float degree);
435
441 void move(Vector3 v);
442
443 // TODO: move this and the next function somewhere else...
449 void moveComposites(const std::list<Composite*>& composites, Vector3 v);
450
456 void rotateComposites(const std::list<Composite*>& composites, float degree_right, float degree_up, float degree_clockwise = 0);
457
459 bool isAnimationRunning() const;
460
462 void setTurnPoint(const Vector3& v) { system_origin_ = v;}
463
465 const Vector3& getTurnPoint() const { return system_origin_;}
466
468 void setFullScreen(bool state);
469
471 void setFPSEnabled(bool state) { show_fps_ = state; }
472
476 void showText(const String& text, Size font_size = 20);
477
479 bool isUpdateRunning() const { return update_running_;}
480
481 void resetTracking() {tracking_initialized_ = false;}
482
483 // TODO: this pretty hacky!
485
487
488 void lightsUpdated(bool redraw = false);
489
491 void setupEnvironmentMap(const QImage& image);
492
494
495 void updateGL();
498
501
503 virtual void applyPreferences();
504
506 void showContextMenu(QPoint pos);
507
508 // Allow to use the base class setCursor, too
509 using QWidget::setCursor;
510
513
515 void setElementCursor(int number);
516
518 virtual void addToolBarEntries(QToolBar* tb);
519
521 virtual void keyPressEvent(QKeyEvent* e);
522
524 public Q_SLOTS:
527
530
533
536
539
542
545
548
550 void setPreview(bool state) { use_preview_ = state; }
551
553 bool usePreview() const { return use_preview_; }
554
555 bool useVertexBuffers() const { return want_to_use_vertex_buffer_; }
556
560 virtual void switchShowWidget();
561
564
567
568#ifdef BALL_HAS_RTFACT
570 void addRTfactWindow();
571#endif
572
575
578
581
584
587
590
593
596
599
602
604 void showInfos();
605
608
611
614
617
620
623
626
627#ifdef BALL_HAS_RTFACT
628 RaytracingWindowPtr getWindow(WindowType aWindowType);
629#endif
630
635
636 // slots for communication with PTEDialog
637 void setEditElementType(int element_number);
639
642
644 protected Q_SLOTS:
645
649
653 virtual void showViewPoint_();
654
656 virtual void setViewPoint_();
657
659 virtual void resetCamera_();
660
665
667 virtual void dropEvent(QDropEvent* e);
668
670 virtual void dragEnterEvent(QDragEnterEvent* e);
671
672 // dummy slot for menu entries without immediate action (saves many lines code this way)
673 void dummySlot(){}
674
676
678 Q_SIGNALS:
679
680 // signal for communication with EditOperationDialog
682
684 protected:
685
689
693
697
701
705
709
714 void renderText_(QPointF const& point, QString const& text, QPaintDevice* current_dev);
715
721 void insert_(int x_, int y_, PDBAtom &atom_);
722
728
730
732
733 QAction *new_molecule_action_, *optimize_action_;
736
739
740 // pick atoms/bonds only in highlighted AtomContainer?
741 static bool only_highlighted_;
742 // element for new atoms
744
745 //undo stack
746 vector<EditOperation> undo_;
749
753
756 virtual void init();
757
764 virtual void paintGL();
765
772 virtual void resizeEvent(QResizeEvent* event);
773
779 virtual void customEvent(QEvent* evt);
780
785
790
794 virtual void buttonPressEvent(ButtonEvent* evt);
795
799 virtual void buttonReleaseEvent(ButtonEvent* evt);
800
805 virtual void mouseMoveEvent(QMouseEvent* qmouse_event);
806
811 virtual void mousePressEvent(QMouseEvent* qmouse_event);
812
817 virtual void mouseReleaseEvent(QMouseEvent* qmouse_event);
818
822 virtual void wheelEvent(QWheelEvent* qmouse_event);
823
825
826 //_
827 void animate_();
828
831
834
836 void pickParent_(QPoint p);
837
838 void writeLights_(INIFile& inifile) const;
839
840 void readLights_(const INIFile& inifile);
841
842 void createCoordinateSystem_(bool at_origin);
843
845
848
849 // Menu entry IDs
850 QAction *no_stereo_action_, *enter_stereo_action_, *active_stereo_action_, *dual_stereo_action_, *dual_stereo_different_display_action_;
851 QAction *record_animation_action_, *start_animation_action_, *clear_animation_action_, *cancel_animation_action_;
852 QAction *animation_export_POV_action_, *animation_export_VRML_action_, *animation_export_PNG_action_, *animation_repeat_action_;
853
854#ifdef BALL_HAS_RTFACT
855 QAction *toggle_continuous_loop_action_;
856#endif
857 QAction *switch_grid_;
859
864
866
867 QRubberBand* rb_;
868
872
873 std::vector<boost::shared_ptr<RenderSetup> > renderers_;
875
876#ifdef BALL_HAS_RTFACT
877 RaytracingRenderer* rt_renderer_;
878 RaytracingWindowPtr rt_window_;
879#endif
880
884
888
889 // nr of last png file export
891 // nr of last pov file export
893 //nr of last vrml or stl export
895
896 std::list<Camera> animation_points_;
899#ifdef BALL_HAS_RTFACT
900 bool continuous_loop_;
901#endif
904
907 QByteArray last_state_;
908 list<float> fps_;
916
918
922
925
927
928 QPicture overlay_;
931 };
932
933
936 : public QThread
937 {
938 public:
939
942
944 virtual void run() {scene_->animate_();}
945
947 void mySleep(Size msec);
948
950 void setScene(Scene* scene) { scene_ = scene;}
951
953 Scene* getScene() { return scene_;}
954
955 protected:
956
958 };
959
960 } // namespace VIEW
961} // namespace BALL
962
963#endif // BALL_VIEW_WIDGETS_SCENE_H
#define BALL_EMBEDDABLE(TYPE, BASE)
Definition: embeddable.h:31
Definition: constants.h:13
BALL_EXTERN_VARIABLE const double c
Definition: constants.h:149
Base class for all messages concerning a Representation.
Definition: message.h:570
void applyStereoDefaults()
static Position pov_nr_
Definition: scene.h:892
bool show_fps_
Definition: scene.h:909
void registerRenderers_()
QAction * add_hydrogens_action_
Definition: scene.h:734
static void setPOVNumber(Position pos)
Definition: scene.h:425
virtual void dragEnterEvent(QDragEnterEvent *e)
virtual void switchShowWidget()
static void setShowLightSources(bool state)
Definition: scene.h:374
QRubberBand * rb_
Definition: scene.h:867
void changeBondOrder(Index delta)
void showText(const String &text, Size font_size=20)
void handleCompositeMessage_(CompositeMessage *cm)
static BALL_DEPRECATED void setMouseSensitivity(float)
Definition: scene.h:362
void setOffScreenRendering(bool enabled, Size factor)
void drawLine(const Vector2 &a, const Vector2 &b, QPainter *painter=0)
bool isUpdateRunning() const
Definition: scene.h:479
void setEditElementType(int element_number)
void merge(Composite *a1, Composite *a2)
void saturateWithHydrogens()
GLRenderer & getGLRenderer()
Definition: scene.h:382
PreciseTime time_
Definition: scene.h:905
static BALL_DEPRECATED void setMouseWheelSensitivity(float)
Definition: scene.h:368
virtual void keyPressEvent(QKeyEvent *e)
Catch key events.
virtual void buttonReleaseEvent(ButtonEvent *evt)
void handleControlSelectionMessage_(ControlSelectionMessage *csm)
void getClickedItems(const QPoint &p)
bool stop_animation_
Definition: scene.h:898
StageSettings * stage_settings_
Definition: scene.h:886
void setCurrentAtom(Atom *atom)
Definition: scene.h:283
QString info_string_
Definition: scene.h:917
Bond * getCurrentBond()
Definition: scene.h:300
void setTurnPoint(const Vector3 &v)
Definition: scene.h:462
Camera stored_camera_
Definition: scene.h:871
void setRubberBandGeometry(const QRect &rect)
void exportNextPOVRay()
Export to POVRay whithout showing file dialog.
Vector3 mapViewportTo3D(const Vector2 &coords)
Stage * stage_
Definition: scene.h:869
void stopContinuousLoop()
void setDefaultLighting(bool update_GL=true)
QList< QAction * > toolbar_actions_edit_controls_
Definition: scene.h:748
Atom * current_atom_
Definition: scene.h:737
QList< QAction * > toolbar_actions_view_controls_
Definition: scene.h:915
Size offscreen_factor_
Definition: scene.h:911
static BALL_DEPRECATED float getMouseSensitivity()
Definition: scene.h:365
static bool only_highlighted_
Definition: scene.h:741
void readLights_(const INIFile &inifile)
bool use_preview_
Definition: scene.h:903
void dummySlot()
Definition: scene.h:673
static void setVRMLNumber(Position pos)
Definition: scene.h:428
void clearRecordedAnimation()
const Stage * getStage() const
Definition: scene.h:317
bool inMoveMode() const
bool isAnimationRunning() const
virtual void mouseReleaseEvent(QMouseEvent *qmouse_event)
void pickObjects(const QPoint &pos1, const QPoint &pos2, list< GeometricObject * > &objects)
void rotateComposites(const std::list< Composite * > &composites, float degree_right, float degree_up, float degree_clockwise=0)
static bool show_light_sources_
Definition: scene.h:881
AnimationThread * animation_thread_
Definition: scene.h:897
Position main_renderer_
The index of the renderer responsible for the main display.
Definition: scene.h:921
const MaterialSettings * getMaterialSettings() const
Definition: scene.h:333
String exportPNG()
Export PNG image and return the filename.
static float getAnimationSmoothness()
Definition: scene.h:348
void createCoordinateSystem_(bool at_origin)
void setPreview(bool state)
Enable or disable model previews e.g. while rotating.
Definition: scene.h:550
void startContinuousLoop()
void initializeMembers_()
Atom * getCurrentAtom()
Definition: scene.h:282
void handleSceneMessage_(SceneMessage *sm)
bool useVertexBuffers() const
Definition: scene.h:555
void moveComposites(const std::list< Composite * > &composites, Vector3 v)
void pickObjects(const QPoint &pos, list< GeometricObject * > &objects)
std::list< Camera > animation_points_
Definition: scene.h:896
TVector2< float > getScreenPosition_(Vector3 vec)
void setGLRenderer(GLRenderer &renderer)
virtual void mousePressEvent(QMouseEvent *qmouse_event)
@ LEFT_EYE_WINDOW
Window into which left eye should be rendered. Indicates same window as CONTROL_WINDOW if no stereo i...
Definition: scene.h:170
virtual void mouseMoveEvent(QMouseEvent *qmouse_event)
Vector3 old_trackorigin_
Definition: scene.h:861
virtual void paintGL()
void pickParent_(QPoint p)
void resetTracking()
Definition: scene.h:481
virtual void wheelEvent(QWheelEvent *qmouse_event)
virtual void addToolBarEntries(QToolBar *tb)
static bool showLightSourcesEnabled()
Definition: scene.h:378
Position prepareGridTextures(const RegularData3D &grid, const ColorMap &map)
void setDownsamplingFactor(float ds_factor)
QAction * cancel_animation_action_
Definition: scene.h:851
QPicture overlay_
Definition: scene.h:928
void deselect(bool update=true)
Index stereo_right_eye_
Definition: scene.h:924
String createFPSInfo_(Renderer *renderer)
Estimate current fps and convert into a string.
void updateMaterialForRepresentation(Representation *rep, const Stage::Material &new_material)
QByteArray last_state_
Definition: scene.h:907
InteractionModeManager & getInteractionModeManager()
Returns a reference to the Scene's interaction mode manager.
Definition: scene.h:641
virtual bool isValid() const
virtual void resetCamera_()
Reset the camera to standard values.
virtual void buttonPressEvent(ButtonEvent *evt)
QToolBar * toolbar_edit_controls_
Definition: scene.h:914
Vector3 system_origin_
Definition: scene.h:860
QAction * animation_export_PNG_action_
Definition: scene.h:852
virtual void resizeEvent(QResizeEvent *event)
int atomic_number_
Definition: scene.h:743
Stage * getStage()
Definition: scene.h:313
void setRubberBandVisible(bool show)
virtual void paintEvent(QPaintEvent *e)
QAction * switch_grid_
Definition: scene.h:857
void drawLine(const QPointF &a, const QPointF &b, QPainter *painter=0)
MaterialSettings * material_settings_
Definition: scene.h:887
void optimizeStructure()
Vector3 mapViewportTo3D(int x, int y)
bool isRecording() const
QPoint info_point_
Definition: scene.h:906
Camera stereo_camera_
Definition: scene.h:870
QAction * active_stereo_action_
Definition: scene.h:850
void activatedOrderItem_(QAction *action)
void createCoordinateSystemAtOrigin()
Create an coordinate system at origin.
vector< EditOperation > undo_
Definition: scene.h:746
static float downsampling_factor_
Definition: scene.h:883
std::vector< boost::shared_ptr< RenderSetup > > renderers_
Definition: scene.h:873
void enterDualStereoDifferentDisplays()
std::list< AtomContainer * > getContainers()
QAction * new_molecule_action_
Definition: scene.h:733
void createNewMolecule()
void selectionPressedMoved_()
void showExportPNGDialog()
show an dialog to save an PNG file to
Index stereo_left_eye_
Definition: scene.h:923
bool exportPNG(const String &filename)
void setElementCursor(int number)
virtual void handleRenderToBufferFinishedEvent_(RenderToBufferFinishedEvent *evt)
void newEditOperation(EditOperation &eo)
virtual void setViewPoint_()
Set the viewpoint.
virtual void clear()
Quaternion old_trackrotation_
Definition: scene.h:863
void writeLights_(INIFile &inifile) const
void renderText_(QPointF const &point, QString const &text, QPaintDevice *current_dev)
list< float > fps_
Definition: scene.h:908
void move(Vector3 v)
virtual void customEvent(QEvent *evt)
void showExportVRMLDialog()
opens the VIEW/DIALOGS/GeometryExportDialog for vrml and stl export
virtual void dump(std::ostream &s=std::cout, Size depth=0) const
virtual void setWidgetVisible(bool state)
void selectionPressed_()
virtual void initializeWidget(MainControl &main_control)
bool update_running_
Definition: scene.h:865
static BALL_DEPRECATED float getMouseWheelSensitivity()
Definition: scene.h:371
void computeBondOrders()
void toggleContinuousLoop()
Bond * current_bond_
Definition: scene.h:738
void enterActiveStereo()
void showContextMenu(QPoint pos)
void setCamera(const Camera &camera)
void notify(Message *msg)
Definition: scene.h:284
static bool offscreen_rendering_
Definition: scene.h:910
QFont default_font_
Definition: scene.h:926
void setCursor(String c)
static bool stereoBufferSupportTest()
void setFPSEnabled(bool state)
Definition: scene.h:471
virtual bool exportScene(Renderer &er) const
InteractionModeManager mode_manager_
Definition: scene.h:930
void switchRenderer(RenderSetup::RendererType new_type)
QToolBar * toolbar_view_controls_
Definition: scene.h:913
void rotate(float degree_right, float degree_up)
StageSettings * getStageSettings()
Definition: scene.h:321
std::list< Camera > & getAnimationPoints()
Definition: scene.h:340
QAction * bondorders_action_
Definition: scene.h:735
virtual void transformationEvent6D(TransformationEvent6D *evt)
const StageSettings * getStageSettings() const
Definition: scene.h:325
virtual void showViewPoint_()
Show the viewpoint and the look at point in the statusline of the mainwidget.
void setupEnvironmentMap(const QImage &image)
Try to setup an environment map for all renderers that support it.
Vector2 map3DToViewport(const Vector3 &coords)
virtual void mouseDoubleClickEvent(QMouseEvent *e)
void initializePreferencesTab(Preferences &preferences)
static void setAnimationSmoothness(float value)
Definition: scene.h:344
void lightsUpdated(bool redraw=false)
virtual void init()
virtual void motionTrackingEvent(MotionTrackingEvent *evt)
Scene(QWidget *parent_widget=0, const char *name=NULL, Qt::WindowFlags w_flags=0)
virtual bool eventFilter(QObject *object, QEvent *event)
void showInfos()
Popup informations for object under mouse cursor.
QMenu * create_coordinate_system_
Definition: scene.h:858
bool tracking_initialized_
Definition: scene.h:862
void updateAllMaterials()
GLRenderer * gl_renderer_
Definition: scene.h:874
void handleDatasetMessage_(DatasetMessage *dm)
bool want_to_use_vertex_buffer_
Definition: scene.h:902
virtual void projectionModeChanged()
virtual void writePreferences(INIFile &inifile)
bool has_overlay_
Definition: scene.h:929
void setFullScreen(bool state)
void rotateClockwise(float degree)
float getDownsamplingFactor() const
Definition: scene.h:352
void insert_(int x_, int y_, PDBAtom &atom_)
String getBondOrderString_(Index order)
void setInfo(const QString &info_string)
MaterialSettings * getMaterialSettings()
Definition: scene.h:329
static Position vrml_nr_
Definition: scene.h:894
virtual void onNotify(Message *message)
static float animation_smoothness_
Definition: scene.h:882
virtual void checkMenu(MainControl &main_control)
void finalizePreferencesTab(Preferences &preferences)
void setCurrentBond(Bond *b)
Definition: scene.h:301
static void setScreenShotNumber(Position pos)
Definition: scene.h:422
const Vector3 & getTurnPoint() const
Definition: scene.h:465
virtual void applyPreferences()
Size font_size_
Definition: scene.h:912
EditSettings * edit_settings_
Definition: scene.h:747
bool usePreview() const
Returns the state of the preview mode.
Definition: scene.h:553
static Position screenshot_nr_
Definition: scene.h:890
GLRenderWindow * main_display_
Definition: scene.h:919
virtual void dropEvent(QDropEvent *e)
virtual void resetRepresentationsForRenderer_(RenderSetup &rs)
void rotateSystemClockwise_()
void createCoordinateSystem()
Create an coordinate system at current position.
void handleRepresentationMessage_(RepresentationMessage *rm)
virtual void fetchPreferences(INIFile &inifile)
LightSettings * light_settings_
Definition: scene.h:885
void setScene(Scene *scene)
Definition: scene.h:950
virtual void run()
Definition: scene.h:944
#define BALL_DEPRECATED
Definition: COMMON/global.h:64
#define BALL_VIEW_EXPORT
Definition: COMMON/global.h:52