14#ifndef SLIDESHOWCONSTRUCTOR
15#define SLIDESHOWCONSTRUCTOR
77 getOrCreateLayerAttributes(node)->setDuration(duration);
82 getOrCreateLayerAttributes(node)->addKey(kp);
87 getOrCreateLayerAttributes(node)->addRunString(runString);
92 getOrCreateLayerAttributes(node)->setJump(jumpData);
97 if (!_presentationSwitch) createPresentation();
98 if (_presentationSwitch.valid()) addKey( _presentationSwitch.get(), kp);
103 if (!_presentationSwitch) createPresentation();
104 if (_presentationSwitch.valid()) addRunString( _presentationSwitch.get(),runString);
109 if (!_slide) addSlide();
110 if (_slide.valid()) addKey(_slide.get(),kp);
115 if (!_slide) addSlide();
116 if (_slide.valid()) addRunString(_slide.get(),runString);
121 if (!_slide) addSlide();
122 if (_slide.valid()) setJump(_slide.get(),jumpData);
127 if (!_currentLayer) addLayer();
128 if (_currentLayer.valid()) addKey(_currentLayer.get(),kp);
133 if (!_currentLayer) addLayer();
134 if (_currentLayer.valid()) addRunString(_currentLayer.get(),runString);
140 if (!_currentLayer) addLayer();
141 if (_currentLayer.valid()) setJump(_currentLayer.get(),jumpData);
150 position(0.0f,1.0f,0.0f),
152 scale(1.0f,1.0f,1.0f),
153 rotate(0.0f,0.0f,0.0f,1.0f),
154 rotation(0.0f,0.0f,1.0f,0.0f),
155 absolute_path(false),
157 path_time_offset(0.0),
158 path_time_multiplier(1.0f),
159 path_loop_mode(
osg::AnimationPath::NO_LOOPING),
160 animation_material_time_offset(0.0),
161 animation_material_time_multiplier(1.0),
170 return (position[0]!=0.0f || position[1]!=1.0f || position[2]!=1.0f);
175 return (scale[0]!=1.0f || scale[1]!=1.0f || scale[2]!=1.0f);
180 return rotate[0]!=0.0f;
185 return (rotation[0]!=0.0f || !path.empty());
190 return !animation_material_filename.empty() || !fade.empty();
229 region(0.0f,0.0f,1.0f,1.0f),
230 region_in_pixel_coords(false),
231 texcoord_rotate(0.0f),
232 loopingMode(
osg::ImageStream::NO_LOOPING),
234 backgroundColor(1.0f,1.0f,1.0f,1.0f),
237 imageSequence(false),
238 imageSequencePagingMode(
osg::ImageSequence::PAGE_AND_DISCARD_USED_IMAGES),
239 imageSequenceInteractionMode(PLAY_AUTOMATICALLY_LIKE_MOVIE),
240 blendingHint(USE_IMAGE_ALPHA),
292 shadingModel(
osgVolume::VolumeSettings::Standard),
293 useTabbedDragger(false),
294 useTrackballDragger(false),
295 region_in_pixel_coords(false),
298 exteriorTransparencyFactorValue(),
299 sampleDensityValue(),
301 colorSpaceOperation(
osg::NO_COLOR_SPACE_OPERATION),
302 colorModulate(1.0f,1.0f,1.0f,1.0f),
303 technique(
osgVolume::VolumeSettings::RayTraced)
305 hullPositionData.position =
osg::Vec3(0.0,0.0,0.0);
338 font(
"fonts/arial.ttf"),
339 layout(
osgText::Text::LEFT_TO_RIGHT),
340 alignment(
osgText::Text::LEFT_BASE_LINE),
341 axisAlignment(
osgText::Text::XZ_PLANE),
342 characterSizeMode(
osgText::Text::OBJECT_COORDS),
343 characterSize(0.04f),
346 color(1.0f,1.0f,1.0f,1.0f) {}
365 typedef std::pair<ScriptCallbackType, std::string>
ScriptPair;
399 void addScript(
const std::string& name,
const std::string& language,
const std::string& script);
408 _titlePositionData = positionData;
409 _titleFontData = fontData;
420 void addLayer(
bool inheritPreviousLayers=
true,
bool defineAsBaseLayer=
false);
548 #if !defined(OSG_GLES2_AVAILABLE)
607 typedef std::map< std::string, osg::ref_ptr<osg::Script> >
ScriptMap;
Definition AnimationMaterial:33
LoopMode
Definition AnimationMaterial:56
Definition PropertyManager:133
Definition SlideShowConstructor:65
unsigned int _leftEyeMask
Definition SlideShowConstructor:564
osg::ScriptEngine * getOrCreateScriptEngine(const std::string &language)
void addStereoImagePair(const std::string &filenameLeft, const ImageData &imageDataLeft, const std::string &filenameRight, const ImageData &imageDataRight, const PositionData &positionData, const ScriptData &scriptData)
PositionData & getImagePositionDataDefault()
Definition SlideShowConstructor:445
osg::ref_ptr< FilePathData > _filePathData
Definition SlideShowConstructor:621
void setAutoSteppingActive(bool flag=true)
Definition SlideShowConstructor:518
double _slideHeight
Definition SlideShowConstructor:562
void layerClickToDoOperation(const std::string &command, Operation operation, const JumpData &jumpData=JumpData())
EventHandlerList _currentEventCallbacksToApply
Definition SlideShowConstructor:626
PositionData & getModelPositionData()
Definition SlideShowConstructor:448
void addScriptsToNode(const ScriptData &scriptData, osg::Node *node)
LayerStack _layerStack
Definition SlideShowConstructor:619
FontData _titleFontData
Definition SlideShowConstructor:570
void translateTextCursor(const osg::Vec3 &delta)
Definition SlideShowConstructor:441
void addLayerRunString(const std::string &runString)
Definition SlideShowConstructor:131
void layerClickToDoOperation(Operation operation, const JumpData &jumpData=JumpData())
void addSlideRunString(const std::string &runString)
Definition SlideShowConstructor:113
std::string _slideTitle
Definition SlideShowConstructor:612
void addSlideKey(const KeyPosition &kp)
Definition SlideShowConstructor:107
HUDSettings * getHUDSettings()
Definition SlideShowConstructor:522
std::pair< ScriptCallbackType, std::string > ScriptPair
Definition SlideShowConstructor:365
void addParagraph(const std::string ¶graph, PositionData &positionData, FontData &fontData, const ScriptData &scriptData)
void pushCurrentLayer(osg::Group *newLayerGroup)
osg::StateSet * createTransformStateSet()
Definition SlideShowConstructor:545
PositionData & getTitlePositionData()
Definition SlideShowConstructor:431
osg::Group * getCurrentLayer()
Definition SlideShowConstructor:513
void layerClickEventOperation(const KeyPosition &keyPos, const JumpData &jumpData=JumpData())
void setBackgroundColor(const osg::Vec4 &color, bool updateClearNode)
void addToCurrentLayer(osg::Node *subgraph)
double _presentationDuration
Definition SlideShowConstructor:596
PositionData _imagePositionDataDefault
Definition SlideShowConstructor:585
FontData & getTextFontDataDefault()
Definition SlideShowConstructor:436
osg::ref_ptr< osg::Image > readImage(const std::string &filename, const ImageData &imageData)
double _slideDistance
Definition SlideShowConstructor:563
void addLayerKey(const KeyPosition &kp)
Definition SlideShowConstructor:125
std::string _slideBackgroundImageFileName
Definition SlideShowConstructor:613
void addPDF(const std::string &filename, const PositionData &positionData, const ImageData &imageData, const ScriptData &scriptData)
void addVolume(const std::string &filename, const PositionData &positionData, const VolumeData &volumeData, const ScriptData &scriptData)
const osg::Vec4 & getBackgroundColor() const
Definition SlideShowConstructor:382
PositionData _textPositionDataDefault
Definition SlideShowConstructor:581
bool getAutoSteppingActive() const
Definition SlideShowConstructor:519
osg::Group * getPresentation()
Definition SlideShowConstructor:504
PositionData _titlePositionDataDefault
Definition SlideShowConstructor:574
PositionData & getModelPositionDataDefault()
Definition SlideShowConstructor:449
osg::ref_ptr< osg::Switch > _slide
Definition SlideShowConstructor:611
void addKey(osg::Node *node, const KeyPosition &kp)
Definition SlideShowConstructor:80
PositionData & getTextPositionData()
Definition SlideShowConstructor:438
void setUpMovieVolume(osg::Node *subgraph, osg::ImageStream *imageStream, const ImageData &imageData)
PositionData _modelPositionData
Definition SlideShowConstructor:588
FontData & getTitleFontData()
Definition SlideShowConstructor:428
void setPresentationName(const std::string &name)
PositionData & getImagePositionData()
Definition SlideShowConstructor:444
osg::Node * decorateSubgraphForPosition(osg::Node *node, PositionData &positionData)
const HUDSettings * getHUDSettings() const
Definition SlideShowConstructor:523
void addBrowser(const std::string &filename, const PositionData &positionData, const ImageData &imageData, const ScriptData &scriptData)
PositionData & getTextPositionDataDefault()
Definition SlideShowConstructor:439
osg::Vec3 _eyeOrigin
Definition SlideShowConstructor:560
FontData _textFontDataDefault
Definition SlideShowConstructor:578
std::map< std::string, osg::ref_ptr< osg::ScriptEngine > > ScriptEngineMap
Definition SlideShowConstructor:604
FontData _textFontData
Definition SlideShowConstructor:577
osg::Group * takePresentation()
Definition SlideShowConstructor:502
void addScript(const std::string &name, const std::string &language, const std::string &script)
osg::ref_ptr< HUDSettings > _hudSettings
Definition SlideShowConstructor:567
osg::Switch * getCurrentSlide()
Definition SlideShowConstructor:508
osg::ref_ptr< osg::Image > addInteractiveImage(const std::string &filename, const PositionData &positionData, const ImageData &imageData, const ScriptData &scriptData)
osg::Vec3 computePositionInModelCoords(const PositionData &positionData) const
osg::AnimationPathCallback * getAnimationPathCallback(const PositionData &positionData)
void recordOptionsFilePath(const osgDB::Options *options)
CoordinateFrame
Definition SlideShowConstructor:69
@ MODEL
Definition SlideShowConstructor:69
std::string _presentationName
Definition SlideShowConstructor:595
PositionData _imagePositionData
Definition SlideShowConstructor:584
osg::Vec3 convertModelToSlide(const osg::Vec3 &position) const
void setDuration(osg::Node *node, double duration)
Definition SlideShowConstructor:75
FontData _titleFontDataDefault
Definition SlideShowConstructor:571
void addImage(const std::string &filename, const PositionData &positionData, const ImageData &imageData, const ScriptData &scriptData)
void addPresentationRunString(const std::string &runString)
Definition SlideShowConstructor:101
void findImageStreamsAndAddCallbacks(osg::Node *node)
void setSlideJump(const JumpData &jumpData)
Definition SlideShowConstructor:119
void addScriptCallback(PresentationContext presentationContext, ScriptCallbackType scriptCallbackType, const std::string &functionName)
unsigned int _rightEyeMask
Definition SlideShowConstructor:565
osg::Vec3 _slideOrigin
Definition SlideShowConstructor:559
void setSlideDuration(double duration)
void setLayerDuration(double duration)
void setPresentationDuration(double duration)
void addEventHandler(PresentationContext presentationContext, osg::ref_ptr< osgGA::GUIEventHandler > handler)
ScriptCallbackType
Definition SlideShowConstructor:360
@ UPDATE_SCRIPT
Definition SlideShowConstructor:361
PositionData & getTitlePositionDataDefault()
Definition SlideShowConstructor:432
void setJump(osg::Node *node, const JumpData &jumpData)
Definition SlideShowConstructor:90
void addPropertyAnimation(PresentationContext presentationContext, PropertyAnimation *propertyAnimation)
FontData & getTitleFontDataDefault()
Definition SlideShowConstructor:429
void setPresentationAspectRatio(float aspectRatio)
void setSlideTitle(const std::string &name, PositionData &positionData, FontData &fontData)
Definition SlideShowConstructor:406
void createPresentation()
osg::ref_ptr< osg::Switch > _presentationSwitch
Definition SlideShowConstructor:602
FontData & getTextFontData()
Definition SlideShowConstructor:435
void addGraph(const std::string &filename, const PositionData &positionData, const ImageData &imageData, const ScriptData &scriptData)
double _slideWidth
Definition SlideShowConstructor:561
osg::ref_ptr< osg::ClearNode > _slideClearNode
Definition SlideShowConstructor:610
osg::Geometry * createTexturedQuadGeometry(const osg::Vec3 &pos, const osg::Vec4 &rotation, float width, float height, osg::Image *image, bool &usedTextureRectangle)
std::list< osg::ref_ptr< osgGA::GUIEventHandler > > EventHandlerList
Definition SlideShowConstructor:625
bool _loopPresentation
Definition SlideShowConstructor:592
void updatePositionFromInModelCoords(const osg::Vec3 &vertex, PositionData &positionData) const
osg::ref_ptr< osgDB::Options > _options
Definition SlideShowConstructor:557
PositionData _textPositionData
Definition SlideShowConstructor:580
osg::ref_ptr< osg::Group > _root
Definition SlideShowConstructor:601
bool getLoopPresentation() const
Definition SlideShowConstructor:516
void addModel(const std::string &filename, const PositionData &positionData, const ModelData &modelData, const ScriptData &scriptData)
osg::Vec3 convertSlideToModel(const osg::Vec3 &position) const
void setUpVolumeScalarProperty(osgVolume::VolumeTile *tile, osgVolume::ScalarProperty *property, const std::string &source)
const osg::Vec4 & getTextColor() const
Definition SlideShowConstructor:385
osg::ref_ptr< osgPresentation::PropertyEventCallback > _propertyEventCallback
Definition SlideShowConstructor:599
std::vector< osg::ref_ptr< osg::Group > > LayerStack
Definition SlideShowConstructor:618
void addModel(osg::Node *subgraph, const PositionData &positionData, const ModelData &modelData, const ScriptData &scriptData)
osg::ref_ptr< osg::Group > _currentLayer
Definition SlideShowConstructor:617
void addVNC(const std::string &filename, const PositionData &positionData, const ImageData &imageData, const std::string &password, const ScriptData &scriptData)
bool attachTexMat(osg::StateSet *stateset, const ImageData &imageData, float s, float t, bool textureRectangle)
void keyEventOperation(PresentationContext presentationContext, int key, const KeyPosition &keyPos, const JumpData &jumpData=JumpData())
void addScriptToNode(ScriptCallbackType scriptCallbackType, const std::string &name, osg::Node *node)
void addLayer(bool inheritPreviousLayers=true, bool defineAsBaseLayer=false)
void setLayerJump(const JumpData &jumpData)
Definition SlideShowConstructor:138
osg::ref_ptr< osg::Group > _layerToApplyEventCallbackTo
Definition SlideShowConstructor:623
PositionData _modelPositionDataDefault
Definition SlideShowConstructor:589
void setPresentationAspectRatio(const std::string &str)
PositionData _titlePositionData
Definition SlideShowConstructor:573
void addRunString(osg::Node *node, const std::string &runString)
Definition SlideShowConstructor:85
void setHUDSettings(HUDSettings *hudSettings)
Definition SlideShowConstructor:521
void selectLayer(int layerNum)
osg::Vec4 _backgroundColor
Definition SlideShowConstructor:594
LayerAttributes * getOrCreateLayerAttributes(osg::Node *node)
void keyToDoOperation(PresentationContext presentationContext, int key, const std::string &command, Operation operation, const JumpData &jumpData=JumpData())
void keyToDoOperation(PresentationContext presentationContext, int key, Operation operation, const JumpData &jumpData=JumpData())
void setTextColor(const osg::Vec4 &color)
osg::Node * attachMaterialAnimation(osg::Node *model, const PositionData &positionData)
void selectSlide(int slideNum)
void setLoopPresentation(bool loop)
Definition SlideShowConstructor:515
void setSlideBackground(const std::string &name)
Definition SlideShowConstructor:414
void addBullet(const std::string &bullet, PositionData &positionData, FontData &fontData, const ScriptData &scriptData)
SlideShowConstructor(osgDB::Options *options)
void setSlideBackgrondHUD(bool hud)
Definition SlideShowConstructor:413
ScriptMap _scripts
Definition SlideShowConstructor:608
void addPresentationKey(const KeyPosition &kp)
Definition SlideShowConstructor:95
osg::Node * decorateSubgraphForPositionAndAnimation(osg::Node *node, const PositionData &positionData)
osg::Switch * getPresentationSwitch()
Definition SlideShowConstructor:506
void addScriptEngine(const std::string &scriptEngineName)
std::string findFileAndRecordPath(const std::string &filename)
void addScriptFile(const std::string &name, const std::string &filename)
osg::ref_ptr< osg::Group > _previousLayer
Definition SlideShowConstructor:616
osg::ref_ptr< osgPresentation::PropertyManager > _propertyManager
Definition SlideShowConstructor:598
ScriptEngineMap _scriptEngines
Definition SlideShowConstructor:605
bool _slideBackgroundAsHUD
Definition SlideShowConstructor:614
std::map< std::string, osg::ref_ptr< osg::Script > > ScriptMap
Definition SlideShowConstructor:607
PresentationContext
Definition SlideShowConstructor:452
@ CURRENT_PRESENTATION
Definition SlideShowConstructor:453
@ CURRENT_SLIDE
Definition SlideShowConstructor:454
bool _autoSteppingActive
Definition SlideShowConstructor:593
AlignmentType
Definition TextBase:169
Layout
Definition TextBase:220
AxisAlignment
Definition TextBase:199
CharacterSizeMode
Definition TextBase:119
ShadingModel
Definition VolumeSettings:50
Technique
Definition VolumeSettings:40
Definition AnimationPath:218
LoopMode
Definition AnimationPath:175
Mode
Definition ImageSequence:73
Definition ImageStream:29
LoopingMode
Definition ImageStream:67
Definition NodeVisitor:82
Definition osg/ScriptEngine:101
@ ON
Definition StateAttribute:103
void setMode(StateAttribute::GLMode mode, StateAttribute::GLModeValue value)
Definition AnimationMaterial:26
Operation
Operations related to click to run/load/key events.
Definition SlideEventHandler:36
author: Julien Valentin 2017 (mp3butcher@hotmail.com)
Definition AlphaFunc:19
ColorSpaceOperation
Definition ImageUtils:231
Vec3f Vec3
Definition Vec3:21
#define OSGPRESENTATION_EXPORT
Definition osgPresentation/Export:38
Definition SlideEventHandler:46
Definition SlideEventHandler:161
Definition SlideEventHandler:220
Definition SlideShowConstructor:336
osgText::Text::Layout layout
Definition SlideShowConstructor:349
std::string font
Definition SlideShowConstructor:348
float maximumHeight
Definition SlideShowConstructor:354
osg::Vec4 color
Definition SlideShowConstructor:356
osgText::Text::AlignmentType alignment
Definition SlideShowConstructor:350
osgText::Text::AxisAlignment axisAlignment
Definition SlideShowConstructor:351
float characterSize
Definition SlideShowConstructor:353
FontData()
Definition SlideShowConstructor:337
float maximumWidth
Definition SlideShowConstructor:355
osgText::Text::CharacterSizeMode characterSizeMode
Definition SlideShowConstructor:352
Definition SlideShowConstructor:225
osg::Vec4 region
Definition SlideShowConstructor:250
double duration
Definition SlideShowConstructor:257
float texcoord_rotate
Definition SlideShowConstructor:252
BlendingHint blendingHint
Definition SlideShowConstructor:277
int page
Definition SlideShowConstructor:254
float width
Definition SlideShowConstructor:248
ImageSequenceInteractionMode
Definition SlideShowConstructor:263
@ USE_MOUSE_X_POSITION
Definition SlideShowConstructor:265
@ PLAY_AUTOMATICALLY_LIKE_MOVIE
Definition SlideShowConstructor:264
bool region_in_pixel_coords
Definition SlideShowConstructor:251
std::string options
Definition SlideShowConstructor:247
ImageSequenceInteractionMode imageSequenceInteractionMode
Definition SlideShowConstructor:268
BlendingHint
Definition SlideShowConstructor:271
@ OFF
Definition SlideShowConstructor:273
@ USE_IMAGE_ALPHA
Definition SlideShowConstructor:272
double delayTime
Definition SlideShowConstructor:279
float height
Definition SlideShowConstructor:249
double startTime
Definition SlideShowConstructor:280
std::string volume
Definition SlideShowConstructor:282
double fps
Definition SlideShowConstructor:256
osg::Vec4 backgroundColor
Definition SlideShowConstructor:255
osg::ImageStream::LoopingMode loopingMode
Definition SlideShowConstructor:253
bool imageSequence
Definition SlideShowConstructor:259
ImageData()
Definition SlideShowConstructor:226
double stopTime
Definition SlideShowConstructor:281
osg::ImageSequence::Mode imageSequencePagingMode
Definition SlideShowConstructor:260
Definition SlideShowConstructor:216
std::string effect
Definition SlideShowConstructor:220
std::string region
Definition SlideShowConstructor:219
ModelData()
Definition SlideShowConstructor:217
std::string options
Definition SlideShowConstructor:221
Definition SlideShowConstructor:147
bool requiresScale() const
Definition SlideShowConstructor:173
osg::Vec3 scale
Definition SlideShowConstructor:195
bool inverse_path
Definition SlideShowConstructor:200
double animation_material_time_offset
Definition SlideShowConstructor:205
bool requiresPosition() const
Definition SlideShowConstructor:168
bool requiresMaterialAnimation() const
Definition SlideShowConstructor:188
bool requiresAnimation() const
Definition SlideShowConstructor:183
osg::Vec4 rotation
Definition SlideShowConstructor:197
AnimationMaterial::LoopMode animation_material_loop_mode
Definition SlideShowConstructor:207
bool autoScale
Definition SlideShowConstructor:211
bool hud
Definition SlideShowConstructor:212
CoordinateFrame frame
Definition SlideShowConstructor:193
bool requiresRotate() const
Definition SlideShowConstructor:178
PositionData()
Definition SlideShowConstructor:148
osg::Vec3 position
Definition SlideShowConstructor:194
osg::AnimationPath::LoopMode path_loop_mode
Definition SlideShowConstructor:203
bool autoRotate
Definition SlideShowConstructor:210
std::string fade
Definition SlideShowConstructor:209
bool absolute_path
Definition SlideShowConstructor:199
std::string animation_name
Definition SlideShowConstructor:198
double animation_material_time_multiplier
Definition SlideShowConstructor:206
double path_time_multiplier
Definition SlideShowConstructor:202
double path_time_offset
Definition SlideShowConstructor:201
std::string animation_material_filename
Definition SlideShowConstructor:208
osg::Vec4 rotate
Definition SlideShowConstructor:196
std::string path
Definition SlideShowConstructor:204
Definition SlideShowConstructor:368
Scripts scripts
Definition SlideShowConstructor:372
bool hasScripts() const
Definition SlideShowConstructor:374
ScriptData()
Definition SlideShowConstructor:369
std::vector< ScriptPair > Scripts
Definition SlideShowConstructor:371
Definition SlideShowConstructor:287
std::string alphaValue
Definition SlideShowConstructor:318
osgVolume::VolumeSettings::Technique Technique
Definition SlideShowConstructor:289
osgVolume::VolumeSettings::ShadingModel ShadingModel
Definition SlideShowConstructor:288
bool region_in_pixel_coords
Definition SlideShowConstructor:317
osg::ref_ptr< osg::TransferFunction1D > transferFunction
Definition SlideShowConstructor:313
std::string cutoffValue
Definition SlideShowConstructor:319
osg::Vec4 colorModulate
Definition SlideShowConstructor:328
PositionData hullPositionData
Definition SlideShowConstructor:331
bool useTabbedDragger
Definition SlideShowConstructor:314
std::string region
Definition SlideShowConstructor:316
std::string exteriorTransparencyFactorValue
Definition SlideShowConstructor:320
std::string sampleRatioWhenMovingValue
Definition SlideShowConstructor:325
std::string options
Definition SlideShowConstructor:311
bool useTrackballDragger
Definition SlideShowConstructor:315
std::string hull
Definition SlideShowConstructor:330
std::string sampleDensityValue
Definition SlideShowConstructor:321
osg::ref_ptr< osgVolume::VolumeSettings > volumeSettings
Definition SlideShowConstructor:309
osg::ColorSpaceOperation colorSpaceOperation
Definition SlideShowConstructor:327
ShadingModel shadingModel
Definition SlideShowConstructor:312
VolumeData()
Definition SlideShowConstructor:291
std::string sampleDensityWhenMovingValue
Definition SlideShowConstructor:322
std::string sampleRatioValue
Definition SlideShowConstructor:324
Technique technique
Definition SlideShowConstructor:329