Robert Osfield
6d7d58fa12
Added osgDB::stringcopy and stringcopyfixedsize
2016-06-25 16:08:15 +01:00
Cedric Pinson
0ecb52ff82
Submitted with fixes by Julian Valentin
2016-06-25 07:49:56 +01:00
Robert Osfield
818843a6b6
Restructed the handling of a null compressor
2016-06-23 09:05:51 +01:00
Robert Osfield
1e4ea646ce
Removed dead code
2016-06-23 08:55:52 +01:00
Robert Osfield
ff3570bfa5
Added handling of return value
2016-06-23 08:53:14 +01:00
Robert Osfield
2e65d37ddb
Added missing initializer
2016-06-22 12:24:23 +01:00
Robert Osfield
c6378de489
Fixed loop for the wrong counter increment
2016-06-22 12:22:19 +01:00
Robert Osfield
1d7f75c490
Added initializer
2016-06-22 12:03:10 +01:00
Robert Osfield
acaf9fd720
Added initializer
2016-06-22 11:48:30 +01:00
Ralf Habacker
7876c7915b
clang 6.0 compile fixes.
2016-06-20 10:32:42 +01:00
Ralf Habacker
69929f596f
Fix finding object cache entries.
2016-06-20 10:26:12 +01:00
Robert Osfield
8e26ebd23e
Fixed coverity detected defect:
...
Incorrect values read from a different memory region will cause incorrect computations. In osgDB::base64_decode_value(char): Out-of-bounds read from a buffer
2016-06-17 10:57:17 +01:00
Robert Osfield
9139e8acb8
Added {} brackets around OSG_DEBUG usage to avoid issues with marco's expanding if else.
2016-06-14 16:42:06 +01:00
Ralf Habacker
85cd1c456f
Identify files in object cache by filename and optional provided options.
...
Objects with the same filename may be different from others based on the provided
plugin options. Using filename *and* the provided options as object cache key
helps to avoid fetching the wrong object.
2016-06-14 12:27:33 +01:00
Julien Valentin
2ac8379cfc
osgDB Wrapper Associates Revision Tagging
2016-06-14 11:43:45 +01:00
OpenSceneGraph git repository
a236f18b17
Merge pull request #83 from filnet/warnings
...
Fixed various compilation warnings on msys2
2016-06-14 08:52:54 +01:00
Philippe Renon
3bf6fb1778
msys2: fixed redefined include warnings
2016-06-11 17:45:36 +02:00
Robert Osfield
62f97923e0
Fixed unused parameter warning.
2016-06-08 10:19:57 +01:00
Robert Osfield
203e5f7ef8
Removed redudent codepaths, standardizing on the most portable Texture2D path.
2016-06-02 14:22:25 +01:00
Ralf Habacker
c31baa96de
Fixed bug not detecting unc pathes in osgDB::isAbsolutePath()
2016-05-31 16:14:51 +01:00
Alberto Luaces
68baf15806
defines for building on Hurd and BSD kernels
2016-05-31 12:58:57 +01:00
Robert Osfield
559f138152
Fixed shadows warnings
2016-05-25 09:56:40 +01:00
Robert Osfield
c36c0033fd
Fixed shadows warnings
2016-05-23 20:02:36 +01:00
Robert Osfield
cd3831b045
Added &nl; xml control character to allow one to put newlines into a single text string in Present3D presentations
2016-03-13 09:03:44 -02:30
Robert Osfield
4deca2d38b
From Jannik Heller and Robert Osfield, introduced ReadResult/WriteResult::statusMessage() method that creates a std::string from the stutus value and message string.
2016-01-25 12:23:04 +00: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
27962a73ee
Introduced usage of OSG_INIT_SINGLETON_PROXY into DatabasePager::prototype() and Registry::instance(), removing the InitRegistry proxy object in src/osgViewer/ViewerBase.cpp.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15147 16af8721-9629-0410-8352-f15c8da7e697
2015-10-05 10:58:32 +00:00
Robert Osfield
2208303496
Warning fixes for Clang-3.6
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15016 16af8721-9629-0410-8352-f15c8da7e697
2015-07-23 11:11:58 +00:00
Robert Osfield
4073910ce8
From Mike Connell, "Give ReadFileCallback access to parent location : These small changes to the database pager allow user code in the ReadFileCallback to safely determine where the file being loaded is destined to be inserted into the scenegraph.
...
"
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14899 16af8721-9629-0410-8352-f15c8da7e697
2015-06-08 11:18:24 +00:00
Robert Osfield
ba9dfb2ff6
From Albert Luaces, typo fixes.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14883 16af8721-9629-0410-8352-f15c8da7e697
2015-06-01 13:40:20 +00:00
Robert Osfield
d14a602a59
From Jannik Heller, typo fixes
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14882 16af8721-9629-0410-8352-f15c8da7e697
2015-06-01 13:11:49 +00:00
Robert Osfield
120bf699b2
From Frashud Lashkari, "I was getting "Unsupported wrapper class..." error messages when attempting to load osgb models simultaneously from multiple threads. I believe the problem is caused by un-synchronized access to the global osgDB::ObjectWrapperManager class. I've attached a change that adds a mutex to the class and uses it when accessing the internal wrapper/compress maps. This appears to fix the issues I was having."
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14880 16af8721-9629-0410-8352-f15c8da7e697
2015-06-01 12:07:04 +00:00
Robert Osfield
0f35f31d72
From Thomas Hogarth, "Little fix for ClassInterface::getSupportedProperties, before if you set searchAssociates to false then it would return the same BaseSerialiser::Type for every entry in the PropertyMap as i was not being incremented on line 539. Fix attached."
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14874 16af8721-9629-0410-8352-f15c8da7e697
2015-05-26 17:17:26 +00:00
Robert Osfield
6cff8650f2
Cleaned up handling of Drawables so it utilizes the Node inheritance properly.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14822 16af8721-9629-0410-8352-f15c8da7e697
2015-04-07 15:49:06 +00:00
Robert Osfield
58edd10d04
From Johannes Scholz, "Attached you find a patch for osgDB::OutputStream and osgDB::InputStream to include osg::Image::data() using Base64 encoding inside the ASCII OSGT, if WriteImageHint=IncludeData is set, only."
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14748 16af8721-9629-0410-8352-f15c8da7e697
2015-03-02 12:11:43 +00:00
Robert Osfield
e7d41377be
Fixed handling of NULL entries in osg::Geometry TexCoordArrayList and VertexAttribArrayList.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14715 16af8721-9629-0410-8352-f15c8da7e697
2015-02-25 14:55:59 +00:00
Robert Osfield
06f186dc07
Added GL_LINES_ADJACENCY_EXT variants back into ObjectWraper to enable backwards compatibility.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14685 16af8721-9629-0410-8352-f15c8da7e697
2015-02-10 18:01:02 +00:00
Robert Osfield
a9804d7e19
Replaced _EXT defines with GL-3.2 versions
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14677 16af8721-9629-0410-8352-f15c8da7e697
2015-01-27 15:07:53 +00:00
Robert Osfield
3c07921dee
Removed old GL2Extensions class, replacing it with a typedef to GL2Extensions
...
Removed old includes to include/osg/GL2Extensions
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14594 16af8721-9629-0410-8352-f15c8da7e697
2014-12-10 10:44:58 +00:00
Robert Osfield
f8d53b7c8d
Build fix for when ref_ptr<> auto conversion is disabled
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14565 16af8721-9629-0410-8352-f15c8da7e697
2014-12-04 15:10:43 +00:00
Robert Osfield
671d8dc342
From Alberto Luaces,"the current code uses the preprocessor for generating the plugin path in
...
a way that when CMAKE_INSTALL_PREFIX contains something along the lines
of
/usr/x86_64-linux-gnu/
it gets substituted as
/usr/x86_64-1-gnu/
that is, the string is preprocessed again, thereby making changes to
anything that matches any defined symbol, as "linux" in this example
(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763816 ).
Quoting that path directly in CMake scripts solves that problem.
"
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14522 16af8721-9629-0410-8352-f15c8da7e697
2014-11-21 20:16:16 +00:00
Robert Osfield
ab47842d6d
Fixed typo in comment
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14477 16af8721-9629-0410-8352-f15c8da7e697
2014-11-17 09:19:38 +00:00
Robert Osfield
25cfb81a09
Refactored the handling of use of the osgDB::ObjectCache in the DatabasePager to use a local thread specific ObjectCache to handle new additions and
...
then have these additions merged with the main Registry ObjectCache during the main loop.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14474 16af8721-9629-0410-8352-f15c8da7e697
2014-11-13 09:40:11 +00:00
Robert Osfield
ed28ec97c7
Moved implementation of ObjectCache functionality out of Registry into a dedicated osgDB::ObjectCache class.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14473 16af8721-9629-0410-8352-f15c8da7e697
2014-11-11 18:28:07 +00:00
Robert Osfield
0e9c93f335
To handle thread safe paging and use of the osgDB::Registry ObjectCache, moved the handling of cache into osgDB::DatabasePager.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14472 16af8721-9629-0410-8352-f15c8da7e697
2014-11-10 16:04:43 +00:00
Robert Osfield
14620aa1dd
From Pjotr Svetachov, "I tried your fix and it exposed a bug in my fix :)
...
The problem is that the readObjectFields method will add the object to the _identifierMap. So all the other instances of that image in the same file will be replaced by the created dummy object. In my fix this was an dummy image and I didn't notice it in our scene's, probably because it covered a small part of an object. In your fix the dummy object was not an image and that leads to a crash when something tries to use it as an image. I have attached a small fix for this bug.
"
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14471 16af8721-9629-0410-8352-f15c8da7e697
2014-11-06 10:44:27 +00:00
Robert Osfield
a84df15c0a
Introduced use of MarkerObject to IncrmentalCompileOperation/DatabasePager as a way of marking objects that have already been processed and compiled,
...
thus avoid potential threading conflicts when paged subgraphs are reused.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14470 16af8721-9629-0410-8352-f15c8da7e697
2014-11-06 10:40:54 +00:00
Robert Osfield
7f592b7ad5
Added handling of the reading of field properties to a dummy object for cached images to avoid threading issues associated with reusing and modifying an active object.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14469 16af8721-9629-0410-8352-f15c8da7e697
2014-11-05 16:08:42 +00:00
Robert Osfield
28a676e105
Replaced use of while(isRunning()) { YieldCurrentThread(); } style loops with use of join() to avoid false positives being reported by valgrind when using the helgrind tool for thread debugging.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14460 16af8721-9629-0410-8352-f15c8da7e697
2014-11-04 10:46:59 +00:00
Robert Osfield
e35b0796d6
Added .tf & .tf-255 plugin for reading ascii 1D transfer functon files in support for volume rendering.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14448 16af8721-9629-0410-8352-f15c8da7e697
2014-09-15 17:53:44 +00:00