14#ifndef SLIDEEVENTHANDLER
15#define SLIDEEVENTHANDLER 1
32class SlideEventHandler;
52 JumpData(
bool in_relativeJump,
int in_slideNum,
int in_layerNum):
57 JumpData(
const std::string& in_slideName,
const std::string& in_layerName):
74 if (&rhs==
this)
return *
this;
137 if (&rhs==
this)
return *
this;
162 KeyPosition(
unsigned int key=0,
float x=FLT_MAX,
float y=FLT_MAX,
bool forward_to_devices =
false):
163 _key((
osgGA::GUIEventAdapter::KeySymbol)key),
179 if (&rhs==
this)
return *
this;
187 void set(
unsigned int key=0,
float x=FLT_MAX,
float y=FLT_MAX,
bool forward_to_devices =
false)
227 typedef std::vector<KeyPosition>
Keys;
269 template<
class T,
class U>
280 virtual void*
ptr()
const = 0;
The core osg library provides the basic scene graph classes such as Nodes, State and Drawables,...
Definition AlphaFunc:19
Vec3f Vec3
Definition Vec3:21
unsigned long long Timer_t
Definition Timer:24
The 'GA' in osgGA stands for 'GUI Abstraction'; the osgGA namespace provides facilities to help devel...
Definition Callback:21
std::deque< std::string > FilePathList
list of directories to search through which searching for files.
Definition Callbacks:28
The osgPresentation library is a NodeKit that extends the core scene graph to support 3D scene graph ...
Definition AnimationMaterial:26
Operation
Operations related to click to run/load/key events.
Definition SlideEventHandler:36
@ JUMP
Definition SlideEventHandler:40
@ FORWARD_TOUCH_EVENT
Definition SlideEventHandler:42
@ FORWARD_MOUSE_EVENT
Definition SlideEventHandler:41
@ EVENT
Definition SlideEventHandler:39
@ LOAD
Definition SlideEventHandler:38
@ RUN
Definition SlideEventHandler:37
Definition ApplicationUsage:26
Copy Op(erator) used to control whether shallow or deep copy is used during copy construction and clo...
Definition CopyOp:41
@ SHALLOW_COPY
Definition CopyOp:47
Base class for all internal nodes in the scene graph.
Definition Node:72
TraversalMode
Definition NodeVisitor:86
@ TRAVERSE_ACTIVE_CHILDREN
Definition NodeVisitor:90
Base class/standard interface for objects which require IO support, cloning and reference counting.
Definition Object:61
Object()
Construct an object.
Definition Object:69
Smart pointer for observed objects, that automatically set pointers to them to null when they are del...
Definition observer_ptr:39
Smart pointer for handling referenced counted objects.
Definition ref_ptr:32
Base class for providing reference counted objects.
Definition Referenced:44
Switch is a Group node that allows switching between children.
Definition Switch:27
General purpose double triple for use as vertices, vectors and normals.
Definition Vec3d:30
Base Event class.
Definition Event:27
virtual void event(osg::NodeVisitor *nv, osg::Drawable *drawable)
Event traversal drawable callback method.
Definition GUIActionAdapter:62
Event class for storing Keyboard, mouse and window events.
Definition GUIEventAdapter:82
KeySymbol
Definition GUIEventAdapter:113
GUIEventHandler provides a basic interface for any class which wants to handle a GUI Events.
Definition GUIEventHandler:50
Definition SlideEventHandler:46
JumpData(bool in_relativeJump, int in_slideNum, int in_layerNum)
Definition SlideEventHandler:52
int getSlideNum() const
Definition SlideEventHandler:97
bool relativeJump
Definition SlideEventHandler:108
void setLayerNum(int num)
Definition SlideEventHandler:99
bool getRelativeJump() const
Definition SlideEventHandler:94
JumpData(const std::string &in_slideName, const std::string &in_layerName)
Definition SlideEventHandler:57
const std::string & getLayerName() const
Definition SlideEventHandler:106
std::string slideName
Definition SlideEventHandler:112
bool jump(SlideEventHandler *seh) const
const std::string & getSlideName() const
Definition SlideEventHandler:103
void setSlideNum(int num)
Definition SlideEventHandler:96
int layerNum
Definition SlideEventHandler:110
void setRelativeJump(bool flag)
Definition SlideEventHandler:93
std::string layerName
Definition SlideEventHandler:113
META_Object(osgPresentation, JumpData)
int slideNum
Definition SlideEventHandler:109
bool requiresJump() const
Definition SlideEventHandler:85
JumpData()
Definition SlideEventHandler:47
int getLayerNum() const
Definition SlideEventHandler:100
JumpData & operator=(const JumpData &rhs)
Definition SlideEventHandler:72
void setSlideName(const std::string &name)
Definition SlideEventHandler:102
JumpData(const JumpData &rhs, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
Definition SlideEventHandler:64
void setLayerName(const std::string &name)
Definition SlideEventHandler:105
osg::Vec3d eye
Definition SlideEventHandler:155
HomePosition & operator=(const HomePosition &rhs)
Definition SlideEventHandler:135
META_Object(osgPresentation, HomePosition)
void setCenter(const osg::Vec3d &c)
Definition SlideEventHandler:149
osg::Vec3d up
Definition SlideEventHandler:157
const osg::Vec3d & getEye() const
Definition SlideEventHandler:147
const osg::Vec3d & getUp() const
Definition SlideEventHandler:153
osg::Vec3d center
Definition SlideEventHandler:156
void setUp(const osg::Vec3d &u)
Definition SlideEventHandler:152
HomePosition(const osg::Vec3 &in_eye, const osg::Vec3 &in_center, const osg::Vec3 &in_up)
Definition SlideEventHandler:124
void setEye(const osg::Vec3d &e)
Definition SlideEventHandler:146
const osg::Vec3d & getCenter() const
Definition SlideEventHandler:150
HomePosition(const HomePosition &rhs, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
Definition SlideEventHandler:129
HomePosition()
Definition SlideEventHandler:119
Definition SlideEventHandler:161
float _x
Definition SlideEventHandler:209
int getKey() const
Definition SlideEventHandler:196
bool getForwardToDevices() const
Definition SlideEventHandler:205
KeyPosition(const KeyPosition &rhs, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
Definition SlideEventHandler:168
float _y
Definition SlideEventHandler:210
void setX(float x)
Definition SlideEventHandler:198
META_Object(osgPresentation, KeyPosition)
float getY() const
Definition SlideEventHandler:202
KeyPosition & operator=(const KeyPosition &rhs)
Definition SlideEventHandler:177
void set(unsigned int key=0, float x=FLT_MAX, float y=FLT_MAX, bool forward_to_devices=false)
Definition SlideEventHandler:187
osgGA::GUIEventAdapter::KeySymbol _key
Definition SlideEventHandler:208
void setKey(int key)
Definition SlideEventHandler:195
bool _forwardToDevices
Definition SlideEventHandler:211
void setForwardToDevices(bool flag)
Definition SlideEventHandler:204
void setY(float y)
Definition SlideEventHandler:201
KeyPosition(unsigned int key=0, float x=FLT_MAX, float y=FLT_MAX, bool forward_to_devices=false)
Definition SlideEventHandler:162
float getX() const
Definition SlideEventHandler:199
Definition SlideEventHandler:215
virtual void operator()(osg::Node *node) const =0
std::vector< KeyPosition > Keys
Definition SlideEventHandler:227
void addRunString(const std::string &runString)
Definition SlideEventHandler:238
LayerCallbacks _enterLayerCallbacks
Definition SlideEventHandler:255
void addLeaveCallback(LayerCallback *lc)
Definition SlideEventHandler:249
void setJump(const JumpData &jumpData)
Definition SlideEventHandler:240
std::vector< std::string > RunStrings
Definition SlideEventHandler:228
RunStrings _runStrings
Definition SlideEventHandler:245
double _duration
Definition SlideEventHandler:243
void callEnterCallbacks(osg::Node *node)
LayerCallbacks _leaveLayerCallbacks
Definition SlideEventHandler:256
const Keys & getKeys() const
Definition SlideEventHandler:231
void addKey(const KeyPosition &kp)
Definition SlideEventHandler:233
LayerAttributes()
Definition SlideEventHandler:221
std::list< osg::ref_ptr< LayerCallback > > LayerCallbacks
Definition SlideEventHandler:254
JumpData _jumpData
Definition SlideEventHandler:246
const RunStrings & getRunStrings() const
Definition SlideEventHandler:236
Keys _keys
Definition SlideEventHandler:244
const JumpData & getJumpData() const
Definition SlideEventHandler:241
void setDuration(double duration)
Definition SlideEventHandler:224
double getDuration() const
Definition SlideEventHandler:225
void setKeys(const Keys &keys)
Definition SlideEventHandler:230
void setRunStrings(const RunStrings &runStrings)
Definition SlideEventHandler:235
void addEnterCallback(LayerCallback *lc)
Definition SlideEventHandler:248
void callLeaveCallbacks(osg::Node *node)
LayerAttributes(double in_duration)
Definition SlideEventHandler:222
FilePathData(const osgDB::FilePathList &fpl)
Definition SlideEventHandler:261
osgDB::FilePathList filePathList
Definition SlideEventHandler:263
Definition SlideEventHandler:268
bool operator()(const T &lhs, const U &rhs) const
Definition SlideEventHandler:270
Definition SlideEventHandler:277
virtual ~ObjectOperator()
Definition SlideEventHandler:289
virtual void * ptr() const =0
virtual void leave(SlideEventHandler *)=0
virtual void setPause(SlideEventHandler *, bool pause)=0
bool operator<(const ObjectOperator &rhs) const
Definition SlideEventHandler:278
virtual void frame(SlideEventHandler *)
Definition SlideEventHandler:283
virtual void maintain(SlideEventHandler *)=0
virtual void enter(SlideEventHandler *)=0
virtual void reset(SlideEventHandler *)=0
Definition SlideEventHandler:293
bool getPause() const
Definition SlideEventHandler:305
void collect(osg::Node *incomingNode, osg::NodeVisitor::TraversalMode tm=osg::NodeVisitor::TRAVERSE_ACTIVE_CHILDREN)
void processMaintained(SlideEventHandler *seh)
void setPause(SlideEventHandler *seh, bool pause)
bool _pause
Definition SlideEventHandler:317
void frame(SlideEventHandler *)
void reset(SlideEventHandler *seh)
OperatorList _current
Definition SlideEventHandler:320
std::set< osg::ref_ptr< ObjectOperator >, dereference_less > OperatorList
Definition SlideEventHandler:309
OperatorList _maintained
Definition SlideEventHandler:324
void process(SlideEventHandler *seh)
void processOutgoing(SlideEventHandler *seh)
OperatorList _incoming
Definition SlideEventHandler:323
void processIncoming(SlideEventHandler *seh)
OperatorList _outgoing
Definition SlideEventHandler:322
OperatorList _previous
Definition SlideEventHandler:319
Definition SlideEventHandler:329
void setRequestReload(bool flag)
SlideEventHandler(osgViewer::Viewer *viewer=0)
void updateLight(float x, float y)
void dispatchEvent(osgGA::Event *event)
osg::Switch * getSlide(int slideNum)
bool _updateOpacityActive
Definition SlideEventHandler:447
bool _loopPresentation
Definition SlideEventHandler:442
double _timeLastKeyPresses
Definition SlideEventHandler:461
int _activeLayer
Definition SlideEventHandler:435
SlideEventHandler(const SlideEventHandler &seh, const osg::CopyOp ©op)
void dispatchEvent(const KeyPosition &keyPosition)
bool getReleaseAndCompileOnEachNewSlide() const
Definition SlideEventHandler:393
double _timePerSlide
Definition SlideEventHandler:440
osg::Timer_t _tickAtLastSlideOrLayerChange
Definition SlideEventHandler:456
double _minimumTimeBetweenKeyPresses
Definition SlideEventHandler:460
osg::Timer_t _tickAtFirstSlideOrLayerChange
Definition SlideEventHandler:455
unsigned int getNumSlides()
float _previousX
Definition SlideEventHandler:448
bool selectLayer(int layerNum)
bool getRequestReload() const
Definition SlideEventHandler:408
bool _firstTraversal
Definition SlideEventHandler:437
double getCurrentTimeDelayBetweenSlides() const
double getDuration(const osg::Node *node) const
bool selectSlide(int slideNum, int layerNum=FIRST_POSITION)
virtual bool handle(const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &)
Deprecated, Handle events, return true if handled, false otherwise.
int _activeSlide
Definition SlideEventHandler:432
float _timeDelayOnNewSlideWithMovies
Definition SlideEventHandler:458
bool _updateLightActive
Definition SlideEventHandler:446
osg::ref_ptr< CompileSlideCallback > _compileSlideCallback
Definition SlideEventHandler:465
int _activePresentation
Definition SlideEventHandler:429
int getActiveLayer() const
Definition SlideEventHandler:363
bool getLoopPresentation() const
Definition SlideEventHandler:399
void setLoopPresentation(bool loop)
Definition SlideEventHandler:398
int getActiveSlide() const
Definition SlideEventHandler:362
void releaseSlide(unsigned int slideNum)
osgViewer::Viewer * getViewer()
Definition SlideEventHandler:346
bool _releaseAndCompileOnEachNewSlide
Definition SlideEventHandler:452
~SlideEventHandler()
Definition SlideEventHandler:416
void forwardEventToDevices(osgGA::Event *event)
bool _hold
Definition SlideEventHandler:444
double getReferenceTime() const
Definition SlideEventHandler:410
osg::Node * getLayer(int slideNum, int layerNum)
bool getAutoSteppingActive() const
Definition SlideEventHandler:383
osg::observer_ptr< osg::Switch > _presentationSwitch
Definition SlideEventHandler:431
static SlideEventHandler * instance()
WhichPosition
Definition SlideEventHandler:352
@ FIRST_POSITION
Definition SlideEventHandler:353
@ LAST_POSITION
Definition SlideEventHandler:354
bool _autoSteppingActive
Definition SlideEventHandler:441
osg::observer_ptr< osgViewer::Viewer > _viewer
Definition SlideEventHandler:426
void compileSlide(unsigned int slideNum)
META_Object(osgPresentation, SlideEventHandler)
void updateAlpha(bool, bool, float x, float y)
float _previousY
Definition SlideEventHandler:448
void set(osg::Node *model)
bool _firstSlideOrLayerChange
Definition SlideEventHandler:454
void setReleaseAndCompileOnEachNewSlide(bool flag)
Definition SlideEventHandler:392
bool _requestReload
Definition SlideEventHandler:467
void setAutoSteppingActive(bool flag=true)
Definition SlideEventHandler:382
virtual bool checkNeedToDoFrame()
void setTimeDelayOnNewSlideWithMovies(float t)
Definition SlideEventHandler:395
double getTimeDelayBetweenSlides() const
Definition SlideEventHandler:386
virtual void getUsage(osg::ApplicationUsage &usage) const
Get the user interface usage of this event handler, i.e.
osg::observer_ptr< osg::Switch > _showSwitch
Definition SlideEventHandler:428
float getTimeDelayOnNewSlideWithMovies() const
Definition SlideEventHandler:396
ActiveOperators _activeOperators
Definition SlideEventHandler:463
bool _pause
Definition SlideEventHandler:443
double _previousTime
Definition SlideEventHandler:439
double _referenceTime
Definition SlideEventHandler:438
bool home(const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &aa)
osg::observer_ptr< osg::Switch > _slideSwitch
Definition SlideEventHandler:434
bool previousLayerOrSlide()
bool _cursorOn
Definition SlideEventHandler:450
osg::Switch * getPresentationSwitch()
Definition SlideEventHandler:348
void setTimeDelayBetweenSlides(double dt)
Definition SlideEventHandler:385
Viewer holds a single view on to a single scene.
Definition Viewer:28
#define OSGPRESENTATION_EXPORT
Definition Export:38