Cinder  0.9.1
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
cinder::geom::SourceModsContext Class Reference

#include <GeomIo.h>

Inherits cinder::geom::Target.

Public Member Functions

 SourceModsContext (const SourceMods *sourceMods)
 
 SourceModsContext ()
 
void loadInto (Target *target, const AttribSet &requestedAttribs)
 
uint8_t getAttribDims (Attrib attr) const override
 
void copyAttrib (Attrib attr, uint8_t dims, size_t strideBytes, const float *srcData, size_t count) override
 
void copyIndices (Primitive primitive, const uint32_t *source, size_t numIndices, uint8_t requiredBytesPerIndex) override
 
void appendAttrib (Attrib attr, uint8_t dims, const float *srcData, size_t count)
 
void clearAttrib (Attrib attr)
 
void appendIndices (Primitive primitive, const uint32_t *source, size_t numIndices, uint8_t requiredBytes)
 
void clearIndices ()
 
size_t getNumVertices () const
 
size_t getNumIndices () const
 
Primitive getPrimitive () const
 
AttribSet getAvailableAttribs () const
 
void processUpstream (const AttribSet &requestedAttribs)
 
float * getAttribData (Attrib attr)
 
const float * getAttribData (Attrib attr) const
 
uint32_t * getIndicesData ()
 
const uint32_t * getIndicesData () const
 
void preload (const AttribSet &requestedAttribs)
 
void combine (const SourceModsContext &rhs)
 
void complete (Target *target, const AttribSet &requestedAttribs)
 
void generateIndices (Primitive sourcePrimitive, size_t sourceNumIndices)
 

Static Public Member Functions

static void copyIndexDataForceTriangles (Primitive primitive, const uint32_t *source, size_t numIndices, uint32_t indexOffset, uint32_t *target)
 
static void copyIndexDataForceTriangles (Primitive primitive, const uint32_t *source, size_t numIndices, uint16_t indexOffset, uint16_t *target)
 
static void copyIndexDataForceLines (Primitive primitive, const uint32_t *source, size_t numIndices, uint32_t indexOffset, uint32_t *target)
 
static void generateIndicesForceTriangles (Primitive primitive, size_t numInputIndices, uint32_t indexOffset, uint32_t *target)
 
static void generateIndicesForceLines (Primitive primitive, size_t numInputIndices, uint32_t indexOffset, uint32_t *target)
 
static Primitive determineCombinedPrimitive (Primitive a, Primitive b)
 

Protected Member Functions

void copyIndexData (const uint32_t *source, size_t numIndices, uint32_t *target)
 
void copyIndexData (const uint32_t *source, size_t numIndices, uint16_t *target)
 

Detailed Description

Base class for SourceMods<> and SourceModsPtr<> Used by Modifiers to process Source -> Target

Constructor & Destructor Documentation

cinder::geom::SourceModsContext::SourceModsContext ( const SourceMods sourceMods)
cinder::geom::SourceModsContext::SourceModsContext ( )

Can be used to capture a Source. Calling loadInto() in this case is an error.

Member Function Documentation

void cinder::geom::SourceModsContext::loadInto ( Target target,
const AttribSet requestedAttribs 
)
uint8_t cinder::geom::SourceModsContext::getAttribDims ( Attrib  attr) const
overridevirtual

Implements cinder::geom::Target.

void cinder::geom::SourceModsContext::copyAttrib ( Attrib  attr,
uint8_t  dims,
size_t  strideBytes,
const float *  srcData,
size_t  count 
)
overridevirtual

Implements cinder::geom::Target.

void cinder::geom::SourceModsContext::copyIndices ( Primitive  primitive,
const uint32_t *  source,
size_t  numIndices,
uint8_t  requiredBytesPerIndex 
)
overridevirtual

Implements cinder::geom::Target.

void cinder::geom::SourceModsContext::appendAttrib ( Attrib  attr,
uint8_t  dims,
const float *  srcData,
size_t  count 
)

Appends vertex data to existing data for attr. dims must match existing data.

void cinder::geom::SourceModsContext::clearAttrib ( Attrib  attr)
void cinder::geom::SourceModsContext::appendIndices ( Primitive  primitive,
const uint32_t *  source,
size_t  numIndices,
uint8_t  requiredBytes 
)

Appends index data to existing index data. primitive must match existing data.

void cinder::geom::SourceModsContext::clearIndices ( )
size_t cinder::geom::SourceModsContext::getNumVertices ( ) const
size_t cinder::geom::SourceModsContext::getNumIndices ( ) const
Primitive cinder::geom::SourceModsContext::getPrimitive ( ) const
AttribSet cinder::geom::SourceModsContext::getAvailableAttribs ( ) const
void cinder::geom::SourceModsContext::processUpstream ( const AttribSet requestedAttribs)
float * cinder::geom::SourceModsContext::getAttribData ( Attrib  attr)
const float* cinder::geom::SourceModsContext::getAttribData ( Attrib  attr) const
uint32_t * cinder::geom::SourceModsContext::getIndicesData ( )
const uint32_t* cinder::geom::SourceModsContext::getIndicesData ( ) const
void cinder::geom::SourceModsContext::preload ( const AttribSet requestedAttribs)
void cinder::geom::SourceModsContext::combine ( const SourceModsContext rhs)
void cinder::geom::SourceModsContext::complete ( Target target,
const AttribSet requestedAttribs 
)
void cinder::geom::Target::generateIndices ( Primitive  sourcePrimitive,
size_t  sourceNumIndices 
)
inherited

For non-indexed geometry, this generates appropriate indices and then calls the copyIndices() virtual method.

void cinder::geom::Target::copyIndexDataForceTriangles ( Primitive  primitive,
const uint32_t *  source,
size_t  numIndices,
uint32_t  indexOffset,
uint32_t *  target 
)
staticinherited
void cinder::geom::Target::copyIndexDataForceTriangles ( Primitive  primitive,
const uint32_t *  source,
size_t  numIndices,
uint16_t  indexOffset,
uint16_t *  target 
)
staticinherited
void cinder::geom::Target::copyIndexDataForceLines ( Primitive  primitive,
const uint32_t *  source,
size_t  numIndices,
uint32_t  indexOffset,
uint32_t *  target 
)
staticinherited
void cinder::geom::Target::generateIndicesForceTriangles ( Primitive  primitive,
size_t  numInputIndices,
uint32_t  indexOffset,
uint32_t *  target 
)
staticinherited
void cinder::geom::Target::generateIndicesForceLines ( Primitive  primitive,
size_t  numInputIndices,
uint32_t  indexOffset,
uint32_t *  target 
)
staticinherited
Primitive cinder::geom::Target::determineCombinedPrimitive ( Primitive  a,
Primitive  b 
)
staticinherited

Returns the Primitive type that accommodates both 'a' and 'b'. Returns NUM_PRIMITIVES if none can.

void cinder::geom::Target::copyIndexData ( const uint32_t *  source,
size_t  numIndices,
uint32_t *  target 
)
protectedinherited
void cinder::geom::Target::copyIndexData ( const uint32_t *  source,
size_t  numIndices,
uint16_t *  target 
)
protectedinherited

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