OpenSceneGraph/include/osg
Robert Osfield a51e95222d From Patrick Hartling, "I encountered a bug related to RTTI for subclasses of osg::Shape. The
circumstances under which this bug occur are rather specific, but the
basic problem occurs when one translation unit other than libosg.so
constructs an object that is a subclass of osg::Shape and another
translation unit other than libosg.so tries to perform a dynamic_cast or
other RTTI-based operation on that object. Under these circumstances,
the RTTI operation will fail. In my case, the translation units involved
were an application and osgdb_ive.so. The application constructed a
scene graph that included instantiations of subclasses of osg::Shape.
Depending on how the user ran the application, it would write the scene
graph to an IVE file using osgDB::writeNodeFile(). The dynamic_cast
operations in DataOutputStream::writeShape() would fail on the first
subclass of osg::Shape that was encountered. This is because there were
two different RTTI data objects for all osg::Shape subclasses being
compared: one in the application and one in osgdb_ive.so.

The fix for this is simple. We must ensure that at least one member
function of each of the subclasses of the polymorphic type osg::Shape is
compiled into libosg.so so that there is exactly one RTTI object for
that type in libosg.so. Then, all code linking against libosg.so will
use that single RTTI object. The following message from a list archive
sort of explains the issue and the solution:

  http://aspn.activestate.com/ASPN/Mail/Message/1688156

