Cinder  0.9.1
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
cinder::geom::SourceMods Class Reference

#include <GeomIo.h>

Inherits cinder::geom::Source.

Public Member Functions

 SourceMods ()
 
 SourceMods (const geom::Source &source)
 
 SourceMods (const geom::Source *source)
 
 SourceMods (const SourceMods &rhs)
 
 SourceMods (SourceMods &&rhs)
 
 SourceMods (const Source *source, bool clone)
 
void append (const Modifier &modifier)
 
void append (const Source &source)
 
void append (const SourceMods &sourceMods)
 
SourceModsoperator= (const SourceMods &rhs)
 
SourceModsoperator&= (const SourceMods &sourceMods)
 
SourceModsoperator&= (const Source &source)
 
const std::vector< std::unique_ptr< Modifier > > & getModifiers () const
 
const SourcegetSource () const
 
const std::unique_ptr< Source > & getSourceStorage () const
 
size_t getNumVertices () const override
 
size_t getNumIndices () const override
 
Primitive getPrimitive () const override
 
uint8_t getAttribDims (Attrib attr) const override
 
AttribSet getAvailableAttribs () const override
 
void loadInto (Target *target, const AttribSet &requestedAttribs) const override
 
SourceModsclone () const override
 

Protected Member Functions

void copyImpl (const SourceMods &rhs)
 
void cacheVariables () const
 
void copyIndicesNonIndexed (uint16_t *dest) const
 
void copyIndicesNonIndexed (uint32_t *dest) const
 
template<typename T >
void forceCopyIndicesTrianglesImpl (T *dest) const
 

Protected Attributes

const SourcemSourcePtr
 
std::unique_ptr< SourcemSourceStorage
 
std::vector< std::unique_ptr< Modifier > > mModifiers
 
bool mVariablesCached
 
std::vector< Modifier::ParamsmParamsStack
 
std::vector< std::unique_ptr< SourceMods > > mChildren
 

Friends

class SourceModsContext
 

Detailed Description

Represents a geom::Source with 0 or more geom::Modifiers concatenated.

Constructor & Destructor Documentation

cinder::geom::SourceMods::SourceMods ( )
cinder::geom::SourceMods::SourceMods ( const geom::Source source)
cinder::geom::SourceMods::SourceMods ( const geom::Source source)
cinder::geom::SourceMods::SourceMods ( const SourceMods rhs)
cinder::geom::SourceMods::SourceMods ( SourceMods &&  rhs)
cinder::geom::SourceMods::SourceMods ( const Source source,
bool  clone 
)
explicit

Member Function Documentation

void cinder::geom::SourceMods::append ( const Modifier modifier)
void cinder::geom::SourceMods::append ( const Source source)
void cinder::geom::SourceMods::append ( const SourceMods sourceMods)
SourceMods& cinder::geom::SourceMods::operator= ( const SourceMods rhs)
SourceMods& cinder::geom::SourceMods::operator&= ( const SourceMods sourceMods)
SourceMods& cinder::geom::SourceMods::operator&= ( const Source source)
const std::vector<std::unique_ptr<Modifier> >& cinder::geom::SourceMods::getModifiers ( ) const
const Source* cinder::geom::SourceMods::getSource ( ) const
const std::unique_ptr<Source>& cinder::geom::SourceMods::getSourceStorage ( ) const

Not generally useful. Use getSource() instead. Maps to nullptr when the SourceMods is not responsible for ownership.

size_t cinder::geom::SourceMods::getNumVertices ( ) const
overridevirtual

Implements cinder::geom::Source.

size_t cinder::geom::SourceMods::getNumIndices ( ) const
overridevirtual

Implements cinder::geom::Source.

Primitive cinder::geom::SourceMods::getPrimitive ( ) const
overridevirtual

Implements cinder::geom::Source.

uint8_t cinder::geom::SourceMods::getAttribDims ( Attrib  attr) const
overridevirtual

Implements cinder::geom::Source.

AttribSet cinder::geom::SourceMods::getAvailableAttribs ( ) const
overridevirtual

Implements cinder::geom::Source.

void cinder::geom::SourceMods::loadInto ( Target target,
const AttribSet requestedAttribs 
) const
overridevirtual

Implements cinder::geom::Source.

SourceMods* cinder::geom::SourceMods::clone ( ) const
overridevirtual

Implements cinder::geom::Source.

void cinder::geom::SourceMods::copyImpl ( const SourceMods rhs)
protected
void cinder::geom::SourceMods::cacheVariables ( ) const
protected
void cinder::geom::Source::copyIndicesNonIndexed ( uint16_t *  dest) const
protectedinherited

Builds a sequential list of vertices to simulate an indexed geometry when Source is non-indexed. Assumes dest contains storage for getNumVertices() entries.

void cinder::geom::Source::copyIndicesNonIndexed ( uint32_t *  dest) const
protectedinherited

Builds a sequential list of vertices to simulate an indexed geometry when Source is non-indexed. Assumes dest contains storage for getNumVertices() entries.

template<typename T >
void cinder::geom::Source::forceCopyIndicesTrianglesImpl ( T *  dest) const
protectedinherited

Friends And Related Function Documentation

friend class SourceModsContext
friend

Member Data Documentation

const Source* cinder::geom::SourceMods::mSourcePtr
protected
std::unique_ptr<Source> cinder::geom::SourceMods::mSourceStorage
protected
std::vector<std::unique_ptr<Modifier> > cinder::geom::SourceMods::mModifiers
protected
bool cinder::geom::SourceMods::mVariablesCached
mutableprotected
std::vector<Modifier::Params> cinder::geom::SourceMods::mParamsStack
mutableprotected
std::vector<std::unique_ptr<SourceMods> > cinder::geom::SourceMods::mChildren
protected

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