Cinder  0.9.1
Classes | Typedefs | Enumerations | Functions | Variables
cinder::geom Namespace Reference

Classes

class  AttribFn
 
struct  AttribInfo
 
class  Bounds
 
class  BSpline
 
class  BufferLayout
 
class  Capsule
 
class  Circle
 
class  ColorFromAttrib
 
class  Cone
 
class  Constant
 
class  Cube
 
class  Cylinder
 
class  Exc
 
class  ExcIllegalDestDimensions
 
class  ExcIllegalIndexType
 
class  ExcIllegalPrimitiveType
 
class  ExcIllegalSourceDimensions
 
class  ExcInadequateIndexStorage
 
class  ExcMissingAttrib
 
class  ExcNoIndices
 
class  Extrude
 
class  ExtrudeSpline
 
class  Helix
 
class  Icosahedron
 
class  Icosphere
 
class  Invert
 
class  Lines
 
class  Modifier
 
class  Plane
 
class  Rect
 
class  Remove
 
class  Ring
 
class  Rotate
 
class  RoundedRect
 
class  Scale
 
class  Source
 
class  SourceMods
 
class  SourceModsContext
 
class  Sphere
 
class  Subdivide
 
class  Tangents
 
class  Target
 
class  Teapot
 
class  Torus
 
class  TorusKnot
 
class  Transform
 
class  Translate
 
class  Twist
 
class  VertexNormalLines
 
class  WireCapsule
 
class  WireCircle
 
class  WireCone
 
class  WireCube
 
class  WireCylinder
 
class  WireFrustum
 
class  WireIcosahedron
 
class  WirePlane
 
class  WireRoundedRect
 
class  WireSource
 
class  WireSphere
 
class  WireTorus
 

Typedefs

typedef std::shared_ptr< class SourceSourceRef
 
typedef std::set< AttribAttribSet
 

Enumerations

enum  Attrib {
  POSITION, COLOR, TEX_COORD_0, TEX_COORD_1,
  TEX_COORD_2, TEX_COORD_3, NORMAL, TANGENT,
  BITANGENT, BONE_INDEX, BONE_WEIGHT, CUSTOM_0,
  CUSTOM_1, CUSTOM_2, CUSTOM_3, CUSTOM_4,
  CUSTOM_5, CUSTOM_6, CUSTOM_7, CUSTOM_8,
  CUSTOM_9, NUM_ATTRIBS, USER_DEFINED = NUM_ATTRIBS
}
 
enum  Primitive {
  LINES, LINE_STRIP, TRIANGLES, TRIANGLE_STRIP,
  TRIANGLE_FAN, NUM_PRIMITIVES
}
 
enum  DataType { FLOAT, INTEGER, DOUBLE }
 

Functions

std::string attribToString (Attrib attrib)
 
std::string primitiveToString (Primitive primitive)
 
void copyData (uint8_t srcDimensions, const float *srcData, size_t numElements, uint8_t dstDimensions, size_t dstStrideBytes, float *dstData)
 
void copyData (uint8_t srcDimensions, size_t srcStrideBytes, const float *srcData, size_t numElements, uint8_t dstDimensions, size_t dstStrideBytes, float *dstData)
 
void calculateTangents (size_t numIndices, const uint32_t *indices, size_t numVertices, const vec3 *positions, const vec3 *normals, const vec2 *texCoords, std::vector< vec3 > *resultTangents, std::vector< vec3 > *resultBitangents)
 
void calculateTangents (size_t numIndices, const uint32_t *indices, size_t numVertices, const vec3 *positions, const vec3 *normals, const vec3 *texCoords, std::vector< vec3 > *resultTangents, std::vector< vec3 > *resultBitangents)
 
SourceMods operator>> (const SourceMods &sourceMods, const Modifier &modifier)
 
SourceMods && operator>> (SourceMods &&sourceMods, const Modifier &modifier)
 
SourceMods operator>> (const Source *source, const Modifier &modifier)
 
SourceMods operator>> (const Source &source, const Modifier &modifier)
 
SourceMods operator& (const SourceMods &sourceModsL, const SourceMods &sourceModsR)
 
SourceMods operator& (const Source *source, const Modifier &modifier)
 
uint8_t calcIndicesRequiredBytes (size_t numIndices)
 
void generateFace (const vec3 &faceCenter, const vec3 &uAxis, const vec3 &vAxis, int subdivU, int subdivV, vector< vec3 > *positions, vector< vec3 > *normals, const ColorA &color, vector< ColorA > *colors, vector< vec2 > *texCoords, vector< uint32_t > *indices)
 

Variables

std::string sAttribNames [(int) Attrib::NUM_ATTRIBS]
 
std::string sPrimitiveNames [(int) Primitive::NUM_PRIMITIVES]
 

Typedef Documentation

