Open Inventor Reference
SoVertexPropertyCache Class Reference

#include <Inventor/nodes/SoVertexProperty.h>

Public Types

enum  {
  COLOR_BITS = 0x18 , PART_COLOR = 0x8 , FACE_COLOR = 0x10 , VERTEX_COLOR = 0x18 ,
  NORMAL_BITS = 0x6 , PART_NORMAL = 0x2 , FACE_NORMAL = 0x4 , VERTEX_NORMAL = 0x6 ,
  TEXCOORD_BIT = 0x1
}
 32 rendering cases. More...
 
enum  {
  TEXTURE_FUNCTION_BIT = 0x80 , OVERRIDE_FROM_STATE_BIT = 0x40 , COORD_FROM_STATE_BIT = 0x20 , COLOR_FROM_STATE_BITS = COLOR_BITS ,
  NORMAL_FROM_STATE_BITS = NORMAL_BITS , TEXCOORD_FROM_STATE_BIT = TEXCOORD_BIT , ALL_FROM_STATE_BITS = 0xFF
}
 Bit-mask, set by fillInCache method Bits use same as above, plus one for coords and one for overrides (diffuse color, material binding, transparency) plus one for texture function (if tcoords in VP) More...
 

Public Member Functions

bool mightNeedSomethingFromState (const SoShapeStyleElement *sse) const
 API used by shapes:
 
void fillInColorAndTranspAvail (const SoVertexProperty *, SoState *state)
 
void fillInCache (const SoVertexProperty *, SoState *)
 
bool shouldGenerateNormals (const SoShapeStyleElement *sse) const
 
bool shouldGenerateTexCoords (const SoShapeStyleElement *sse) const
 
int getRenderCase (const SoShapeStyleElement *sse) const
 
bool haveTexCoordsInVP ()
 
void sendVertex (const char *vp) const
 
void sendNormal (const char *np) const
 
void sendColor (const char *cp) const
 
void sendTexCoord (const char *tcp) const
 
int getNumVertices () const
 
int getNumNormals () const
 
int getNumColors () const
 
int getNumTexCoords () const
 
const char * getVertices (int i) const
 
const char * getNormals (int i) const
 
const char * getColors (int i) const
 
const char * getTexCoords (int i) const
 
bool colorIsInVtxProp () const
 
bool transpIsInVtxProp () const
 Indicates if non-opaque transparency is in vertex property.
 
int getVertexStride () const
 
int getNormalStride () const
 
int getColorStride () const
 
int getTexCoordStride () const
 
SoNormalBindingElement::Binding getNormalBinding ()
 
SoMaterialBindingElement::Binding getMaterialBinding ()
 
SoTextureCoordinateBindingElement::Binding getTexCoordBinding ()
 
void invalidate ()
 
void sendVertexAtIndex (const int32_t index)
 
void sendNormalAtIndex (const int32_t index)
 
void sendColorAtIndex (const int32_t index)
 
void sendTexCoordAtIndex (const int32_t index)
 
 SoVertexPropertyCache ()
 Constructor. Initializes everything.
 

Public Attributes

SoVPCacheFuncvertexFunc
 Tables of functions, data, and strides to increment through data.
 
const char * vertexPtr
 
int vertexStride
 
int numVerts
 
SoVPCacheFuncnormalFunc
 
const char * normalPtr
 
int normalStride
 
int numNorms
 
SoVPCacheFunccolorFunc
 
const char * colorPtr
 
int colorStride
 
int numColors
 
SoVPCacheFunctexCoordFunc
 
const char * texCoordPtr
 
int texCoordStride
 
int numTexCoords
 
bool generateNormals
 
bool generateTexCoords
 
unsigned char needFromState
 

Detailed Description

Definition at line 264 of file SoVertexProperty.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Non-indexed shapes can get away with just looking at the low 5 bits. The bits are arranged like this: 43210 BITS


00... Overall color 01... Part color 10... Face color 11... Vtx color ..00. Overall/No norm ..01. Part norm ..10. Face norm ..11. Vtx norm ....? Explicit exture coordinates needed

Enumerator
COLOR_BITS 
PART_COLOR 
FACE_COLOR 
VERTEX_COLOR 
NORMAL_BITS 
PART_NORMAL 
FACE_NORMAL 
VERTEX_NORMAL 
TEXCOORD_BIT 

Definition at line 374 of file SoVertexProperty.h.

