HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HdDrawingCoord Class Reference

#include <drawingCoord.h>

Public Member Functions

 HdDrawingCoord ()
 
int GetConstantPrimvarIndex () const
 
void SetConstantPrimvarIndex (int slot)
 
int GetVertexPrimvarIndex () const
 
void SetVertexPrimvarIndex (int slot)
 
int GetTopologyIndex () const
 
void SetTopologyIndex (int slot)
 
int GetElementPrimvarIndex () const
 
void SetElementPrimvarIndex (int slot)
 
int GetInstanceIndexIndex () const
 
void SetInstanceIndexIndex (int slot)
 
int GetFaceVaryingPrimvarIndex () const
 
void SetFaceVaryingPrimvarIndex (int slot)
 
int GetTopologyVisibilityIndex () const
 
void SetTopologyVisibilityIndex (int slot)
 
void SetInstancePrimvarBaseIndex (int slot)
 
int GetInstancePrimvarIndex (int level) const
 

Static Public Attributes

static const int CustomSlotsBegin = 7
 
static const int DefaultNumSlots = 3
 
static const int Unassigned = -1
 

Detailed Description

A tiny set of integers, which provides an indirection mapping from the conceptual space of an HdRprim's resources (topological, primvar & instancing) to the index within HdBufferArrayRangeContainer, where the resource is stored.

Each HdDrawItem contains a HdDrawingCoord, with the relevant compositional hierarchy being:

HdRprim | +–HdRepr(s) | | | +–HdDrawItem(s)-------—. | | | | +–HdDrawingCoord | | | (mapping provided by HdDrawingCoord) +–HdRprimSharedData | | | +–HdBARContainer <-----—+

Having this indirection provides a recipe for how to configure a drawing coordinate, which is a bundle of HdBufferArrayRanges, while they are shared or not shared across different representations constructed on the same prim.

HullRepr ------— Rprim ------— RefinedRepr | | | DrawItem | DrawItem | | | DrawingCoord Container DrawingCoord constant ----—> [ 0 ] <---— constant vertex ----—> [ 1 ] topology ----—> [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] <---— vertex (refined) [ 7 ] <---— topology (refined) ... instance level=0 —> [ k ] instance level=1 —> [k+1] instance level=2 —> [k+2]

Definition at line 81 of file drawingCoord.h.

Constructor & Destructor Documentation

HdDrawingCoord::HdDrawingCoord ( )
inline

Definition at line 87 of file drawingCoord.h.

Member Function Documentation

int HdDrawingCoord::GetConstantPrimvarIndex ( ) const
inline

Definition at line 99 of file drawingCoord.h.

int HdDrawingCoord::GetElementPrimvarIndex ( ) const
inline

Definition at line 105 of file drawingCoord.h.

int HdDrawingCoord::GetFaceVaryingPrimvarIndex ( ) const
inline

Definition at line 109 of file drawingCoord.h.

int HdDrawingCoord::GetInstanceIndexIndex ( ) const
inline

Definition at line 107 of file drawingCoord.h.

int HdDrawingCoord::GetInstancePrimvarIndex ( int  level) const
inline

Definition at line 116 of file drawingCoord.h.

int HdDrawingCoord::GetTopologyIndex ( ) const
inline

Definition at line 103 of file drawingCoord.h.

int HdDrawingCoord::GetTopologyVisibilityIndex ( ) const
inline

Definition at line 111 of file drawingCoord.h.

int HdDrawingCoord::GetVertexPrimvarIndex ( ) const
inline

Definition at line 101 of file drawingCoord.h.

void HdDrawingCoord::SetConstantPrimvarIndex ( int  slot)
inline

Definition at line 100 of file drawingCoord.h.

void HdDrawingCoord::SetElementPrimvarIndex ( int  slot)
inline

Definition at line 106 of file drawingCoord.h.

void HdDrawingCoord::SetFaceVaryingPrimvarIndex ( int  slot)
inline

Definition at line 110 of file drawingCoord.h.

void HdDrawingCoord::SetInstanceIndexIndex ( int  slot)
inline

Definition at line 108 of file drawingCoord.h.

void HdDrawingCoord::SetInstancePrimvarBaseIndex ( int  slot)
inline

Definition at line 115 of file drawingCoord.h.

void HdDrawingCoord::SetTopologyIndex ( int  slot)
inline

Definition at line 104 of file drawingCoord.h.

void HdDrawingCoord::SetTopologyVisibilityIndex ( int  slot)
inline

Definition at line 112 of file drawingCoord.h.

void HdDrawingCoord::SetVertexPrimvarIndex ( int  slot)
inline

Definition at line 102 of file drawingCoord.h.

Member Data Documentation

const int HdDrawingCoord::CustomSlotsBegin = 7
static

Definition at line 83 of file drawingCoord.h.

const int HdDrawingCoord::DefaultNumSlots = 3
static

Definition at line 84 of file drawingCoord.h.

const int HdDrawingCoord::Unassigned = -1
static

Definition at line 85 of file drawingCoord.h.


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