While the posting has to do with Boost.Python, the problem applies to
C++ libraries in general."
2009-01-28 09:21:46 +00:00
..
AlphaFunc From Mike Wittman, " noticed that some type references of osg::Drawable::AttributeFunctor, osg::Drawable::ConstAttributeFunctor, and osg::StateAttribute::ModeUsage in osg and osgSim were not being properly reflected in osgIntrospection. This appears to be due to Doxygen not handling nested types from superclasses if they're not qualified when referenced in subclasses. 2007-03-05 17:34:36 +00:00
AnimationPath From Alan Dickinson, change methods to virtual. 2008-09-18 13:54:13 +00:00
ApplicationUsage From Eric Sokolowski and Robert Osfield, moved command line option usage setup 2008-05-12 10:55:55 +00:00
ArgumentParser From Eric Sokolowski and Robert Osfield, moved command line option usage setup 2008-05-12 10:55:55 +00:00
Array From Neil Groves, 2008-06-19 20:38:38 +00:00
AutoTransform Converted AutoTransform to use doubles. 2008-08-28 09:43:00 +00:00
Billboard 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
BlendColor 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
BlendEquation 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
BlendFunc 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
BoundingBox From Tim Moore, "Double precision versions of BoundingBox and BoundingSphere are useful for doing computations in world coordinates, especially when working with a geocentric scene. By default, these classes are built using floats, so templated versions fill a need. I've used the double precision templates to fix some problems with ViewDependentShadow, which will follow shortly. 2008-11-26 16:39:52 +00:00
BoundingSphere Introduced osgVolume::Layer and Locator classes mirrroring similar classes in osgTerrain. 2009-01-05 11:26:26 +00:00
BoundsChecking Updated copyright years. 2006-07-18 15:21:48 +00:00
buffered_value Added Object::resizeGLObjectBuffers(uint) method to help improve the ability 2007-01-04 14:11:51 +00:00
BufferObject From Art Tevs, "here is a submission of an additional class of PixelBufferObejct, which implements more general way of handling with PBOs. Current osg implementation of PBO does use an attached osg::Image to copy data from. This is somehow only one way of using it and doesn't provide full functionality of PBOs. 2008-12-01 13:28:13 +00:00
Camera Removal of rendundant characters from Camera and Camera.cpp. 2009-01-15 10:44:52 +00:00
CameraNode Renamed osg::CameraNode to osg::Camera, cleaned up osg::View. 2006-11-27 14:52:07 +00:00
CameraView 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
ClampColor 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
ClearNode Updated copyright years. 2006-07-18 15:21:48 +00:00
ClipNode Added ClipNode::set/getReferenceFrame(); 2008-12-19 15:29:59 +00:00
ClipPlane Moved the setting of _clipPlaneNum from the {} body to the intializer list to 2008-01-18 21:01:18 +00:00
ClusterCullingCallback Removed the using to avoid VS 7.1 build problem 2007-03-29 15:41:59 +00:00
CollectOccludersVisitor Introduce NodeVisitor::className and libraryName() 2008-12-17 12:13:15 +00:00
ColorMask Updated copyright years. 2006-07-18 15:21:48 +00:00
ColorMatrix Updated copyright years. 2006-07-18 15:21:48 +00:00
ComputeBoundsVisitor Introduce NodeVisitor::className and libraryName() 2008-12-17 12:13:15 +00:00
ConvexPlanarOccluder Removed inappropriate comment about normal orientation. 2007-01-05 09:55:04 +00:00
ConvexPlanarPolygon From Tim Moore, removed redundent forward declartion of BoundingBox and BoundingSphere 2008-11-07 13:18:40 +00:00
CoordinateSystemNode Added docs explaining units 2008-04-14 10:38:37 +00:00
CopyOp Fixed warning 2008-12-19 12:46:21 +00:00
CullFace From Mike Wittman, " noticed that some type references of osg::Drawable::AttributeFunctor, osg::Drawable::ConstAttributeFunctor, and osg::StateAttribute::ModeUsage in osg and osgSim were not being properly reflected in osgIntrospection. This appears to be due to Doxygen not handling nested types from superclasses if they're not qualified when referenced in subclasses. 2007-03-05 17:34:36 +00:00
CullingSet Updated copyright years. 2006-07-18 15:21:48 +00:00
CullSettings From Mathias Froehlich, build fixes for various unices 2008-06-26 12:08:37 +00:00
CullStack Updated wrappers 2007-08-10 17:44:54 +00:00
DeleteHandler 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
Depth 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
DisplaySettings Added DisplaySettings::s/getApplication() to help with gecko plugin initialization when it requires the application name 2008-11-20 12:03:21 +00:00
Drawable Improved the constness of parameters the Node::getWorldMatrices(..) method. 2008-09-18 10:38:18 +00:00
DrawPixels Fixed parameter name 2007-05-14 16:16:22 +00:00
Endian Simplified swap bytes code to make it more efficient. 2006-08-24 20:15:32 +00:00
Export Warning fixes for VS, and removal of associated warning disables 2009-01-23 15:12:26 +00:00
fast_back_stack Updated copyright years. 2006-07-18 15:21:48 +00:00
Fog 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
FragmentProgram Introduced new osg::discardDeletedOpenGLObjects() methods, and usage of it in 2008-01-08 13:24:29 +00:00
FrameBufferObject From Jaromir Vitek, "In attachment are another fixes for using packed depth+stencil (PDS). 2008-11-25 10:57:14 +00:00
FrameStamp 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
FrontFace 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
Geode Added asSwitch and asGeode convinience methods to Node 2008-12-09 09:24:47 +00:00
Geometry Introduced Geometry::containsSharedArrays() and Geometry::duplicateSharedArrays() to 2008-09-14 10:31:27 +00:00
GL From Andy Skinner, warning fix for Windows 64-bit build 2007-04-03 19:42:43 +00:00
GL2Extensions Warning fixes 2008-12-17 13:14:17 +00:00
GLExtensions Added checked from the ARG version of glDraw*Instanced(). 2009-01-08 11:19:21 +00:00
GLObjects Introduced new osg::discardDeletedOpenGLObjects() methods, and usage of it in 2008-01-08 13:24:29 +00:00
GLU Added GLU_TESS_CALLBACK_TRIPLEDOT path into include/osg/GLU and enabled this 2007-10-03 20:21:01 +00:00
GraphicsContext Warning fixes 2008-12-17 11:00:16 +00:00
GraphicsThread Added optional bool keep to BarrierOperation to make it more resuable 2008-11-18 15:18:34 +00:00
Group 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
Hint From Mathias Froehlich, fixed typo 2008-05-12 10:16:40 +00:00
Image Fixed warnings 2008-12-18 11:06:57 +00:00
ImageSequence Refactored ImageSequence to provided a cleaner and more robust implementation 2008-10-06 17:02:20 +00:00
ImageStream Refactored ImageSequence to provided a cleaner and more robust implementation 2008-10-06 17:02:20 +00:00
ImageUtils Moved osgVolume::ImageUtils to osg::ImageUtils, updated wrappers, and started moving osgvolume example across to create osgVolume subgraphs 2009-01-09 15:19:25 +00:00
io_utils 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
KdTree Introduce NodeVisitor::className and libraryName() 2008-12-17 12:13:15 +00:00
Light 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
LightModel 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
LightSource Added setThreadSafeRefUnref to LightSource 2007-01-07 10:00:50 +00:00
LineSegment Added double versions of intersect methods 2008-03-13 16:05:40 +00:00
LineStipple Added extra constructors 2008-03-12 20:15:45 +00:00
LineWidth Renamed SG_LIBRARY and SG_EXPORT macro's to OSG_LIBRARY and OSG_EXPORT 2005-04-11 17:14:17 +00:00
LOD Introduced CMake build option for compiling double or float versions of osg::BoundingSphere and osg::BoundingBox. 2008-04-03 18:36:50 +00:00
LogicOp From Mike Wittman, " noticed that some type references of osg::Drawable::AttributeFunctor, osg::Drawable::ConstAttributeFunctor, and osg::StateAttribute::ModeUsage in osg and osgSim were not being properly reflected in osgIntrospection. This appears to be due to Doxygen not handling nested types from superclasses if they're not qualified when referenced in subclasses. 2007-03-05 17:34:36 +00:00
Material From Mike Wittman, " noticed that some type references of osg::Drawable::AttributeFunctor, osg::Drawable::ConstAttributeFunctor, and osg::StateAttribute::ModeUsage in osg and osgSim were not being properly reflected in osgIntrospection. This appears to be due to Doxygen not handling nested types from superclasses if they're not qualified when referenced in subclasses. 2007-03-05 17:34:36 +00:00
Math Introduce osg::asciiToDouble/asciiToFloat function. 2008-11-23 11:35:43 +00:00
Matrix From Mathias Froehlich, moved optional config variables into include/osg/Config file that 2008-06-20 15:50:53 +00:00
Matrixd From Mathias Froehlich, "This is a generic optimization that does not depend on any cpu or instruction 2008-09-17 16:14:28 +00:00
Matrixf From Mathias Froehlich, "This is a generic optimization that does not depend on any cpu or instruction 2008-09-17 16:14:28 +00:00
MatrixTransform Updated copyright years. 2006-07-18 15:21:48 +00:00
MixinVector Simplified the MixinVector class so that it no longer supports custom allocators, 2008-06-27 12:44:41 +00:00
Multisample 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
Node From Sukender, added missing inline keywords 2008-12-09 16:43:38 +00:00
NodeCallback From Paul Martz, "minor code comment cleaup/rewording" 2006-12-19 17:16:14 +00:00
NodeTrackerCallback Fixed typo 2007-07-11 16:06:04 +00:00
NodeVisitor Fixed assingment operator 2009-01-07 15:35:28 +00:00
Notify Updated copyright years. 2006-07-18 15:21:48 +00:00
Object Changed the macro usage so that the quotes are now added inside the .cpp 2008-09-22 13:16:29 +00:00
observer_ptr Changed the const get(), operator*() and operator->() methods to return non const T versions 2008-03-14 11:06:35 +00:00
OccluderNode Updated copyright years. 2006-07-18 15:21:48 +00:00
OcclusionQueryNode From Paul Martz, fixed get/set methods API 2008-02-27 11:43:58 +00:00
OperationThread Added getNumOperationsInQueue() method 2008-01-18 09:17:32 +00:00
PagedLOD Added the ability to release OpenGL objects in PagedLOD subgrphs that are no longer being rendered. 2008-10-07 11:35:41 +00:00
Plane From Mathias Froehlich, moved optional config variables into include/osg/Config file that 2008-06-20 15:50:53 +00:00
Point Added extra constructors 2008-03-12 20:15:45 +00:00
PointSprite From Mike Wittman, " noticed that some type references of osg::Drawable::AttributeFunctor, osg::Drawable::ConstAttributeFunctor, and osg::StateAttribute::ModeUsage in osg and osgSim were not being properly reflected in osgIntrospection. This appears to be due to Doxygen not handling nested types from superclasses if they're not qualified when referenced in subclasses. 2007-03-05 17:34:36 +00:00
PolygonMode Fixed unitialized variable 2008-07-23 15:42:02 +00:00
PolygonOffset 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
PolygonStipple Added extra constructors 2008-03-12 20:15:45 +00:00
Polytope 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
PositionAttitudeTransform Updated copyright years. 2006-07-18 15:21:48 +00:00
PrimitiveSet Added support for primitive instancing 2009-01-06 14:55:49 +00:00
Program In Program::PerContextProgram changed const Uniform* to osg::ref_ptr<const Uniform*> to avoid the possibility of a uniform being deleted 2008-06-19 11:58:34 +00:00
Projection Updated copyright years. 2006-07-18 15:21:48 +00:00
ProxyNode Refactored DatabasePager and related classes to introduce support for 2008-05-21 21:09:45 +00:00
Quat Updated copyright years. 2006-07-18 15:21:48 +00:00
ref_ptr From Piotr Rak, "added bool conversion for ref_ptr, when no implicit conversion to T* is used." 2008-11-25 16:24:50 +00:00
Referenced Fixed effective leak in Program::PerContextProgram caused by previously osg::State keeping a set of std::ref_ptr<Program::PerContextProgram> without ever pruning this list. 2009-01-26 15:16:24 +00:00
RenderInfo Added Camera::g/setIntialDrawCallback and g/setFinalDrawCallback(), and added 2008-02-29 15:25:57 +00:00
Scissor From Mike Wittman, " noticed that some type references of osg::Drawable::AttributeFunctor, osg::Drawable::ConstAttributeFunctor, and osg::StateAttribute::ModeUsage in osg and osgSim were not being properly reflected in osgIntrospection. This appears to be due to Doxygen not handling nested types from superclasses if they're not qualified when referenced in subclasses. 2007-03-05 17:34:36 +00:00
Sequence From Jason Daly, "I'm still having a problem with SWING animations on sequences. Here's 2007-12-24 14:45:31 +00:00
ShadeModel Set default ShadeModel back to SMOOTH 2007-04-05 20:27:02 +00:00
Shader From Art Trevs, add support for saving external shader files. 2008-03-04 14:04:48 +00:00
ShadowVolumeOccluder 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
Shape From Patrick Hartling, "I encountered a bug related to RTTI for subclasses of osg::Shape. The 2009-01-28 09:21:46 +00:00
ShapeDrawable Removed todo entry 2008-08-18 10:47:43 +00:00
State Fixed effective leak in Program::PerContextProgram caused by previously osg::State keeping a set of std::ref_ptr<Program::PerContextProgram> without ever pruning this list. 2009-01-26 15:16:24 +00:00
StateAttribute Added support for ImageSequence to all Texture classes 2008-07-22 12:28:46 +00:00
StateSet From Michael Platings and Robert Osfield, added support for controlling, 2008-06-19 11:09:20 +00:00
Stats Removed inappropriate Stats:: prefix 2007-02-15 10:25:11 +00:00
Stencil From Mike Wittman, " noticed that some type references of osg::Drawable::AttributeFunctor, osg::Drawable::ConstAttributeFunctor, and osg::StateAttribute::ModeUsage in osg and osgSim were not being properly reflected in osgIntrospection. This appears to be due to Doxygen not handling nested types from superclasses if they're not qualified when referenced in subclasses. 2007-03-05 17:34:36 +00:00
StencilTwoSided Fixed warnings 2008-12-17 16:13:23 +00:00
Switch Added asSwitch and asGeode convinience methods to Node 2008-12-09 09:24:47 +00:00
TemplatePrimitiveFunctor Fixed warnings 2009-01-07 10:32:59 +00:00
TexEnv Updated copyright years. 2006-07-18 15:21:48 +00:00
TexEnvCombine From Paul Melis, fixes to spelling mistakes/typos. 2007-07-11 15:51:17 +00:00
TexEnvFilter 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
TexGen 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
TexGenNode Added support for setThreadSafeRefUnref into TexGenNode 2007-01-11 10:35:03 +00:00
TexMat From Farshid Lashkari, Added missing initialization of the _scaleByTextureRectangleSize 2006-11-22 20:39:44 +00:00
Texture Added support for ImageSequence to all Texture classes 2008-07-22 12:28:46 +00:00
Texture1D Added Texture1D(Image*) and Texture3D(Image*) constructors 2008-10-08 11:30:18 +00:00
Texture2D Removed the mutable from the _image variable 2008-04-23 20:49:19 +00:00
Texture2DArray Various warning fixes 2008-10-27 13:09:43 +00:00
Texture3D Fixed warnings 2008-12-17 16:13:23 +00:00
TextureCubeMap From Art Trevs, "Features of the patch are: 2007-09-11 12:04:58 +00:00
TextureRectangle Removed the mutable from the _image variable 2008-04-23 20:49:19 +00:00
Timer From Paul Martz, Correction to Timer method comment. 2009-01-05 11:58:08 +00:00
TransferFunction Removed unused methods 2008-09-25 15:19:42 +00:00
Transform 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
TriangleFunctor 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
TriangleIndexFunctor Added support for new double Vec*Array classes in various functors. 2007-12-04 14:46:46 +00:00
Uniform From Ferdi Smit, added support for unsigned int typed uniforms 2008-11-25 14:15:35 +00:00
Vec2 Updated copyright years. 2006-07-18 15:21:48 +00:00
Vec2b 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
Vec2d 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
Vec2f Updated copyright years. 2006-07-18 15:21:48 +00:00
Vec2s From David Cullu, added various mathematical operators 2007-12-17 17:43:57 +00:00
Vec3 Updated copyright years. 2006-07-18 15:21:48 +00:00
Vec3b 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
Vec3d 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
Vec3f 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
Vec3s From David Cullu, added various mathematical operators 2007-12-17 17:43:57 +00:00
Vec4 Updated copyright years. 2006-07-18 15:21:48 +00:00
Vec4b 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
Vec4d Introduced CMake build option for compiling double or float versions of osg::BoundingSphere and osg::BoundingBox. 2008-04-03 18:36:50 +00:00
Vec4f 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
Vec4s From David Cullu, added various mathematical operators 2007-12-17 17:43:57 +00:00
Vec4ub 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
Version Updated version number for next dev release 2009-01-09 15:25:34 +00:00
VertexProgram Fixed warnings 2008-12-17 15:32:35 +00:00
View Refactored the view stats. 2009-01-27 13:23:20 +00:00
Viewport 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