Commit Graph

859 Commits

Author SHA1 Message Date
scrawl
09ca132102 Remove redundant handling of Geode in SharedStateManager 2017-02-03 17:35:40 +01:00
Riccardo Corsi
a526cab590 InputStream::readImage() : added info about which file failed to load when printing error message 2016-12-23 11:55:08 +01:00
Robert Osfield
3432f02d5f Renamed the iges plugin to OpenCASCADE to make it clearer what the plugin is, and added file extension aliases for stp, step, igs and iges to the OpenCASCADE plugin to enable automatic loading. 2016-12-09 17:52:17 +00:00
Robert Osfield
87a3648e68 To avoid noise in documentation replaced nested namespaced enum with enum with FILE_COPY_ wording prefixed into enum values. 2016-11-15 08:57:24 +00:00
Robert Osfield
ee97db3488 Introduced OpenThreads::Affinity support into osg::Camera, osg::GraphicsContext::Traitse, osgDB::DatabasePager and osgViewer::ViewerBase/Viewer/CompositeViewer.
Added ViewerBase::configureAffinity() to help with the setting of the affinity of camera, graphics context and pager threads
2016-10-07 12:17:03 +01:00
Robert Osfield
77c5e96ccb Added DatabasePager::setProcessorAffinity(const OpenThreads::Affinity&) support to allow the database threads to have affinity to user controls sets of CPU cores. 2016-10-07 12:17:03 +01:00
Alberto Luaces
01c712e851 Explicit signed char declarations for portability.
Some platforms (ARM, PowerPC, s390x) have "unsigned char" as the default
char type, and thus the build fails for certain parts of the code where
negative values are assigned to those kind of variables.
2016-09-24 12:33:37 +02:00
Robert Osfield
7e0c30b884 Refactored texture sharing code so that it modifies the RefAttributePair directly thus honouring the override flags and fixing a bug of loosing these override flags when sharing 2016-09-20 17:23:37 +01:00
Konstantin S. Matveyev
e6d4d99edb Fixed filename encoding bug 2016-08-10 12:58:38 +01:00
Robert Osfield
16d497ef80 Simplified DatabasePager::requires*() methods 2016-07-05 11:42:03 +01:00
Philippe Renon
22d53357d3 split requiresUpdateSceneGraph() into requires update and requires redraw (wip) 2016-07-04 23:19:20 +02:00
Philippe Renon
e23a30652d streamline DatabasePager::requiresUpdateSceneGraph()
would trigger unnecessary redraws when there were pending file requests or active database threads

tested ok with and without IncrementalCompileOperation
2016-07-04 21:42:19 +02:00
Robert Osfield
e3c48d9f45 Added handling of the possibility of null Options pointers 2016-06-29 17:06:48 +01:00
Robert Osfield
55d6113375 Removed debug message 2016-06-28 16:25:21 +01:00
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