◆ anonymous enum

anonymous enum
Enumerator
TEXTURE_FUNCTION_BIT 
OVERRIDE_FROM_STATE_BIT 
COORD_FROM_STATE_BIT 
COLOR_FROM_STATE_BITS 
NORMAL_FROM_STATE_BITS 
TEXCOORD_FROM_STATE_BIT 
ALL_FROM_STATE_BITS 

Definition at line 392 of file SoVertexProperty.h.

Constructor & Destructor Documentation

◆ SoVertexPropertyCache()

SoVertexPropertyCache::SoVertexPropertyCache ( )

Member Function Documentation

◆ colorIsInVtxProp()

bool SoVertexPropertyCache::colorIsInVtxProp ( ) const
inline

Definition at line 310 of file SoVertexProperty.h.

◆ fillInCache()

void SoVertexPropertyCache::fillInCache ( const SoVertexProperty ,
SoState  
)

◆ fillInColorAndTranspAvail()

void SoVertexPropertyCache::fillInColorAndTranspAvail ( const SoVertexProperty ,
SoState state 
)

◆ getColors()

const char * SoVertexPropertyCache::getColors ( int  i) const
inline

Definition at line 305 of file SoVertexProperty.h.

◆ getColorStride()

int SoVertexPropertyCache::getColorStride ( ) const
inline

Definition at line 317 of file SoVertexProperty.h.

◆ getMaterialBinding()

SoMaterialBindingElement::Binding SoVertexPropertyCache::getMaterialBinding ( )
inline

Definition at line 323 of file SoVertexProperty.h.

◆ getNormalBinding()

SoNormalBindingElement::Binding SoVertexPropertyCache::getNormalBinding ( )
inline

Definition at line 320 of file SoVertexProperty.h.

◆ getNormals()

const char * SoVertexPropertyCache::getNormals ( int  i) const
inline

Definition at line 303 of file SoVertexProperty.h.

◆ getNormalStride()

int SoVertexPropertyCache::getNormalStride ( ) const
inline

Definition at line 316 of file SoVertexProperty.h.

◆ getNumColors()

int SoVertexPropertyCache::getNumColors ( ) const
inline

Definition at line 298 of file SoVertexProperty.h.

◆ getNumNormals()

int SoVertexPropertyCache::getNumNormals ( ) const
inline

Definition at line 297 of file SoVertexProperty.h.

◆ getNumTexCoords()

int SoVertexPropertyCache::getNumTexCoords ( ) const
inline

Definition at line 299 of file SoVertexProperty.h.

◆ getNumVertices()

int SoVertexPropertyCache::getNumVertices ( ) const
inline

Definition at line 296 of file SoVertexProperty.h.

◆ getRenderCase()

int SoVertexPropertyCache::getRenderCase ( const SoShapeStyleElement sse) const
inline

Definition at line 281 of file SoVertexProperty.h.

References SoShapeStyleElement::getRenderCaseMask().

◆ getTexCoordBinding()

SoTextureCoordinateBindingElement::Binding SoVertexPropertyCache::getTexCoordBinding ( )
inline

Definition at line 326 of file SoVertexProperty.h.

◆ getTexCoords()

const char * SoVertexPropertyCache::getTexCoords ( int  i) const
inline

Definition at line 307 of file SoVertexProperty.h.

◆ getTexCoordStride()

int SoVertexPropertyCache::getTexCoordStride ( ) const
inline

Definition at line 318 of file SoVertexProperty.h.

◆ getVertexStride()

int SoVertexPropertyCache::getVertexStride ( ) const
inline

Definition at line 315 of file SoVertexProperty.h.

◆ getVertices()

const char * SoVertexPropertyCache::getVertices ( int  i) const
inline

Definition at line 301 of file SoVertexProperty.h.

◆ haveTexCoordsInVP()

bool SoVertexPropertyCache::haveTexCoordsInVP ( )
inline

Definition at line 284 of file SoVertexProperty.h.

◆ invalidate()

void SoVertexPropertyCache::invalidate ( )
inline

Definition at line 329 of file SoVertexProperty.h.

◆ mightNeedSomethingFromState()

bool SoVertexPropertyCache::mightNeedSomethingFromState ( const SoShapeStyleElement sse) const
inline

Definition at line 269 of file SoVertexProperty.h.

References SoShapeStyleElement::getRenderCaseMask().

◆ sendColor()

