---
name: "SoPrimitiveVertexCache"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SoPrimitiveVertexCache"
---

# SoPrimitiveVertexCache(3)

This cache contains an organized version of the geometry in vertex array form.

## NAME

SoPrimitiveVertexCache - This cache contains an organized version of the geometry in vertex array form.

## SYNOPSIS

\#include \<Inventor/caches/SoPrimitiveVertexCache.h\>

Inherits **SoCache**.

### Public Types

enum **Arrays** { **NORMAL** = 0x01, **TEXCOORD** = 0x02, **COLOR** = 0x04, **ALL** = (NORMAL\|TEXCOORD\|COLOR) }\

### Public Member Functions

**SoPrimitiveVertexCache** (**SoState** \*state)\
 virtual **~SoPrimitiveVertexCache** ()\
 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** **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

This cache contains an organized version of the geometry in vertex array form.

The SoPrimitiveVertexClass is used to cache generated triangles.

**Since**

Coin 3.0

## Constructor & Destructor Documentation

### SoPrimitiveVertexCache::SoPrimitiveVertexCache (SoState \* state)

Constructor.

### SoPrimitiveVertexCache::~SoPrimitiveVertexCache () \[virtual\]

Destructor.

## Member Function Documentation

### SbBool SoPrimitiveVertexCache::isValid (const SoState \* state) const \[virtual\]

Return *TRUE* if this cache is valid, *FALSE* otherwise.

Reimplemented from **SoCache**.

### void SoPrimitiveVertexCache::close (SoState \* state)

Closes the cache after it is created. Takes care of **SoGLLazyElement** synchronization.

## Author

Generated automatically by Doxygen for Coin from the source code.
