Provided by: libcoin60-doc_3.1.3-2_all bug

NAME

       SbBSPTree -

       The SbBSPTree class provides a binary space partitioning container.

       This class can be used to organize searches for 3D points or normals in a set in O(log(n))
       time.

SYNOPSIS

       #include <Inventor/SbBSPTree.h>

   Public Member Functions
       SbBSPTree (const int maxnodepts=64, const int initsize=4)
       ~SbBSPTree ()
       int numPoints () const
       SbVec3f getPoint (const int idx) const
       void getPoint (const int idx, SbVec3f &pt) const
       void * getUserData (const int idx) const
       void setUserData (const int idx, void *const data)
       int addPoint (const SbVec3f &pt, void *const userdata=NULL)
       int removePoint (const SbVec3f &pt)
       void removePoint (const int idx)
       int findPoint (const SbVec3f &pos) const
       int findClosest (const SbVec3f &pos) const
       void clear (const int initsize=4)
       void findPoints (const SbSphere &sphere, SbIntList &array) const
       int findClosest (const SbSphere &sphere, SbIntList &array) const
       const SbBox3f & getBBox () const
       const SbVec3f * getPointsArrayPtr () const
       void findPoints (const SbSphere &sphere, SbList< int > &array) const
       int findClosest (const SbSphere &sphere, SbList< int > &array) const

Detailed Description

       The SbBSPTree class provides a binary space partitioning container.

       This class can be used to organize searches for 3D points or normals in a set in O(log(n))
       time.

       Note: SbBSPTree is an extension to the original Open Inventor API.

Constructor & Destructor Documentation

   SbBSPTree::SbBSPTree (const intmaxnodepts = 64, const intinitsize = 4) Constructor with
       maxnodepts specifying the maximum number of points in a node before it must be split, and
       initsize is the number of initially allocated points in the growable points array. If you
       know approximately the number of points which will be added to the tree, it will help the
       performance if you supply this in initsize.
   SbBSPTree::~SbBSPTree () Destructor. Frees used memory.

Member Function Documentation

   int SbBSPTree::numPoints () const Returns the number of points in the BSP tree.
   SbVec3f SbBSPTree::getPoint (const intidx) const Returns the point at index idx.
       See also:
           SbBSPTree::numPoints()

   void SbBSPTree::getPoint (const intidx, SbVec3f &pt) const This is an overloaded member
       function, provided for convenience. It differs from the above function only in what
       argument(s) it accepts.
   void * SbBSPTree::getUserData (const intidx) const Returns the user data for the point at
       index idx.
       See also:
           SbBSPTree::addPoint()

           SbBSPTree::numPoints()

   void SbBSPTree::setUserData (const intidx, void *constdata) Sets the user data for the point
       at index idx to data.
       See also:
           SbBSPTree::addPoint()

           SbBSPTree::numPoints()

   int SbBSPTree::addPoint (const SbVec3f &pt, void *constdata = NULL) Adds a new point pt to the
       BSP tree, and returns the index to the new point. The user data for that point will be set
       to data.
       If the point already exists in the BSP tree, the index to the old point will be returned.
       The user data for that point will not be changed.

       See also:
           SbBSPTree::findPoint()

   int SbBSPTree::removePoint (const SbVec3f &pt) Removes the point with coordinates pt, and
       returns the index to the removed point. -1 is returned if no point with those coordinates
       could be found.
   void SbBSPTree::removePoint (const intidx) Removes the point at index idx.
       See also:
           SbBSPTree::numPoints()

   int SbBSPTree::findPoint (const SbVec3f &pos) const Will search the tree, and return the index
       to the point with coordinates matching pos. If no such point can be found, -1 is returned.
   int SbBSPTree::findClosest (const SbVec3f &pos) const This is an overloaded member function,
       provided for convenience. It differs from the above function only in what argument(s) it
       accepts.
   void SbBSPTree::findPoints (const SbSphere &sphere, SbIntList &array) const Will return
       indices to all points inside sphere.
       Since:
           Coin 2.3

   int SbBSPTree::findClosest (const SbSphere &sphere, SbIntList &arr) const Will return the
       index to the point closest to the center of sphere. Indices to all points inside the
       sphere is returned in arr. If no points can be found inside the sphere, -1 is returned.
       Since:
           Coin 2.3

   const SbBox3f & SbBSPTree::getBBox () const Will return the bounding box of all points in the
       BSP tree.
   const SbVec3f * SbBSPTree::getPointsArrayPtr (void) const Returns a pointer to the array of
       points inserted into the BPS tree.
   void SbBSPTree::findPoints (const SbSphere &sphere, SbList< int > &array) const WARNING:
       Please don't use this function. It can cause hard to find bugs on the Windows platform if
       your application is linked against a different CRT than your Coin DLL.
       Use void findPoints(const SbSphere &sphere, SbIntList & array) instead.

   int SbBSPTree::findClosest (const SbSphere &sphere, SbList< int > &arr) const WARNING: Please
       don't use this function. It can cause hard to find bugs on the Windows platform if your
       application is linked against a different CRT than your Coin DLL.
       Use int findClosest(const SbSphere &sphere, SbIntList & arr) instead.

Author

       Generated automatically by Doxygen for Coin from the source code.