OpendTect  6.6
visbouncydisplay.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: Karthika
8  Date: Sep 2009
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 
15 #include "uibouncymod.h"
16 #include "vissurvobj.h"
17 #include "visobject.h"
18 
19 class SoRotation;
20 
21 namespace visBase {
22  class BeachBall;
23  class EventCatcher;
24  class Cube;
25  class Transformation;
26 }
27 namespace visBeachBall { class BallProperties; }
28 
29 namespace uiBouncy
30 {
31 
46 {
47 public:
48 
51 
52  void setSceneID(const int);
53  int sceneid() const;
54 
55  void addBouncy(visBeachBall::BallProperties);
56  void removeBouncy();
57  void setScale();
58  void start();
59  void stop();
60  bool ispaused() const;
61  bool isstopped() const;
62 
63  Notifier<BouncyDisplay> newEvent;
64 
65  // beachball access methods
66  void setBallProperties(const
67  visBeachBall::BallProperties&);
68  visBeachBall::BallProperties getBallProperties() const;
69 
70  void setBallPosition(const Coord3&);
71  Coord3 getBallPosition() const;
72 
73  void setPaddlePosition(const Coord3&);
74  Coord3 getPaddlePosition() const;
75 
76  void setDisplayTransformation(
77  const visBase::Transformation*);
78  const visBase::Transformation* getDisplayTransformation() const;
79 
80 protected:
81 
83 
84  void zScaleCB(CallBacker*);
85  void eventCB(CallBacker*);
86  void keyPressCB(CallBacker*);
87  void setSceneEventCatcher(visBase::EventCatcher*);
88 
89  void movePaddleLeft();
90  void movePaddleRight();
91  void movePaddleUp();
92  void movePaddleDown();
93 
94  visBase::BeachBall* bb_;
95  SoRotation* rotation_;
96  visBase::Cube* paddle_;
97  int sceneid_;
98  visBase::EventCatcher* eventcatcher_;
99  bool ispaused_;
100  bool isstopped_;
101 
102 };
103 };
104 
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
uiBouncy::BouncyDisplay
Display a bouncing beachball. Mouse control: X, Y axes of mouse correspond to the cross-line and in-l...
Definition: visbouncydisplay.h:46
visBase
Definition: visannot.h:43
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
visSurvey::SurveyObject
Base class for all 'Display' objects.
Definition: vissurvobj.h:58
visBase::VisualObjectImpl
VisualObjectImpl
Definition: visobject.h:127
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
visobject.h
visBeachBall
Definition: beachballdata.h:15
Notifier
Class to help setup a callback handling.
Definition: notify.h:126
vissurvobj.h
uiBouncy::BouncyDisplay::create
static BouncyDisplay * create() mCreateDataObj(BouncyDisplay)
mCreateDataObj
#define mCreateDataObj(clss)
Definition: visdata.h:214
sKey::Cube
FixedString Cube()
Definition: keystrs.h:51
uiBouncy
Definition: uibouncymain.h:15

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021