Provided by: libcoin80-doc_3.1.4~abc9f50-4ubuntu2_all bug

NAME

       SbOctTree -

       The SbOctTree class defines a generic oct tree for fast geometry searches.

       Be aware that this class is an extension for Coin, and it is not available in the original
       SGI Open Inventor v2.1 API.

SYNOPSIS

       #include <Inventor/SbOctTree.h>

   Public Member Functions
       SbOctTree (const SbBox3f &bbox, const SbOctTreeFuncs &itemfuncs, const int
           maxitemspernode=64)
       ~SbOctTree ()
       void addItem (void *const item)
       void removeItem (void *const item)
       void findItems (const SbVec3f &pos, SbList< void * > &destarray, const SbBool
           removeduplicates=TRUE) const
       void findItems (const SbBox3f &box, SbList< void * > &destarray, const SbBool
           removeduplicates=TRUE) const
       void findItems (const SbSphere &sphere, SbList< void * > &destarray, const SbBool
           removeduplicates=TRUE) const
       void findItems (const SbPlane *const planes, const int numplanes, SbList< void * >
           &destarray, const SbBool removeduplicates=TRUE) const
       const SbBox3f & getBoundingBox (void) const
       void clear (void)
       void debugTree (FILE *fp)

Detailed Description

       The SbOctTree class defines a generic oct tree for fast geometry searches.

       Be aware that this class is an extension for Coin, and it is not available in the original
       SGI Open Inventor v2.1 API.

Constructor & Destructor Documentation

   SbOctTree::SbOctTree (const SbBox3f &bbox, const SbOctTreeFuncs &itemfuncs, const intmaxitems
       = 64)
       Constructor.

   SbOctTree::~SbOctTree ()
       Destructor.

Member Function Documentation

   void SbOctTree::addItem (void *constitem)
       Adds an item to this oct tree.

   void SbOctTree::removeItem (void *constitem)
       Removes the item from the octtree. The octtree will not be modified/simplified even when
       all items are removed.

   void SbOctTree::findItems (const SbVec3f &pos, SbList< void * > &destarray, const
       SbBoolremoveduplicates = TRUE) const
       Finds all items which contains the point pos. Items are returned in destarray.

       If removeduplicates is TRUE (the default), destarray will not contain duplicate items.
       This is not an optimized process, so if you're looking for speed you should set this to
       FALSE and do your own postprocessing of the array of returned items.

       Note that if the Coin library has been built as a DLL under Microsoft Windows and you use
       this method from application code, you must make sure that both the Coin DLL and the
       application executable is using the same instance of a C Run-Time (CRT) library.
       Otherwise, you will get memory heap corruption upon deallocating the returned instances,
       eventually leading to mysterious crashes.

   void SbOctTree::findItems (const SbBox3f &box, SbList< void * > &destarray, const
       SbBoolremoveduplicates = TRUE) const
       Finds all items inside box. Items are returned in destarray.

       If removeduplicates is TRUE (the default), destarray will not contain duplicate items.
       This is not an optimized process, so if you're looking for speed you should set this to
       FALSE and do your own postprocessing of the array of returned items.

       Note that if the Coin library has been built as a DLL under Microsoft Windows and you use
       this method from application code, you must make sure that both the Coin DLL and the
       application executable is using the same instance of a C Run-Time (CRT) library.
       Otherwise, you will get memory heap corruption upon deallocating the returned instances,
       eventually leading to mysterious crashes.

   void SbOctTree::findItems (const SbSphere &sphere, SbList< void * > &destarray, const
       SbBoolremoveduplicates = TRUE) const
       Finds all items inside sphere. Items are returned in destarray.

       If removeduplicates is TRUE (the default), destarray will not contain duplicate items.
       This is not an optimized process, so if you're looking for speed you should set this to
       FALSE and do your own postprocessing of the array of returned items.

       Note that if the Coin library has been built as a DLL under Microsoft Windows and you use
       this method from application code, you must make sure that both the Coin DLL and the
       application executable is using the same instance of a C Run-Time (CRT) library.
       Otherwise, you will get memory heap corruption upon deallocating the returned instances,
       eventually leading to mysterious crashes.

   void SbOctTree::findItems (const SbPlane *constplanes, const intnumplanes, SbList< void * >
       &destarray, const SbBoolremoveduplicates = TRUE) const
       Finds all items inside planes. The method SbPlane::isInHalfSpace() should be used, and
       only items which are (partly) inside all planes are returned. Items are returned in
       destarray.

       If removeduplicates is TRUE (the default), destarray will not contain duplicate items.
       This is not an optimized process, so if you're looking for speed you should set this to
       FALSE and do your own postprocessing of the array of returned items.

       Note that if the Coin library has been built as a DLL under Microsoft Windows and you use
       this method from application code, you must make sure that both the Coin DLL and the
       application executable is using the same instance of a C Run-Time (CRT) library.
       Otherwise, you will get memory heap corruption upon deallocating the returned instances,
       eventually leading to mysterious crashes.

   const SbBox3f & SbOctTree::getBoundingBox (void) const
       Returns a bounding box enclosing all the elements in the tree. This is just the same
       bounding box which was supplied to the constructor.

   void SbOctTree::clear (void)
       Restores this oct tree to an empty oct tree. The bounding box will still be the same
       though.

Author

       Generated automatically by Doxygen for Coin from the source code.