Coin3D is Free Software, published under the BSD 3-clause license. |
https://bitbucket.org/Coin3D/ http://www.kongsberg.com/kogt/ |
The SoConvexDataCache class is used to cache convexified polygons. More...
#include <Inventor/caches/SoConvexDataCache.h>
Public Types | |
enum | Binding { NONE = 0, PER_FACE, PER_FACE_INDEXED, PER_VERTEX, PER_VERTEX_INDEXED } |
The Binding enum is used to specify bindings. More... | |
Public Member Functions | |
SoConvexDataCache (SoState *const state) | |
virtual | ~SoConvexDataCache () |
void | generate (const SoCoordinateElement *const coords, const SbMatrix &matrix, const int32_t *coordindices, const int numcoordindices, const int32_t *matindices, const int32_t *normindices, const int32_t *texindices, const Binding matbinding, const Binding normbinding, const Binding texbinding) |
const int32_t * | getCoordIndices (void) const |
int | getNumCoordIndices (void) const |
const int32_t * | getMaterialIndices (void) const |
int | getNumMaterialIndices (void) const |
const int32_t * | getNormalIndices (void) const |
int | getNumNormalIndices (void) const |
const int32_t * | getTexIndices (void) const |
int | getNumTexIndices (void) const |
Public Member Functions inherited from SoCache | |
SoCache (SoState *const state) | |
void | ref (void) |
void | unref (SoState *state=NULL) |
void | addElement (const SoElement *const elem) |
virtual void | addCacheDependency (const SoState *state, SoCache *cache) |
virtual SbBool | isValid (const SoState *state) const |
const SoElement * | getInvalidElement (const SoState *const state) const |
void | invalidate (void) |
Additional Inherited Members | |
Protected Member Functions inherited from SoCache | |
virtual void | destroy (SoState *state) |
virtual | ~SoCache () |
The SoConvexDataCache class is used to cache convexified polygons.
SoConvexDataCache is used to speed up rendering of concave polygons by tessellating all polygons into triangles and storing the newly generated primitives in an internal cache.
This class is not part of the original SGI Open Inventor v2.1 API, but is a Coin extension.
The Binding enum is used to specify bindings.
Binding applies to normals, materials and texture coordinates.
SoConvexDataCache::SoConvexDataCache | ( | SoState *const | state | ) |
Constructor with state being the current state.
|
virtual |
Destructor.
void SoConvexDataCache::generate | ( | const SoCoordinateElement *const | coords, |
const SbMatrix & | matrix, | ||
const int32_t * | vind, | ||
const int | numv, | ||
const int32_t * | mind, | ||
const int32_t * | nind, | ||
const int32_t * | tind, | ||
const Binding | matbind, | ||
const Binding | normbind, | ||
const Binding | texbind | ||
) |
Generates the convexified data. FIXME: doc
const int32_t * SoConvexDataCache::getCoordIndices | ( | void | ) | const |
Returns a pointer to the convexified coordinate indices.
int SoConvexDataCache::getNumCoordIndices | ( | void | ) | const |
Returns the number of coordinate indices.
const int32_t * SoConvexDataCache::getMaterialIndices | ( | void | ) | const |
Returns the convexified material indices.
int SoConvexDataCache::getNumMaterialIndices | ( | void | ) | const |
Returns the number of material indices.
const int32_t * SoConvexDataCache::getNormalIndices | ( | void | ) | const |
Returns the convexified normal indices.
int SoConvexDataCache::getNumNormalIndices | ( | void | ) | const |
Returns the number of normal indices.
const int32_t * SoConvexDataCache::getTexIndices | ( | void | ) | const |
Returns the convexified texture coordinate indices.
int SoConvexDataCache::getNumTexIndices | ( | void | ) | const |
Returns the number of texture coordinate indices.