[osg-users] Dimension Mask in PolytopeIntersector still working?

Jordi Torres jtorresfabra at gmail.com
Fri May 26 00:12:12 PDT 2017


Hi Robert,

All ok in my side.

Thanks!!

2017-05-25 9:51 GMT+02:00 Robert Osfield <robert.osfield at gmail.com>:

> Hi Jordi,
>
> Yesterday I checked in a couple of change, from the git log:
>
>
> $ git log
> commit 20ac472d1f7d85360714168d94e10729c1f9ce8d
> Author: Robert Osfield <robert at openscenegraph.com>
> Date:   Wed May 24 19:40:08 2017 +0100
>
>     Moved OSG_USE_DEPRECATED_API from include/osg/Export to Cmake
> controlled include/osg/Config
>
> commit 8c54a4931975967022aba6ce92973ad27def8e97
> Author: Robert Osfield <robert at openscenegraph.com>
> Date:   Wed May 24 19:39:36 2017 +0100
>
>     Replaced deprecated API usage
>
> commit a60aed70b58f2d1b95f5b8eecfd2a3a583906661
> Author: Robert Osfield <robert at openscenegraph.com>
> Date:   Wed May 24 18:34:22 2017 +0100
>
>     Replaced DimensionMask naming with more appropriate PrimitiveMask
> nameing.
>
> commit a201b15648ce3bd5a34b96cb046c1e8a6431bb4e
> Author: Robert Osfield <robert at openscenegraph.com>
> Date:   Wed May 24 16:02:29 2017 +0100
>
>     Added support for PolytopeIntersector::setDimensionsMask.
>
>
> The new API naming is:
>
>         /// dimension enum to specify primitive types to check.
>         enum {
>             POINT_PRIMITIVES = (1<<0),      /// check for points
>             LINE_PRIMITIVES = (1<<1),       /// check for lines
>             TRIANGLE_PRIMITIVES = (1<<2),   /// check for triangles
> and other primitives like quad, polygons that can be decomposed into
> triangles
>             ALL_PRIMITIVES = ( POINT_PRIMITIVES | LINE_PRIMITIVES |
> TRIANGLE_PRIMITIVES )
>         };
>
>         /** Set which Primitives should be tested for intersections.*/
>         void setPrimitiveMask(unsigned int mask) { _primitiveMask = mask; }
>
>         /** Get which Primitives should be tested for intersections.*/
>         unsigned int getPrimitiveMask() const { return _primitiveMask; }
>
> The old API is now deprecated:
>
> #ifdef OSG_USE_DEPRECATED_API
>
>         enum {
>             DimZero = POINT_PRIMITIVES,    /// deprecated, use
> POINT_PRIMITIVES
>             DimOne = LINE_PRIMITIVES,      /// deprecated, use
> POINT_PRIMITIVES
>             DimTwo = TRIANGLE_PRIMITIVES,  /// deprecated, use
> POINT_PRIMITIVES
>             AllDims =  ALL_PRIMITIVES      /// deprecated, use
> ALL_PRIMITIVES
>         };
>
>         /** deprecated, use setPrimtiveMask() */
>         inline void setDimensionMask(unsigned int mask) {
> setPrimitiveMask(mask); }
>
>         /** deprecated, use getPrimtiveMask() */
>         inline unsigned int getDimensionMask() const { return
> getPrimitiveMask(); }
> #endif
>
> I have also change the way that OSG_USE_DEPRECATED_API is controlled,
> it used to be hard-wired into include/osg/Export, I have moved it into
> the cmake generated include/osg/Config header.  To enable/disable the
> deprecated API you just now need to use ccmake to toggle the
> OSG_USE_DEPRECATED_API.
>
> I also modified the osgkeyboardmouse example to set the PrimitiveMask
> and in my testing it looks like things are working fine.  Could you
> test this and let me know how it all works out in your usage case.
>
> Robert.
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>



-- 
Jordi Torres
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20170526/b2b209c4/attachment-0003.htm>


More information about the osg-users mailing list