Open Inventor Reference
SoVertexPropertyCache Class Reference

#include <Inventor/nodes/SoVertexProperty.h>

List of all members.

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

SbBool mightNeedSomethingFromState (const SoShapeStyleElement *sse) const
 API used by shapes:
void fillInColorAndTranspAvail (const SoVertexProperty *, SoState *state)
void fillInCache (const SoVertexProperty *, SoState *)
SbBool shouldGenerateNormals (const SoShapeStyleElement *sse) const
SbBool shouldGenerateTexCoords (const SoShapeStyleElement *sse) const
int getRenderCase (const SoShapeStyleElement *sse) const
SbBool 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
SbBool colorIsInVtxProp () const
SbBool 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 ()
 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
SbBool generateNormals
SbBool generateTexCoords
unsigned char needFromState

Detailed Description

Definition at line 264 of file SoVertexProperty.h.


Member Enumeration Documentation

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 369 of file SoVertexProperty.h.

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 387 of file SoVertexProperty.h.


Constructor & Destructor Documentation

SoVertexPropertyCache::SoVertexPropertyCache ( )

Member Function Documentation

SbBool SoVertexPropertyCache::colorIsInVtxProp ( ) const [inline]

Definition at line 310 of file SoVertexProperty.h.

void SoVertexPropertyCache::fillInCache ( const SoVertexProperty ,
SoState  
)
void SoVertexPropertyCache::fillInColorAndTranspAvail ( const SoVertexProperty ,
SoState state 
)
const char* SoVertexPropertyCache::getColors ( int  i) const [inline]

Definition at line 305 of file SoVertexProperty.h.

int SoVertexPropertyCache::getColorStride ( ) const [inline]

Definition at line 317 of file SoVertexProperty.h.

SoMaterialBindingElement::Binding SoVertexPropertyCache::getMaterialBinding ( ) [inline]

Definition at line 323 of file SoVertexProperty.h.

SoNormalBindingElement::Binding SoVertexPropertyCache::getNormalBinding ( ) [inline]

Definition at line 320 of file SoVertexProperty.h.

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

Definition at line 303 of file SoVertexProperty.h.

int SoVertexPropertyCache::getNormalStride ( ) const [inline]

Definition at line 316 of file SoVertexProperty.h.

int SoVertexPropertyCache::getNumColors ( ) const [inline]

Definition at line 298 of file SoVertexProperty.h.

int SoVertexPropertyCache::getNumNormals ( ) const [inline]

Definition at line 297 of file SoVertexProperty.h.

int SoVertexPropertyCache::getNumTexCoords ( ) const [inline]

Definition at line 299 of file SoVertexProperty.h.

int SoVertexPropertyCache::getNumVertices ( ) const [inline]

Definition at line 296 of file SoVertexProperty.h.

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

Definition at line 281 of file SoVertexProperty.h.

References SoShapeStyleElement::getRenderCaseMask().

SoTextureCoordinateBindingElement::Binding SoVertexPropertyCache::getTexCoordBinding ( ) [inline]

Definition at line 326 of file SoVertexProperty.h.

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

Definition at line 307 of file SoVertexProperty.h.

int SoVertexPropertyCache::getTexCoordStride ( ) const [inline]

Definition at line 318 of file SoVertexProperty.h.

int SoVertexPropertyCache::getVertexStride ( ) const [inline]

Definition at line 315 of file SoVertexProperty.h.

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

Definition at line 301 of file SoVertexProperty.h.

SbBool SoVertexPropertyCache::haveTexCoordsInVP ( ) [inline]

Definition at line 284 of file SoVertexProperty.h.

void SoVertexPropertyCache::invalidate ( ) [inline]

Definition at line 329 of file SoVertexProperty.h.

SbBool SoVertexPropertyCache::mightNeedSomethingFromState ( const SoShapeStyleElement sse) const [inline]

Definition at line 269 of file SoVertexProperty.h.

References SoShapeStyleElement::getRenderCaseMask().

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

Definition at line 291 of file SoVertexProperty.h.

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

Definition at line 289 of file SoVertexProperty.h.

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

Definition at line 293 of file SoVertexProperty.h.

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

Definition at line 287 of file SoVertexProperty.h.

SbBool SoVertexPropertyCache::shouldGenerateNormals ( const SoShapeStyleElement sse) const [inline]

Definition at line 275 of file SoVertexProperty.h.

References SoShapeStyleElement::needNormals().

SbBool SoVertexPropertyCache::shouldGenerateTexCoords ( const SoShapeStyleElement sse) const [inline]

Definition at line 278 of file SoVertexProperty.h.

References SoShapeStyleElement::needTexCoords().

SbBool SoVertexPropertyCache::transpIsInVtxProp ( ) const [inline]

Definition at line 313 of file SoVertexProperty.h.


Member Data Documentation

Definition at line 344 of file SoVertexProperty.h.

Definition at line 353 of file SoVertexProperty.h.

Definition at line 341 of file SoVertexProperty.h.

Definition at line 345 of file SoVertexProperty.h.

Definition at line 342 of file SoVertexProperty.h.

Definition at line 339 of file SoVertexProperty.h.

Definition at line 347 of file SoVertexProperty.h.

Definition at line 338 of file SoVertexProperty.h.


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