René Molenaar
48dbd61632
Fixed VisualStudio build
2016-10-05 16:31:23 +01:00
Robert Osfield
c753a99a38
Added ability to assign callbacks from lua scripts
2016-07-06 11:36:25 +01:00
Robert Osfield
7635f1774f
Added missing Plane and Quat handling
2016-07-05 07:41:23 +01:00
Robert Osfield
1fe2d6d31f
Added templte methods and implementations for Vec2,3,4 for b,ub,s,us,i and ui.
2016-07-04 13:37:29 +01:00
Robert Osfield
2ebe4813d6
Replaced seperate implementations with template implementations
2016-07-04 11:02:58 +01:00
Robert Osfield
6870c195d0
Replaced seperate getValue(Vec*) implementations with template based implementation
2016-07-04 10:53:06 +01:00
Robert Osfield
55e4d567c4
Added ValueObject pushValue handling for Vec2*, Vec3*, Vec4 for b,ub,s,us,i and ui.
2016-07-04 10:34:03 +01:00
Robert Osfield
9e0c46d55f
Added Vec*b, Vec*s, Vec*i getValue(..) implementations
2016-07-04 10:14:47 +01:00
Robert Osfield
bc7bd7da9d
Replaced pushVec(Vec2f etc.) implementations with template implementations.
2016-07-04 10:11:34 +01:00
Robert Osfield
41ee3104ee
Removed dead code
2016-06-27 15:59:42 +01:00
Robert Osfield
d28e7588fa
Added handling of return values
2016-06-27 15:59:04 +01:00
Robert Osfield
e64e70870d
Changed the pointer arithmetic to be more explict and readable.
2016-06-21 11:45:19 +01:00
Robert Osfield
51b246d63a
Fixed COVERITY reported overflow defect.
2016-06-20 19:06:01 +01:00
Robert Osfield
ae98593403
Fixed unused parameter warning.
2016-06-08 10:59:55 +01:00
Robert Osfield
b85358b38a
Added disabling of the C4702 as changing the code would introduce it's own warning.
2016-06-06 14:28:41 +01:00
Robert Osfield
bf8e22ae63
Fixed shadows warnings
2016-05-26 09:48:16 +01:00
Robert Osfield
dd996a3289
Introduced CMake option OSG_PROVIDE_READFILE option that defaults to ON, but when switched to OFF disables the building of the osgDB::read*File() methods,
...
forcing users to use osgDB::readRef*File() methods. The later is preferable as it closes a potential threading bug when using paging databases in conjunction
with the osgDB::Registry Object Cache. This threading bug occurs when one thread gets an object from the Cache via an osgDB::read*File() call where only
a pointer to the object is passed back, so taking a reference to the object is delayed till it gets reassigned to a ref_ptr<>, but at the same time another
thread calls a flush of the Object Cache deleting this object as it's referenceCount is now zero. Using osgDB::readREf*File() makes sure the a ref_ptr<> is
passed back and the referenceCount never goes to zero.
To ensure the OSG builds when OSG_PROVIDE_READFILE is to OFF the many cases of osgDB::read*File() usage had to be replaced with a ref_ptr<> osgDB::readRef*File()
usage. The avoid this change causing lots of other client code to be rewritten to handle the use of ref_ptr<> in place of C pointer I introduced a serious of
templte methods in various class to adapt ref_ptr<> to the underly C pointer to be passed to old OSG API's, example of this is found in include/osg/Group:
bool addChild(Node* child); // old method which can only be used with a Node*
tempalte<class T> bool addChild(const osg::ref_ptr<T>& child) { return addChild(child.get()); } // adapter template method
These changes together cover 149 modified files, so it's a large submission. This extent of changes are warrent to make use of the Object Cache
and multi-threaded loaded more robust.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15164 16af8721-9629-0410-8352-f15c8da7e697
2015-10-22 13:42:19 +00:00
Robert Osfield
1fe7aa056b
From Kristofer Tingdahl, warning fixes.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15030 16af8721-9629-0410-8352-f15c8da7e697
2015-07-31 10:54:13 +00:00
Robert Osfield
b59b0e0253
Fixed Windows warnings
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14737 16af8721-9629-0410-8352-f15c8da7e697
2015-02-27 09:05:04 +00:00
Robert Osfield
213efd20ad
Fixed matrix setup.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14714 16af8721-9629-0410-8352-f15c8da7e697
2015-02-24 11:06:05 +00:00
Robert Osfield
1ce8029f39
Fixed windows build warnings
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14574 16af8721-9629-0410-8352-f15c8da7e697
2014-12-05 10:37:20 +00:00
Robert Osfield
6d98c5460f
Added getlocaledecpoint() workaround for Android build of lua plugin
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14555 16af8721-9629-0410-8352-f15c8da7e697
2014-11-28 10:52:06 +00:00
Robert Osfield
68c4eaaff1
Added support for writing the file path of a script to the lua package.path to help with loading scripts within lua.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14451 16af8721-9629-0410-8352-f15c8da7e697
2014-09-17 17:40:07 +00:00
Robert Osfield
900534f86e
Added writeFile support
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14381 16af8721-9629-0410-8352-f15c8da7e697
2014-07-23 14:50:42 +00:00
Robert Osfield
5130361d65
Added Node:getNumParents() and Node:getParent(index) support
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14380 16af8721-9629-0410-8352-f15c8da7e697
2014-07-23 10:49:27 +00:00
Robert Osfield
50e63ad3ee
Added readScript/writeScript methods to ReaderWriter
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14366 16af8721-9629-0410-8352-f15c8da7e697
2014-07-14 15:59:06 +00:00
Robert Osfield
5a7a20d01e
Renamed osgDB::PropertyInterface to osgDB::ClassInterface to better reflect it's functionality
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14365 16af8721-9629-0410-8352-f15c8da7e697
2014-07-14 14:09:08 +00:00
Robert Osfield
9b299dc4b9
Added ability to replace callback objects via lua scripts to allow one to override callbacks.
...
Added fallback for osgGA::Widget::Extents.
2014-03-07 11:09:25 +00:00
Robert Osfield
9319350176
Added support for osg::Image to the lua plugin.
2014-03-06 10:27:26 +00:00
Robert Osfield
076adcbd82
Implement add, set and get methods for StateSet.
2014-03-04 13:36:13 +00:00
Robert Osfield
de09adcaa9
Added MapReverseIterator implementation.
2014-02-27 10:02:55 +00:00
Robert Osfield
46381cb15c
Added MapIteratorObject and support for it in the lua plugin to provide map iterator functionality.
2014-02-26 18:18:08 +00:00
Robert Osfield
9394215d31
Added Map serializer size() method and support for it in the lua plugin. Renamed functions in lua plugin to be more consistent.
2014-02-26 11:01:35 +00:00
Robert Osfield
69e9f2c973
Added support for vector and map containers in osgDB::Serailizer's and lua plugin.
2014-02-26 08:26:51 +00:00
Robert Osfield
4ef5d9eb5f
Added Vector serialization and support in lua plugin top enable script users to set/get vector properties such as osg::Array, osg::PrimitiveSet and children lists.
2014-02-24 10:19:48 +00:00
Robert Osfield
6d68718fba
Fixed handling of enums in Lua plugin.
...
Fixed computation of getNumPrimitives() so that it returns 0 when PrimitiveSet is zero.
Added missing properties to PrimitiveSet serializers
2014-02-13 18:52:41 +00:00
Robert Osfield
743a6b049c
Added initial support for wrapping osg::Array in a way that can be used via scripting.
2014-02-12 18:03:53 +00:00
Robert Osfield
2797e8cb7c
Improved support for setting/getting properties via the osg::UserDataContainer.
2014-02-11 18:07:37 +00:00
Robert Osfield
e3a003a08f
Quitened down debug messages
2014-02-11 10:56:51 +00:00
Robert Osfield
a9f8af3fb6
Changed implementation of enums to use strings as lua type to make it easier to do comparisons and track values
2014-02-11 09:43:08 +00:00
Robert Osfield
31e98b51df
Added support for serailizing and scripting BoundingBox and BoundingSphere objects
2014-02-10 16:44:13 +00:00
Robert Osfield
3dcca431a9
Fixed handling of setting member variables via the Serializers when the value is the default.
...
Added support for more features of the osgDB::Widget class.
Fixed handling of boolean values in the Lua plugin
2014-02-08 17:53:51 +00:00
Robert Osfield
1319c2d281
Added support for enum's in the Lua script integration
2014-02-08 10:39:20 +00:00
Robert Osfield
8ad0ab1f6b
Fixed handling of returns when invoking a script, removed some debug messages, added a warning message when detecting erronous types.
...
Added FocusBehaviour enum to osgGA::Widget serialization
2014-02-07 16:06:57 +00:00
Robert Osfield
99eb81e743
Added support for casting objects to allow one to access a parent classes methods.
2014-02-06 11:25:37 +00:00
Robert Osfield
c599189d7d
Added lua-5.2.3 as source code so it can be optinally built as part of the lua plugin, making it possible to work out of the box across all platforms with needing lua as an external dependency.
...
Added the Cmake option OSG_USE_LOCAL_LUA_SOURCE to control whether to build and use the Lua source code in the lua plugin, or look for lua as an external dependency.
2014-02-04 16:49:13 +00:00
Robert Osfield
488e1692cc
From Stephan Huber, added support for compile source code of lua with the lua plugin
2014-02-04 11:24:01 +00:00
Robert Osfield
5f8e2bda2f
Added osg::CallbackObject to be used to extend C++ class from scripting languages by providing callback objects assigned to the osg::Object UserDataContainer, with the CallbackObject's Name used to map the "method" provided by the CallbackObject. The CallbackObject is implemented by the script engine to provide the neccessary glue to invoking the script with the appropriate input parameters and handling the output parameters.
...
To the Lua plugin added support for assigned lua functions to C++ osg::Objects via the new osg::CallbackObject mechanism. To invoke the scripts function from C++ one must get the CallbackObject and call run on it.
Renamed ScriptCallback to ScriptNodeCallback to avoid possibly confusion between osg::CallbackObject and the ScriptNodeCallback.
2014-01-31 16:20:29 +00:00
Robert Osfield
cc99a40b16
Added support for Switch::set/getValue()
2014-01-06 17:19:21 +00:00
Robert Osfield
fa7f25d75d
Removed the prototype MethodObject classes
2014-01-06 15:46:36 +00:00