SoPrimitiveVertexCache(3)

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

πŸ’– SoPrimitiveVertexCache πŸ’–

okay bestie, so this is a page from the Coin manual, and we're talking about SoPrimitiveVertexCache(3). Buckle up, she's a little niche but she's iconic. πŸŽ€


✨ NAME ✨

SoPrimitiveVertexCache β€” this cache contains an organized version of the geometry in vertex array form. periodt. πŸ’…


🌸 SYNOPSIS 🌸

#include <Inherits SoCache./caches/SoPrimitiveVertexCache.h>

no wait bestie, let me do that properly, my bad 😭

#include <Inventor/caches/SoPrimitiveVertexCache.h>

Inherits SoCache. yes she's a nepo baby, she inherits from SoCache, and honestly? good for her. πŸ‘‘

πŸ¦‹ Public Types πŸ¦‹

  • enum Arrays β€” the little bitfield menu of what arrays you can get. here's the whole lineup:
    • NORMAL = 0x01
    • TEXCOORD = 0x02
    • COLOR = 0x04
    • ALL = (NORMAL|TEXCOORD|COLOR)

⭐ Public Member Functions ⭐

no cap, here's every single one of them, i'm not skipping a single thing because that's not the vibe:

  • SoPrimitiveVertexCache(SoState *state) β€” the constructor ✨
  • virtual ~SoPrimitiveVertexCache() β€” the destructor πŸ’€
  • virtual SbBool isValid(const SoState *state) const
  • void close(SoState *state)
  • void renderTriangles(SoState *state, const int arrays=ALL) const
  • void renderLines(SoState *state, const int arrays=ALL) const
  • void renderPoints(SoState *state, const int array=ALL) const
  • void addTriangle(const SoPrimitiveVertex *v0, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, const int *pointdetailidx=NULL)
  • void addLine(const SoPrimitiveVertex *v0, const SoPrimitiveVertex *v1)
  • void addPoint(const SoPrimitiveVertex *v)
  • int getNumVertices(void) const
  • const SbVec3f * getVertexArray(void) const
  • const SbVec3f * getNormalArray(void) const
  • const SbVec4f * getTexCoordArray(void) const
  • const SbVec2f * getBumpCoordArray(void) const
  • const uint8_t * getColorArray(void) const
  • int getNumTriangleIndices(void) const
  • const GLint * getTriangleIndices(void) const
  • int32_t getTriangleIndex(const int idx) const
  • SbBool colorPerVertex(void) const
  • const SbVec4f * getMultiTextureCoordinateArray(const int unit) const
  • int getNumLineIndices(void) const
  • const GLint * getLineIndices(void) const
  • int getNumPointIndices(void) const
  • const GLint * getPointIndices(void) const
  • void fit(void)
  • void depthSortTriangles(SoState *state)

πŸ’œ Public Member Functions inherited from SoCache πŸ’œ

the family she got it from, so to speak:

  • 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)
  • 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 πŸ’–

okay so basically: this cache contains an organized version of the geometry in vertex array form. it's giving "i took your messy geometry and i organized it, you're welcome." 🧚

The SoPrimitiveVertexClass is used to cache generated triangles. (that's the literal text, bestie, i'm just relaying the lore.)

Since: Coin 3.0 β€” she's been around a minute, a true veteran. πŸ‘‘


πŸŽ€ Constructor & Destructor Documentation πŸŽ€

🌸 SoPrimitiveVertexCache::SoPrimitiveVertexCache(SoState *state) 🌸

Constructor. ✨ that's it, that's the whole description. she's mysterious.

πŸ’€ SoPrimitiveVertexCache::~SoPrimitiveVertexCache() [virtual] πŸ’€

Destructor. πŸ’€ rip bestie, she's gone.


⭐ Member Function Documentation ⭐

πŸ¦‹ SbBool SoPrimitiveVertexCache::isValid(const SoState *state) const [virtual] πŸ¦‹

Return TRUE if this cache is valid, FALSE otherwise. simple as that, no notes. πŸ’…

Reimplemented from SoCache.

🌈 void SoPrimitiveVertexCache::close(SoState *state) 🌈

Closes the cache after it is created. takes care of SoGLLazyElement synchronization. lowkey doing the most so you don't have to. πŸ‘‘

heads up bestie, the rest of those member functions up in the list? the docs don't say anything else about them. not me making up behaviour, no ma'am. πŸ™ˆ

🌟 Author 🌟

Generated automatically by Doxygen for Coin from the source code. she's a Doxygen baby, born from the source itself. iconic honestly.


okay and finally, the cute little sign-off: this was Version 4.0.10, dated Thu Jun 25 2026 00:00:00, and it lives at page SoPrimitiveVertexCache(3). love that for her. πŸ«Άβœ¨πŸ’–

πŸ“¦ where this page comes from