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

#include <GeomIo.h>

Inherits cinder::geom::Source.

Public Member Functions

 TorusKnot ()
 
TorusKnotcolors (bool enable=true)
 
TorusKnotsubdivisionsAxis (int subdiv)
 
TorusKnotsubdivisionsHeight (int subdiv)
 
TorusKnotparameters (int p, int q)
 
TorusKnotradius (float radius)
 
TorusKnotscale (const vec3 &scale)
 
TorusKnotscale (float x, float y, float z)
 
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
 
TorusKnotclone () const override
 

Protected Member Functions

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

Protected Attributes

int mP
 
int mQ
 
int mSubdivisionsAxis
 
int mSubdivisionsHeight
 
vec3 mScale
 
float mRadius
 
bool mHasColors
 

Constructor & Destructor Documentation

cinder::geom::TorusKnot::TorusKnot ( )

Member Function Documentation

TorusKnot& cinder::geom::TorusKnot::colors ( bool  enable = true)
TorusKnot& cinder::geom::TorusKnot::subdivisionsAxis ( int  subdiv)
TorusKnot& cinder::geom::TorusKnot::subdivisionsHeight ( int  subdiv)
TorusKnot& cinder::geom::TorusKnot::parameters ( int  p,
int  q 
)

Specifies the P and Q parameters of the torus knot.

TorusKnot& cinder::geom::TorusKnot::radius ( float  radius)

Specifies the radius of the tube.

TorusKnot& cinder::geom::TorusKnot::scale ( const vec3 &  scale)

Allows you to scale the generated curve.

TorusKnot& cinder::geom::TorusKnot::scale ( float  x,
float  y,
float  z 
)

Allows you to scale the generated curve.

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

Implements cinder::geom::Source.

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

Implements cinder::geom::Source.

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

Implements cinder::geom::Source.

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

Implements cinder::geom::Source.

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

Implements cinder::geom::Source.

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

Implements cinder::geom::Source.

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

Implements cinder::geom::Source.

void cinder::geom::TorusKnot::calculate ( std::vector< vec3 > *  positions,
std::vector< vec3 > *  normals,
std::vector< vec2 > *  texCoords,
std::vector< vec3 > *  colors,
std::vector< vec3 > *  tangents,
std::vector< uint32_t > *  indices 
) const
protected
int cinder::geom::TorusKnot::gcd ( int  a,
int  b 
) 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

int cinder::geom::TorusKnot::mP
protected
int cinder::geom::TorusKnot::mQ
protected
int cinder::geom::TorusKnot::mSubdivisionsAxis
protected
int cinder::geom::TorusKnot::mSubdivisionsHeight
protected
vec3 cinder::geom::TorusKnot::mScale
protected
float cinder::geom::TorusKnot::mRadius
protected
bool cinder::geom::TorusKnot::mHasColors
protected

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