typedef std::shared_ptr<class Source> cinder::geom::SourceRef
typedef std::set<Attrib> cinder::geom::AttribSet

Enumeration Type Documentation

Enumerator
POSITION 
COLOR 
TEX_COORD_0 
TEX_COORD_1 
TEX_COORD_2 
TEX_COORD_3 
NORMAL 
TANGENT 
BITANGENT 
BONE_INDEX 
BONE_WEIGHT 
CUSTOM_0 
CUSTOM_1 
CUSTOM_2 
CUSTOM_3 
CUSTOM_4 
CUSTOM_5 
CUSTOM_6 
CUSTOM_7 
CUSTOM_8 
CUSTOM_9 
NUM_ATTRIBS 
USER_DEFINED 
Enumerator
LINES 
LINE_STRIP 
TRIANGLES 
TRIANGLE_STRIP 
TRIANGLE_FAN 
NUM_PRIMITIVES 
Enumerator
FLOAT 
INTEGER 
DOUBLE 

Function Documentation

std::string cinder::geom::attribToString ( Attrib  attrib)

Debug utility which returns the name of attrib as a std::string.

std::string cinder::geom::primitiveToString ( Primitive  primitive)

Debug utility which returns the name of primitive as a std::string.

void cinder::geom::copyData ( uint8_t  srcDimensions,
const float *  srcData,
size_t  numElements,
uint8_t  dstDimensions,
size_t  dstStrideBytes,
float *  dstData 
)

Utility function for copying attribute data. Does the right thing to convert srcDimensions to dstDimensions. dstStrideBytes of 0 implies tightly packed data.

void cinder::geom::copyData ( uint8_t  srcDimensions,
size_t  srcStrideBytes,
const float *  srcData,
size_t  numElements,
uint8_t  dstDimensions,
size_t  dstStrideBytes,
float *  dstData 
)

Utility function for copying attribute data. Does the right thing to convert srcDimensions to dstDimensions. Stride of 0 implies tightly packed data.

void cinder::geom::calculateTangents ( size_t  numIndices,
const uint32_t *  indices,
size_t  numVertices,
const vec3 *  positions,
const vec3 *  normals,
const vec2 *  texCoords,
std::vector< vec3 > *  resultTangents,
std::vector< vec3 > *  resultBitangents 
)

Utility function for calculating tangents and bitangents from indexed geometry. resultBitangents may be NULL if not needed.

void cinder::geom::calculateTangents ( size_t  numIndices,
const uint32_t *  indices,
size_t  numVertices,
const vec3 *  positions,
const vec3 *  normals,
const vec3 *  texCoords,
std::vector< vec3 > *  resultTangents,
std::vector< vec3 > *  resultBitangents 
)

Utility function for calculating tangents and bitangents from indexed geometry and 3D texture coordinates. resultBitangents may be NULL if not needed.

SourceMods cinder::geom::operator>> ( const SourceMods sourceMods,
const Modifier modifier 
)
SourceMods&& cinder::geom::operator>> ( SourceMods &&  sourceMods,
const Modifier modifier 
)
SourceMods cinder::geom::operator>> ( const Source source,
const Modifier modifier 
)
SourceMods cinder::geom::operator>> ( const Source source,
const Modifier modifier 
)
SourceMods cinder::geom::operator& ( const SourceMods sourceModsL,
const SourceMods sourceModsR 
)
SourceMods cinder::geom::operator& ( const Source source,
const Modifier modifier 
)
uint8_t cinder::geom::calcIndicesRequiredBytes ( size_t  numIndices)
void cinder::geom::generateFace ( const vec3 &  faceCenter,
const vec3 &  uAxis,
const vec3 &  vAxis,
int  subdivU,
int  subdivV,
vector< vec3 > *  positions,
vector< vec3 > *  normals,
const ColorA color,
vector< ColorA > *  colors,
vector< vec2 > *  texCoords,
vector< uint32_t > *  indices 
)

Variable Documentation

std::string cinder::geom::sAttribNames
Initial value:
= {
"POSITION", "COLOR", "TEX_COORD_0", "TEX_COORD_1", "TEX_COORD_2", "TEX_COORD_3",
"NORMAL", "TANGENT", "BITANGENT", "BONE_INDEX", "BONE_WEIGHT",
"CUSTOM_0", "CUSTOM_1", "CUSTOM_2", "CUSTOM_3", "CUSTOM_4", "CUSTOM_5", "CUSTOM_6", "CUSTOM_7", "CUSTOM_8", "CUSTOM_9"
}
std::string cinder::geom::sPrimitiveNames[(int) Primitive::NUM_PRIMITIVES]
Initial value:
= {
"LINES", "LINE_STRIP", "TRIANGLES", "TRIANGLE_STRIP", "TRIANGLE_FAN"
}