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
17 # include <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 
62 class QMouseEvent;
63 class QRubberBand;
64 class QMenu;
65 class QImage;
66 class QAction;
67 class QWheelEvent;
68 class QKeyEvent;
69 
70 namespace 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); }
287  Vector3 mapViewportTo3D(int x, int y);
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 
304  void changeBondOrder(Index delta);
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 
348  static float getAnimationSmoothness()
349  { return animation_smoothness_;}
350 
352  float getDownsamplingFactor() const
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 
398  static bool stereoBufferSupportTest();
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 
535  void exportPOVRay();
536 
539 
541  void printScene();
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 
566  void addGlWindow();
567 
568 #ifdef BALL_HAS_RTFACT
570  void addRTfactWindow();
571 #endif
572 
574  void exitStereo();
575 
577  void enterStereo();
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 
731  void renderGrid_();
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 
830  void zoomSystem_();
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 
881  static bool show_light_sources_;
882  static float animation_smoothness_;
883  static float downsampling_factor_;
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 
906  QPoint info_point_;
907  QByteArray last_state_;
908  list<float> fps_;
909  bool show_fps_;
910  static bool offscreen_rendering_;
916 
917  QString info_string_;
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_INDEX_TYPE Index
BALL_EXTERN_VARIABLE const double c
Definition: constants.h:149
Base class for all messages concerning a Representation.
Definition: message.h:570
void applyStereoDefaults()
std::list< AtomContainer * > getContainers()
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()
const Vector3 & getTurnPoint() const
Definition: scene.h:465
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
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
MaterialSettings * getMaterialSettings()
Definition: scene.h:329
TVector2< float > getScreenPosition_(Vector3 vec)
void clearRecordedAnimation()
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
String exportPNG()
Export PNG image and return the filename.
InteractionModeManager & getInteractionModeManager()
Returns a reference to the Scene's interaction mode manager.
Definition: scene.h:641
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_()
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
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
const MaterialSettings * getMaterialSettings() const
Definition: scene.h:333
virtual void mouseMoveEvent(QMouseEvent *qmouse_event)
Vector3 old_trackorigin_
Definition: scene.h:861
virtual void paintGL()
void pickParent_(QPoint p)
const Stage * getStage() const
Definition: scene.h:317
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
Bond * getCurrentBond()
Definition: scene.h:300
QPicture overlay_
Definition: scene.h:928
void deselect(bool update=true)
Index stereo_right_eye_
Definition: scene.h:924
Stage * getStage()
Definition: scene.h:313
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
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
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()
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.
const StageSettings * getStageSettings() const
Definition: scene.h:325
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)
QAction * bondorders_action_
Definition: scene.h:735
virtual void transformationEvent6D(TransformationEvent6D *evt)
std::list< Camera > & getAnimationPoints()
Definition: scene.h:340
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_)
StageSettings * getStageSettings()
Definition: scene.h:321
String getBondOrderString_(Index order)
void setInfo(const QString &info_string)
Atom * getCurrentAtom()
Definition: scene.h:282
GLRenderer & getGLRenderer()
Definition: scene.h:382
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
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