From 820ba45fab2b5f90200cda75c6832ff5c1f5f005 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Sun, 1 Sep 2013 17:24:35 +0000 Subject: [PATCH] Added Audio, Image, Movie, Model and Volume class to osgPresentation. --- include/osgPresentation/Audio | 41 +++++++++++++++++++ include/osgPresentation/Element | 2 +- include/osgPresentation/Image | 41 +++++++++++++++++++ include/osgPresentation/Layer | 2 +- include/osgPresentation/Model | 41 +++++++++++++++++++ include/osgPresentation/Movie | 41 +++++++++++++++++++ include/osgPresentation/Presentation | 2 +- include/osgPresentation/Slide | 2 +- include/osgPresentation/Text | 41 +++++++++++++++++++ include/osgPresentation/Volume | 41 +++++++++++++++++++ src/osgPresentation/CMakeLists.txt | 12 +++++- .../serializers/osgPresentation/Audio.cpp | 11 +++++ .../serializers/osgPresentation/Image.cpp | 11 +++++ .../serializers/osgPresentation/Model.cpp | 11 +++++ .../serializers/osgPresentation/Movie.cpp | 11 +++++ .../serializers/osgPresentation/Text.cpp | 11 +++++ .../serializers/osgPresentation/Volume.cpp | 11 +++++ 17 files changed, 326 insertions(+), 6 deletions(-) create mode 100644 include/osgPresentation/Audio create mode 100644 include/osgPresentation/Image create mode 100644 include/osgPresentation/Model create mode 100644 include/osgPresentation/Movie create mode 100644 include/osgPresentation/Text create mode 100644 include/osgPresentation/Volume create mode 100644 src/osgWrappers/serializers/osgPresentation/Audio.cpp create mode 100644 src/osgWrappers/serializers/osgPresentation/Image.cpp create mode 100644 src/osgWrappers/serializers/osgPresentation/Model.cpp create mode 100644 src/osgWrappers/serializers/osgPresentation/Movie.cpp create mode 100644 src/osgWrappers/serializers/osgPresentation/Text.cpp create mode 100644 src/osgWrappers/serializers/osgPresentation/Volume.cpp diff --git a/include/osgPresentation/Audio b/include/osgPresentation/Audio new file mode 100644 index 000000000..a4765e008 --- /dev/null +++ b/include/osgPresentation/Audio @@ -0,0 +1,41 @@ +/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield + * + * This library is open source and may be redistributed and/or modified under + * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or + * (at your option) any later version. The full license is in LICENSE file + * included with this distribution, and on the openscenegraph.org website. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * OpenSceneGraph Public License for more details. +*/ + +#ifndef OSGPRESENTATION_AUDIO +#define OSGPRESENTATION_AUDIO 1 + +#include + +namespace osgPresentation { + +/** osgPresentation::Audio +*/ +class OSGPRESENTATION_EXPORT Audio : public osgPresentation::Element +{ + public : + + Audio() {} + + /** Copy constructor using CopyOp to manage deep vs shallow copy. */ + Audio(const Audio& audio,const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY) : osgPresentation::Element(audio,copyop) {} + + META_Node(osgPresentation, Audio); + +protected : + + virtual ~Audio() {} +}; + +} + +#endif diff --git a/include/osgPresentation/Element b/include/osgPresentation/Element index dad047b6b..39cead2a4 100644 --- a/include/osgPresentation/Element +++ b/include/osgPresentation/Element @@ -18,7 +18,7 @@ namespace osgPresentation { -/** osgPresentation::Group +/** osgPresentation::Element */ class OSGPRESENTATION_EXPORT Element : public osgPresentation::Group { diff --git a/include/osgPresentation/Image b/include/osgPresentation/Image new file mode 100644 index 000000000..eb7b0df8f --- /dev/null +++ b/include/osgPresentation/Image @@ -0,0 +1,41 @@ +/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield + * + * This library is open source and may be redistributed and/or modified under + * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or + * (at your option) any later version. The full license is in LICENSE file + * included with this distribution, and on the openscenegraph.org website. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * OpenSceneGraph Public License for more details. +*/ + +#ifndef OSGPRESENTATION_IMAGE +#define OSGPRESENTATION_IMAGE 1 + +#include + +namespace osgPresentation { + +/** osgPresentation::Image +*/ +class OSGPRESENTATION_EXPORT Image : public osgPresentation::Element +{ + public : + + Image() {} + + /** Copy constructor using CopyOp to manage deep vs shallow copy. */ + Image(const Image& image,const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY) : osgPresentation::Element(image,copyop) {} + + META_Node(osgPresentation, Image); + +protected : + + virtual ~Image() {} +}; + +} + +#endif diff --git a/include/osgPresentation/Layer b/include/osgPresentation/Layer index b1c35a1ee..394461ae6 100644 --- a/include/osgPresentation/Layer +++ b/include/osgPresentation/Layer @@ -18,7 +18,7 @@ namespace osgPresentation { -/** osgPresentation::Group +/** osgPresentation::Layer */ class OSGPRESENTATION_EXPORT Layer : public osgPresentation::Group { diff --git a/include/osgPresentation/Model b/include/osgPresentation/Model new file mode 100644 index 000000000..a638d1a68 --- /dev/null +++ b/include/osgPresentation/Model @@ -0,0 +1,41 @@ +/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield + * + * This library is open source and may be redistributed and/or modified under + * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or + * (at your option) any later version. The full license is in LICENSE file + * included with this distribution, and on the openscenegraph.org website. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * OpenSceneGraph Public License for more details. +*/ + +#ifndef OSGPRESENTATION_MODEL +#define OSGPRESENTATION_MODEL 1 + +#include + +namespace osgPresentation { + +/** osgPresentation::Model +*/ +class OSGPRESENTATION_EXPORT Model : public osgPresentation::Element +{ + public : + + Model() {} + + /** Copy constructor using CopyOp to manage deep vs shallow copy. */ + Model(const Model& model,const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY) : osgPresentation::Element(model,copyop) {} + + META_Node(osgPresentation, Model); + +protected : + + virtual ~Model() {} +}; + +} + +#endif diff --git a/include/osgPresentation/Movie b/include/osgPresentation/Movie new file mode 100644 index 000000000..59578a216 --- /dev/null +++ b/include/osgPresentation/Movie @@ -0,0 +1,41 @@ +/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield + * + * This library is open source and may be redistributed and/or modified under + * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or + * (at your option) any later version. The full license is in LICENSE file + * included with this distribution, and on the openscenegraph.org website. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * OpenSceneGraph Public License for more details. +*/ + +#ifndef OSGPRESENTATION_MOVIE +#define OSGPRESENTATION_MOVIE 1 + +#include + +namespace osgPresentation { + +/** osgPresentation::Movie +*/ +class OSGPRESENTATION_EXPORT Movie : public osgPresentation::Element +{ + public : + + Movie() {} + + /** Copy constructor using CopyOp to manage deep vs shallow copy. */ + Movie(const Movie& movie,const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY) : osgPresentation::Element(movie,copyop) {} + + META_Node(osgPresentation, Movie); + +protected : + + virtual ~Movie() {} +}; + +} + +#endif diff --git a/include/osgPresentation/Presentation b/include/osgPresentation/Presentation index 4746e3e8f..28e991904 100644 --- a/include/osgPresentation/Presentation +++ b/include/osgPresentation/Presentation @@ -18,7 +18,7 @@ namespace osgPresentation { -/** osgPresentation::Group +/** osgPresentation::Presentation */ class OSGPRESENTATION_EXPORT Presentation : public osgPresentation::Group { diff --git a/include/osgPresentation/Slide b/include/osgPresentation/Slide index cab80830d..6a35dc3cc 100644 --- a/include/osgPresentation/Slide +++ b/include/osgPresentation/Slide @@ -18,7 +18,7 @@ namespace osgPresentation { -/** osgPresentation::Group +/** osgPresentation::Slide */ class OSGPRESENTATION_EXPORT Slide : public osgPresentation::Group { diff --git a/include/osgPresentation/Text b/include/osgPresentation/Text new file mode 100644 index 000000000..239928bc4 --- /dev/null +++ b/include/osgPresentation/Text @@ -0,0 +1,41 @@ +/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield + * + * This library is open source and may be redistributed and/or modified under + * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or + * (at your option) any later version. The full license is in LICENSE file + * included with this distribution, and on the openscenegraph.org website. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * OpenSceneGraph Public License for more details. +*/ + +#ifndef OSGPRESENTATION_TEXT +#define OSGPRESENTATION_TEXT 1 + +#include + +namespace osgPresentation { + +/** osgPresentation::Text +*/ +class OSGPRESENTATION_EXPORT Text : public osgPresentation::Element +{ + public : + + Text() {} + + /** Copy constructor using CopyOp to manage deep vs shallow copy. */ + Text(const Text& text,const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY) : osgPresentation::Element(text,copyop) {} + + META_Node(osgPresentation, Text); + +protected : + + virtual ~Text() {} +}; + +} + +#endif diff --git a/include/osgPresentation/Volume b/include/osgPresentation/Volume new file mode 100644 index 000000000..ed1660309 --- /dev/null +++ b/include/osgPresentation/Volume @@ -0,0 +1,41 @@ +/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield + * + * This library is open source and may be redistributed and/or modified under + * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or + * (at your option) any later version. The full license is in LICENSE file + * included with this distribution, and on the openscenegraph.org website. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * OpenSceneGraph Public License for more details. +*/ + +#ifndef OSGPRESENTATION_VOLUME +#define OSGPRESENTATION_VOLUME 1 + +#include + +namespace osgPresentation { + +/** osgPresentation::Volume +*/ +class OSGPRESENTATION_EXPORT Volume : public osgPresentation::Element +{ + public : + + Volume() {} + + /** Copy constructor using CopyOp to manage deep vs shallow copy. */ + Volume(const Volume& volume,const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY) : osgPresentation::Element(volume,copyop) {} + + META_Node(osgPresentation, Volume); + +protected : + + virtual ~Volume() {} +}; + +} + +#endif diff --git a/src/osgPresentation/CMakeLists.txt b/src/osgPresentation/CMakeLists.txt index b9df8e61a..77a3f9a12 100644 --- a/src/osgPresentation/CMakeLists.txt +++ b/src/osgPresentation/CMakeLists.txt @@ -10,12 +10,20 @@ SET(HEADER_PATH ${OpenSceneGraph_SOURCE_DIR}/include/${LIB_NAME}) SET(TARGET_H ${HEADER_PATH}/Export ${HEADER_PATH}/Cursor + ${HEADER_PATH}/Group + ${HEADER_PATH}/Presentation ${HEADER_PATH}/Section ${HEADER_PATH}/Slide ${HEADER_PATH}/Layer + ${HEADER_PATH}/Element - ${HEADER_PATH}/Group + ${HEADER_PATH}/Text + ${HEADER_PATH}/Model + ${HEADER_PATH}/Volume + ${HEADER_PATH}/Image + ${HEADER_PATH}/Movie + ${HEADER_PATH}/Audio ${HEADER_PATH}/deprecated/AnimationMaterial ${HEADER_PATH}/deprecated/CompileSlideCallback @@ -30,7 +38,7 @@ SET(TARGET_H # FIXME: For OS X, need flag for Framework or dylib SET(TARGET_SRC Cursor.cpp - + deprecated/AnimationMaterial.cpp deprecated/CompileSlideCallback.cpp deprecated/PickEventHandler.cpp diff --git a/src/osgWrappers/serializers/osgPresentation/Audio.cpp b/src/osgWrappers/serializers/osgPresentation/Audio.cpp new file mode 100644 index 000000000..d8ab31a19 --- /dev/null +++ b/src/osgWrappers/serializers/osgPresentation/Audio.cpp @@ -0,0 +1,11 @@ +#include +#include +#include +#include + +REGISTER_OBJECT_WRAPPER( osgPresentation_Audio, + new osgPresentation::Audio, + osgPresentation::Audio, + "osg::Object osg::Node osg::Group osg::Transform osg::MatrixTransform osgPresentation::Group osgPresentation::Element osgPresentation::Audio" ) +{ +} diff --git a/src/osgWrappers/serializers/osgPresentation/Image.cpp b/src/osgWrappers/serializers/osgPresentation/Image.cpp new file mode 100644 index 000000000..d45bf3ccc --- /dev/null +++ b/src/osgWrappers/serializers/osgPresentation/Image.cpp @@ -0,0 +1,11 @@ +#include +#include +#include +#include + +REGISTER_OBJECT_WRAPPER( osgPresentation_Image, + new osgPresentation::Image, + osgPresentation::Image, + "osg::Object osg::Node osg::Group osg::Transform osg::MatrixTransform osgPresentation::Group osgPresentation::Element osgPresentation::Image" ) +{ +} diff --git a/src/osgWrappers/serializers/osgPresentation/Model.cpp b/src/osgWrappers/serializers/osgPresentation/Model.cpp new file mode 100644 index 000000000..a328855bd --- /dev/null +++ b/src/osgWrappers/serializers/osgPresentation/Model.cpp @@ -0,0 +1,11 @@ +#include +#include +#include +#include + +REGISTER_OBJECT_WRAPPER( osgPresentation_Model, + new osgPresentation::Model, + osgPresentation::Model, + "osg::Object osg::Node osg::Group osg::Transform osg::MatrixTransform osgPresentation::Group osgPresentation::Element osgPresentation::Model" ) +{ +} diff --git a/src/osgWrappers/serializers/osgPresentation/Movie.cpp b/src/osgWrappers/serializers/osgPresentation/Movie.cpp new file mode 100644 index 000000000..bfec9a431 --- /dev/null +++ b/src/osgWrappers/serializers/osgPresentation/Movie.cpp @@ -0,0 +1,11 @@ +#include +#include +#include +#include + +REGISTER_OBJECT_WRAPPER( osgPresentation_Movie, + new osgPresentation::Movie, + osgPresentation::Movie, + "osg::Object osg::Node osg::Group osg::Transform osg::MatrixTransform osgPresentation::Group osgPresentation::Element osgPresentation::Movie" ) +{ +} diff --git a/src/osgWrappers/serializers/osgPresentation/Text.cpp b/src/osgWrappers/serializers/osgPresentation/Text.cpp new file mode 100644 index 000000000..dc3057b6b --- /dev/null +++ b/src/osgWrappers/serializers/osgPresentation/Text.cpp @@ -0,0 +1,11 @@ +#include +#include +#include +#include + +REGISTER_OBJECT_WRAPPER( osgPresentation_Text, + new osgPresentation::Text, + osgPresentation::Text, + "osg::Object osg::Node osg::Group osg::Transform osg::MatrixTransform osgPresentation::Group osgPresentation::Element osgPresentation::Text" ) +{ +} diff --git a/src/osgWrappers/serializers/osgPresentation/Volume.cpp b/src/osgWrappers/serializers/osgPresentation/Volume.cpp new file mode 100644 index 000000000..15343b7e8 --- /dev/null +++ b/src/osgWrappers/serializers/osgPresentation/Volume.cpp @@ -0,0 +1,11 @@ +#include +#include +#include +#include + +REGISTER_OBJECT_WRAPPER( osgPresentation_Volume, + new osgPresentation::Volume, + osgPresentation::Volume, + "osg::Object osg::Node osg::Group osg::Transform osg::MatrixTransform osgPresentation::Group osgPresentation::Element osgPresentation::Volume" ) +{ +}