Cinder  0.9.1
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
cinder::geom::AttribFn< S, D > Class Template Reference

#include <GeomIo.h>

Inherits cinder::geom::Modifier.

Public Types

typedef std::function< D(S)> FN
 

Public Member Functions

 AttribFn (Attrib src, Attrib dst, const FN &fn)
 
 AttribFn (Attrib attrib, const FN &fn)
 
Modifierclone () const override
 
uint8_t getAttribDims (Attrib attr, uint8_t upstreamDims) const override
 
AttribSet getAvailableAttribs (const Modifier::Params &upstreamParams) const override
 
void process (SourceModsContext *ctx, const AttribSet &requestedAttribs) const override
 
virtual size_t getNumVertices (const Modifier::Params &upstreamParams) const
 
virtual size_t getNumIndices (const Modifier::Params &upstreamParams) const
 
virtual Primitive getPrimitive (const Modifier::Params &upstreamParams) const
 

Static Public Attributes

static const int SRCDIM = sizeof(S)/ sizeof(float)
 
static const int DSTDIM = sizeof(D)/ sizeof(float)
 

Protected Attributes

geom::Attrib mSrcAttrib
 
geom::Attrib mDstAttrib
 
FN mFn
 

Detailed Description

template<typename S, typename D>
class cinder::geom::AttribFn< S, D >

Maps an attribute as a function of another attribute. Valid types are: float, vec2, vec3, vec4.

Member Typedef Documentation

template<typename S , typename D >
typedef std::function<D(S)> cinder::geom::AttribFn< S, D >::FN

Constructor & Destructor Documentation

template<typename S , typename D >
cinder::geom::AttribFn< S, D >::AttribFn ( Attrib  src,
Attrib  dst,
const FN fn 
)
template<typename S , typename D >
cinder::geom::AttribFn< S, D >::AttribFn ( Attrib  attrib,
const FN fn 
)

Member Function Documentation

template<typename S , typename D >
Modifier* cinder::geom::AttribFn< S, D >::clone ( ) const
overridevirtual
template<typename S , typename D >
uint8_t cinder::geom::AttribFn< S, D >::getAttribDims ( Attrib  attr,
uint8_t  upstreamDims 
) const
overridevirtual

Reimplemented from cinder::geom::Modifier.

template<typename S , typename D >
AttribSet cinder::geom::AttribFn< S, D >::getAvailableAttribs ( const Modifier::Params upstreamParams) const
overridevirtual

Reimplemented from cinder::geom::Modifier.

template<typename S , typename D >
void cinder::geom::AttribFn< S, D >::process ( SourceModsContext ctx,
const AttribSet requestedAttribs 
) const
overridevirtual
size_t cinder::geom::Modifier::getNumVertices ( const Modifier::Params upstreamParams) const
virtualinherited
size_t cinder::geom::Modifier::getNumIndices ( const Modifier::Params upstreamParams) const
virtualinherited
Primitive cinder::geom::Modifier::getPrimitive ( const Modifier::Params upstreamParams) const
virtualinherited

Member Data Documentation

template<typename S , typename D >
const int cinder::geom::AttribFn< S, D >::SRCDIM = sizeof(S)/ sizeof(float)
static
template<typename S , typename D >
const int cinder::geom::AttribFn< S, D >::DSTDIM = sizeof(D)/ sizeof(float)
static
template<typename S , typename D >
geom::Attrib cinder::geom::AttribFn< S, D >::mSrcAttrib
protected
template<typename S , typename D >
geom::Attrib cinder::geom::AttribFn< S, D >::mDstAttrib
protected
template<typename S , typename D >
FN cinder::geom::AttribFn< S, D >::mFn
protected

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