SoConvexDataCache(3)

πŸ“¦
version 4.0.10 Β· 4 versions
, in fedora 43, fedora 44

πŸ’– NAME πŸ’–

SoConvexDataCache β€” bestie, this is the class that caches your convexified polygons. That's the whole job. She's a cache. She holds the triangles. Iconic behaviour, honestly.

Also hi, this is the SoConvexDataCache(3) page, from the Coin manual. Grab a snack, we're going in πŸ“


✨ SYNOPSIS ✨

#include <Inventor/caches/SoConvexDataCache.h>

Inherits SoCache.


πŸŽ€ Public Types πŸŽ€

enum Binding { NONE = 0, PER_FACE, PER_FACE_INDEXED, PER_VERTEX,
    PER_VERTEX_INDEXED }

The Binding enum is used to specify bindings. That's literally what it's for, no cap.


πŸ’… 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 ()

πŸ”₯ DETAILED DESCRIPTION πŸ”₯

The SoConvexDataCache class is used to cache convexified polygons.

Okay so real talk: SoConvexDataCache is here to make rendering concave polygons fast. How? She tessellates every polygon into triangles and stashes all those freshly generated primitives in an internal cache. Boom. That's the glow-up. ✨

Heads up bestie β€” this class is not part of the original SGI Open Inventor v2.1 API. She's a Coin extension. So don't go looking for her in the O.G. docs, she's not there. πŸ’€

🌈 MEMBER ENUMERATION DOCUMENTATION 🌈

🌟 enum SoConvexDataCache::Binding 🌟

The Binding enum is used to specify bindings. Binding applies to normals, materials and texture coordinates. She's versatile like that πŸ’β€β™€οΈ

The values are:

  • NONE = 0
  • PER_FACE
  • PER_FACE_INDEXED
  • PER_VERTEX
  • PER_VERTEX_INDEXED

πŸŽ€ CONSTRUCTOR & DESTRUCTOR DOCUMENTATION πŸŽ€

🌸 SoConvexDataCache::SoConvexDataCache (SoState *const state) 🌸

Constructor, with state being the current state. That's it, that's the sentence πŸ’–

πŸ¦‹ SoConvexDataCache::~SoConvexDataCache () [virtual] πŸ¦‹

Destructor. She's leaving, say bye πŸ‘‹


⭐ MEMBER FUNCTION DOCUMENTATION ⭐

πŸ’« 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 πŸ™ˆ β€” yeah the original really says that, I'm not making it up, we keep it exactly as-is.

πŸ“ const int32_t * SoConvexDataCache::getCoordIndices (void ) const πŸ“

Returns a pointer to the convexified coordinate indices.

See also: SoConvexDataCache::getNumCoordIndices()

πŸ“ int SoConvexDataCache::getNumCoordIndices (void ) const πŸ“

Returns the number of coordinate indices.

See also: SoConvexDataCache::getCoordIndices()

🧚 const int32_t * SoConvexDataCache::getMaterialIndices (void ) const 🧚

Returns the convexified material indices.

See also: SoConvexDataCache::getNumMaterialIndices()

🧚 int SoConvexDataCache::getNumMaterialIndices (void ) const 🧚

Returns the number of material indices.

See also: SoConvexDataCache::getMaterialIndices()

πŸ’œ const int32_t * SoConvexDataCache::getNormalIndices (void ) const πŸ’œ

Returns the convexified normal indices.

See also: SoConvexDataCache::getNumNormalIndices()

πŸ’œ int SoConvexDataCache::getNumNormalIndices (void ) const πŸ’œ

Returns the number of normal indices.

See also: SoConvexDataCache::getNormalIndices()

🌈 const int32_t * SoConvexDataCache::getTexIndices (void ) const 🌈

Returns the convexified texture coordinate indices.

See also: SoConvexDataCache::getNumTexIndices()

🌈 int SoConvexDataCache::getNumTexIndices (void ) const 🌈

Returns the number of texture coordinate indices.

See also: SoConvexDataCache::getTexIndices()


πŸ‘‘ AUTHOR πŸ‘‘

Generated automatically by Doxygen for Coin from the source code. The robot did it, not me πŸ€–πŸ’…


And that's the whole page, bestie! This was Version 4.0.10, dated Thu Jun 25 2026 00:00:00, filed under SoConvexDataCache(3). Go tessellate something gorgeous πŸ¦‹βœ¨

πŸ“¦ where this page comes from