[osg-submissions] Fix for CustomPolytope in OverlayNode.cpp + minor tweaks for osg::Plane
Wojciech Lewandowski
lewandowski at ai.com.pl
Thu Feb 7 02:37:28 PST 2008
Hi,
----1----
Attached is a fixed version of OverlayNode.cpp. I fixed CustomPolytope::cut( osg::Plane ) method. Bug was apparent in such scenario:
Let P1 be some random frustum polytope
Let P2 be the polytope that was created from P1 bounding box (P2 contains P1 entirely)
Then ignoring precision errors: P1.cut( P2 ) == P2.cut( P1 ) == P1. But this condition was not always met. Cut failed when some of the polytope reference points happened to lie exactly on some intersecting planes in both P1 & P2 (plane distance was = 0).
I only use CustomPolytope for my shadowing stuff so I did not test how this affects rest of OverlayNode.cpp.
----2----
Also attached is a minor precision improvement for osg::Plane intersect method (double version).
----3----
I have also one observation regarding osg::Plane - There are two intersect vertices methods (float and double flavour):
inline int intersect(const std::vector<Vec3>& vertices) const
inline int intersect(const std::vector<Vec3d>& vertices) const
I guess osg::Plane won't compile when someone changes default vec3 typedef to vec3d. Shouldn't the first method be changed to use vec3f explicitly ? Ie:
inline int intersect(const std::vector<Vec3f>& vertices) const
----
Modifications are based on latest SVN code.
Cheers,
Wojtek Lewandowski
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.openscenegraph.org/pipermail/osg-submissions-openscenegraph.org/attachments/20080207/0d3fd0ed/attachment-0001.html
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: OverlayNode.cpp
Url: http://lists.openscenegraph.org/pipermail/osg-submissions-openscenegraph.org/attachments/20080207/0d3fd0ed/attachment-0001.pot
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Plane
Type: application/octet-stream
Size: 11146 bytes
Desc: not available
Url : http://lists.openscenegraph.org/pipermail/osg-submissions-openscenegraph.org/attachments/20080207/0d3fd0ed/attachment-0001.obj
More information about the osg-submissions
mailing list