void SoVertexPropertyCache::sendColor ( const char *  cp) const
inline

Definition at line 291 of file SoVertexProperty.h.

◆ sendColorAtIndex()

void SoVertexPropertyCache::sendColorAtIndex ( const int32_t  index)

◆ sendNormal()

void SoVertexPropertyCache::sendNormal ( const char *  np) const
inline

Definition at line 289 of file SoVertexProperty.h.

◆ sendNormalAtIndex()

void SoVertexPropertyCache::sendNormalAtIndex ( const int32_t  index)

◆ sendTexCoord()

void SoVertexPropertyCache::sendTexCoord ( const char *  tcp) const
inline

Definition at line 293 of file SoVertexProperty.h.

◆ sendTexCoordAtIndex()

void SoVertexPropertyCache::sendTexCoordAtIndex ( const int32_t  index)

◆ sendVertex()

void SoVertexPropertyCache::sendVertex ( const char *  vp) const
inline

Definition at line 287 of file SoVertexProperty.h.

◆ sendVertexAtIndex()

void SoVertexPropertyCache::sendVertexAtIndex ( const int32_t  index)

◆ shouldGenerateNormals()

bool SoVertexPropertyCache::shouldGenerateNormals ( const SoShapeStyleElement sse) const
inline

Definition at line 275 of file SoVertexProperty.h.

References SoShapeStyleElement::needNormals().

◆ shouldGenerateTexCoords()

bool SoVertexPropertyCache::shouldGenerateTexCoords ( const SoShapeStyleElement sse) const
inline

Definition at line 278 of file SoVertexProperty.h.

References SoShapeStyleElement::needTexCoords().

◆ transpIsInVtxProp()

bool SoVertexPropertyCache::transpIsInVtxProp ( ) const
inline

Definition at line 313 of file SoVertexProperty.h.

Member Data Documentation

◆ colorFunc

SoVPCacheFunc* SoVertexPropertyCache::colorFunc

Definition at line 348 of file SoVertexProperty.h.

◆ colorPtr

const char* SoVertexPropertyCache::colorPtr

Definition at line 349 of file SoVertexProperty.h.

◆ colorStride

int SoVertexPropertyCache::colorStride

Definition at line 350 of file SoVertexProperty.h.

◆ generateNormals

bool SoVertexPropertyCache::generateNormals

Definition at line 355 of file SoVertexProperty.h.

◆ generateTexCoords

bool SoVertexPropertyCache::generateTexCoords

Definition at line 356 of file SoVertexProperty.h.

◆ needFromState

unsigned char SoVertexPropertyCache::needFromState

Definition at line 358 of file SoVertexProperty.h.

◆ normalFunc

SoVPCacheFunc* SoVertexPropertyCache::normalFunc

Definition at line 345 of file SoVertexProperty.h.

◆ normalPtr

const char* SoVertexPropertyCache::normalPtr

Definition at line 346 of file SoVertexProperty.h.

◆ normalStride

int SoVertexPropertyCache::normalStride

Definition at line 347 of file SoVertexProperty.h.

◆ numColors

int SoVertexPropertyCache::numColors

Definition at line 350 of file SoVertexProperty.h.

◆ numNorms

int SoVertexPropertyCache::numNorms

Definition at line 347 of file SoVertexProperty.h.

◆ numTexCoords

int SoVertexPropertyCache::numTexCoords

Definition at line 353 of file SoVertexProperty.h.

◆ numVerts

int SoVertexPropertyCache::numVerts

Definition at line 344 of file SoVertexProperty.h.

◆ texCoordFunc

SoVPCacheFunc* SoVertexPropertyCache::texCoordFunc

Definition at line 351 of file SoVertexProperty.h.

◆ texCoordPtr

const char* SoVertexPropertyCache::texCoordPtr

Definition at line 352 of file SoVertexProperty.h.

◆ texCoordStride

int SoVertexPropertyCache::texCoordStride

Definition at line 353 of file SoVertexProperty.h.

◆ vertexFunc

SoVPCacheFunc* SoVertexPropertyCache::vertexFunc

Definition at line 342 of file SoVertexProperty.h.

◆ vertexPtr

const char* SoVertexPropertyCache::vertexPtr

Definition at line 343 of file SoVertexProperty.h.

◆ vertexStride

int SoVertexPropertyCache::vertexStride

Definition at line 344 of file SoVertexProperty.h.


The documentation for this class was generated from the following file: