Robert Osfield
315aeeb557
Where possible moved redundent C header includes from headers to source files
2008-12-12 18:47:30 +00:00
Robert Osfield
ac975bf79a
Added a Refrenced::getGlobalReferencedMutex, and OpenThreads::ScopedPointerLock() and use of this in add/removeParent() codes
...
to avoid threading problems when using atomic ref counting.
2008-10-14 14:27:41 +00:00
Robert Osfield
eb5a656f4e
From Neil Groves, added intrusive_ptr_add_ref and intrusive_ptr_release methods to enable
...
usage of boost::intrusive_ptr<> with osg::Referenced objects.
2008-10-03 13:34:32 +00:00
Robert Osfield
5a4ce5a387
From Mathias Froechlich, "Attached is a change to that atomic stuff to move the win32, msvc
...
implementation of the atomic increment and decrement into a implementation
file.
This way inlining and compiler optimization can no longer happen for these
implementations, but it fixes compilation on win32 msvc targets. I expect
that this is still faster than with with mutexes.
Also the i386 gcc target gets atomic operations with this patch. By using an
implementation file we can guarantee that we have the right compiler flags
available."
2008-06-26 10:27:16 +00:00
Robert Osfield
936edacc92
From Mathias Froehlich, added support for using OpenThreads::Atomic for thread safe ref/unref.
2008-06-19 17:30:38 +00:00
Robert Osfield
f4afa427a7
From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)."
2007-12-10 17:30:18 +00:00
Robert Osfield
86e998f64c
Added mutex locking add addParents/removeParents in Drawable, Node and StateSet.
2007-08-31 20:14:36 +00:00
Robert Osfield
eac3dc1963
From Paul Melis, "Here is a list of fixes to misspelled APIs. Unfortunately, more than one
...
of these are public APIs and therefore will break linkage to existing
shared libraries."
Note from Robert Osfield, updated wrappers.
2007-06-27 20:36:16 +00:00
Robert Osfield
6d9641a78b
Added a concrete osg::DeleteHandler implementation which provides support for
...
retain objects for several frames before deleting them. Also added RenderStageCache
into CullVistor.cpp that is used for handling RTT osg::Camera's that are being
used in double buffered SceneView usage.
2007-02-02 12:41:13 +00:00
Robert Osfield
73fffe1800
Made Refernced::setThreadSafeReferenceCounting(bool) a virtual then overrode
...
this in various scene graph classes to ensure that the scene graph gets
updated as well as the objects that the initialial call is made from.
2007-01-04 16:49:58 +00:00
Robert Osfield
f1c2694c17
Updated copyright years.
2006-07-18 15:21:48 +00:00
Robert Osfield
ce4b3a7b9e
Changed parameter name from osberver_ptr to observer.
2006-07-04 19:58:53 +00:00
Robert Osfield
83722dc064
From Tree, build fixes for JavaOSG build.
2006-05-09 09:42:17 +00:00
Robert Osfield
a8c52a90f0
Added selective support for thread safe ref/unref such that the rendering
...
backend now doesn't use thread safe ref counting where multi-buffering exists.
This reduces the overhead of multi-threading.
2006-05-02 15:52:46 +00:00
Robert Osfield
8f2ffb7c2d
Added new observer_ptr templated smart pointer to allow one to retain pointers
...
to objects but have the pointer reset to null if that object is deleted.
2006-02-27 19:44:33 +00:00
Robert Osfield
35fcaf7bde
Convert tabs to spaces.
2005-11-17 17:44:48 +00:00
Robert Osfield
678b22ce83
Updated Copyright notices to 1998-2005.
2005-04-14 21:41:28 +00:00
Robert Osfield
d268cf46fa
Renamed SG_LIBRARY and SG_EXPORT macro's to OSG_LIBRARY and OSG_EXPORT
2005-04-11 17:14:17 +00:00
Robert Osfield
164cb8216c
Made Referenced::ref() and unref() inline methods.
2005-02-23 12:50:10 +00:00
Robert Osfield
e01990d419
Made the osg::Referenced Mutex be declared as a pointer to a Mutex, with the
...
Mutex allocated dynamically when required. Added the following methods to
help manage the usage of the mutex:
void setThreadSafeRefUnref(bool threadSafe);
bool getThreadSafeRefUnref() const;
2005-02-22 20:25:58 +00:00
Robert Osfield
84d3746e8a
From Tree, fixes for Java bindings
2004-11-15 13:02:43 +00:00
Robert Osfield
d548d77010
From Tree chagenes required for Java Wrappers
2004-11-01 16:14:53 +00:00
Robert Osfield
de0e616433
Added new methods into osg::Referenced for controlling the use of thread safe
...
ref/unref:
/** Set whether reference counting should be use a mutex to create thread reference counting.*/
static void setThreadSafeReferenceCounting(bool enableThreadSafeReferenceCounting);
/** Get whether reference counting is active.*/
static bool getThreadSafeReferenceCounting();
2004-09-27 14:15:13 +00:00
Robert Osfield
7126ca44e9
Better macro support for switching on/off use of mutex
2004-08-03 11:01:39 +00:00
Robert Osfield
bb5576bef8
Added support s/getImage(uint i) and getNumImages().
2004-07-27 10:11:45 +00:00
Robert Osfield
d36e302573
Added OpenThreads mutex to protect ref()/unref().
2004-07-20 05:34:02 +00:00
Robert Osfield
8bb2ca48b7
Made = opeator const.
2003-10-17 10:26:31 +00:00
Robert Osfield
6c4f2f5207
Fixes for multipipe support.
...
Addition of FrameStatsHandler to osgproducer demo to add frame stats.
2003-01-29 17:16:26 +00:00
Robert Osfield
48bda9cc79
Added new Copyright/License notice to header and source files.
2003-01-21 16:45:36 +00:00
Robert Osfield
c406d2476f
Removed the osg::Referenced::createCount() and deleteCount() methods and
...
associated variables which were only compiled in on debug build. These optional
methods/static vars were causingproblems when mixing debug and release builds.
2003-01-17 14:11:34 +00:00
Robert Osfield
64341828b8
Added a few more comments on the DeleteHandler.
...
Changed the friend struct DeleteHandler to friend class DeleteHandler.
2002-12-16 21:39:26 +00:00
Don BURNS
bbab5af6eb
Fixed a scope issue for 3.2 compiler for friend declarattion, l ine 39 in
...
include/osg/Referenced
2002-12-16 19:39:08 +00:00
Robert Osfield
884b2730e8
Added a DeleteHandler into osg::Referenced so that it can delete objects
...
via a seperate delete handler. Useful for making unref()/ref() thread safe if
the users needs to address this issue.
2002-12-16 10:25:31 +00:00
Robert Osfield
fb629ae87d
From Gideon, support for tracking the number of objects constructed and deleted,
...
only compiled in when unit tests are compiled in.
2002-09-20 15:55:50 +00:00
Robert Osfield
12226e4371
Converted the instances of const built in types being returned from methods
...
and passed as paramters into straight forward non const built in types,
i.e. const bool foogbar(const int) becomes bool foobar(int).
2002-09-02 12:31:35 +00:00
Robert Osfield
3a964a6b93
Updated docs and added osgGA
2002-07-16 20:07:32 +00:00
Robert Osfield
8656adb463
Added a Referenced::unref_nodelete() method which unreferences but does
...
not delete the object even if its count goes to 0 or below. This should
only be called in special circumstances, the ReaderWriter::ReadResult
being one of them. This new method has allowed the problem of objects
being multiple referenced on return from readNodeFile() & readImageFile().
2002-03-20 14:03:30 +00:00
Robert Osfield
ff571d2690
Added a check to the destructor of Referenced so that it detects referenced
...
objects that are deleted whilest still having a positive _refCount, such
as when a object has been deleted on the stack, yet other references still
exist for it. Have put the desctructor implementation in Object.cpp to
avoid adding yet another file with only a couple of lines of code in.
2002-02-07 01:11:20 +00:00
Robert Osfield
c1283c23e8
Removed the trailing ; after namespace {...} declariations in headers
...
which was being picked as a warning under Codewarrior.
2002-02-03 12:33:41 +00:00
Robert Osfield
9917b6500d
Added a copyright notice to all core headers, which all begin with
...
//C++ header to help scripts and editors pick up the fact that the
file is a header file.
2001-10-04 15:12:57 +00:00
Robert Osfield
7359d33d53
Made spelling corrections, the spelling mistakes picked up by a script
...
written by Neil Salter.
script
2001-10-01 11:15:55 +00:00
Don BURNS
e8f256a59d
Added a bunch of files synched with 0.8.42
2001-09-19 21:08:56 +00:00
Don BURNS
70208ebc06
Initial revision
2001-01-10 16:32:10 +00:00