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

#include <GeomIo.h>

Inherits cinder::geom::Source.

Inherited by cinder::geom::Helix.

Public Member Functions

 Torus ()
 
Toruscolors (bool enable=true)
 
Toruscenter (const vec3 &center)
 
TorussubdivisionsAxis (int subdiv)
 
TorussubdivisionsHeight (int subdiv)
 
Torustwist (unsigned twist)
 
Torustwist (unsigned twist, float offset)
 
Torusratio (float ratio)
 
Torusradius (float major, float minor)
 
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
 
Torusclone () const override
 

Protected Member Functions

void updateCounts ()
 
void calculate (std::vector< vec3 > *positions, std::vector< vec3 > *normals, std::vector< vec2 > *texCoords, std::vector< vec3 > *colors, std::vector< uint32_t > *indices) const
 
void copyIndicesNonIndexed (uint16_t *dest) const
 
void copyIndicesNonIndexed (uint32_t *dest) const
 
template<typename T >
void forceCopyIndicesTrianglesImpl (T *dest) const
 

Protected Attributes

vec3 mCenter
 
float mRadiusMajor
 
float mRadiusMinor
 
int mSubdivisionsAxis
 
int mSubdivisionsHeight
 
float mHeight
 
float mCoils
 
unsigned mTwist
 
float mTwistOffset
 
bool mHasColors
 
int mNumRings
 
int mNumAxis
 

Constructor & Destructor Documentation

cinder::geom::Torus::Torus ( )

Member Function Documentation

Torus& cinder::geom::Torus::colors ( bool  enable = true)
Torus& cinder::geom::Torus::center ( const vec3 &  center)
Torus& cinder::geom::Torus::subdivisionsAxis ( int  subdiv)
Torus& cinder::geom::Torus::subdivisionsHeight ( int  subdiv)
Torus& cinder::geom::Torus::twist ( unsigned  twist)

Allows you to twist the torus along the ring.

Torus& cinder::geom::Torus::twist ( unsigned  twist,
float  offset 
)

Allows you to twist the torus along the ring. The offset is in radians.

Torus& cinder::geom::Torus::ratio ( float  ratio)

Specifies the major and minor radius as a ratio (minor : major). Resulting torus will fit unit cube.

Torus& cinder::geom::Torus::radius ( float  major,
float  minor 
)

Specifies the major and minor radius separately.

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

Implements cinder::geom::Source.

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

Implements cinder::geom::Source.

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

Implements cinder::geom::Source.

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

Implements cinder::geom::Source.

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

Implements cinder::geom::Source.

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

Implements cinder::geom::Source.

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

Implements cinder::geom::Source.

void cinder::geom::Torus::updateCounts ( )
protected
void cinder::geom::Torus::calculate ( std::vector< vec3 > *  positions,
std::vector< vec3 > *  normals,
std::vector< vec2 > *  texCoords,
std::vector< vec3 > *  colors,
std::vector< uint32_t > *  indices 
) 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

Member Data Documentation

vec3 cinder::geom::Torus::mCenter
protected
float cinder::geom::Torus::mRadiusMajor
protected
float cinder::geom::Torus::mRadiusMinor
protected
int cinder::geom::Torus::mSubdivisionsAxis
protected
int cinder::geom::Torus::mSubdivisionsHeight
protected
float cinder::geom::Torus::mHeight
protected
float cinder::geom::Torus::mCoils
protected
unsigned cinder::geom::Torus::mTwist
protected
float cinder::geom::Torus::mTwistOffset
protected
bool cinder::geom::Torus::mHasColors
protected
int cinder::geom::Torus::mNumRings
protected
int cinder::geom::Torus::mNumAxis
protected

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