# Cinder

# cinder Namespace Reference

## Namespaces
namespace | app
namespace | audio
namespace | cairo
namespace | cocoa
namespace | gl
namespace | ip
namespace | msw
namespace | params
namespace | qtime
## Classes
class | Arcball
class | AreaT
class | AxisAlignedBox3f
class | BandedMatrix
class | BSplineBasis
class | BSpline
class | Buffer
class | SurfaceConstraintsCairo
class | Camera
class | CameraPersp
class | CameraOrtho
class | Capture
class | CaptureExc
class | CaptureExcInitFail
class | CaptureExcInvalidChannelOrder
class | ChannelT
struct | CHANTRAIT
struct | CHANTRAIT< uint8_t >
struct | CHANTRAIT< uint16_t >
struct | CHANTRAIT< float >
struct | math
struct | math< float >
class | ColorT
class | ColorAT
class | DataSource
class | DataSourcePath
class | DataSourceUrl
class | DataSourceBuffer
class | DataTarget
class | DataTargetPath
class | DataTargetStream
class | Display
class | Exception
class | FilterBase
class | FilterBox
class | FilterTriangle
class | FilterQuadratic
class | FilterCubic
class | FilterCatmullRom
class | FilterMitchell
class | FilterSincBlackman
class | FilterGaussian
class | FilterBesselBlackman
class | Font
class | FontInvalidNameExc
class | FontGlyphFailureExc
class | ImageIo
class | ImageSource
class | ImageTarget
class | ImageIoException
class | ImageIoExceptionFailedLoad
class | ImageIoExceptionFailedWrite
class | ImageIoExceptionUnknownExtension
class | ImageIoExceptionIllegalColorModel
class | ImageIoExceptionIllegalDataType
class | ImageIoExceptionIllegalChannelOrder
struct | ImageIoRegistrar
struct | ImageIoRegistrant
class | ImageSourceFileQuartz
class | ImageSourceFileUiImage
class | ImageSourceFileWic
class | ImageSourcePng
class | ImageTargetFileQuartz
class | ImageTargetFileUiImage
class | ImageTargetFileWic
struct | KdNode
struct | NullLookupProc
class | KdTree
struct | NodeDataVectorTraits
struct | NodeDataTraits
struct | NodeDataTraits< Vec2f >
struct | CompareNode
class | Matrix22
class | Matrix44
class | MayaCamUI
class | SurfaceConstraintsGdiPlus
class | ObjLoader
| Loads Alias|Wavefront .OBJ file format. More...
class | Path2d
class | Perlin
class | PolyLine
struct | QUATCONV
class | Quaternion
class | Rand
class | Ray
class | RectT
class | RectMapping
class | Serial
class | SerialExc
class | SerialExcOpenFailed
class | SerialExcDeviceEnumerationFailed
class | SerialExcReadFailure
class | SerialExcWriteFailure
class | SerialTimeoutExc
class | Shape2d
class | Sphere
class | StreamBase
class | OStream
class | IStream
class | IoStream
class | IStreamFile
class | OStreamFile
class | IoStreamFile
class | IStreamMem
class | OStreamMem
class | IStreamStateRestore
class | StreamExc
class | StreamExcOutOfMemory
class | cinder_stream_source
class | cinder_stream_sink
class | cinder_stream_bidirectional_device
class | SurfaceChannelOrder
class | SurfaceConstraints
| Base class for defining the properties of a Surface necessary to be interoperable with different APIs. More...
class | SurfaceConstraintsDefault
class | SurfaceT
class | SurfaceExc
class | SurfaceConstraintsExc
class | System
| Queries system software and hardware capabilities of the computer. Values are cached so there is low overhead in calling these functions more than once. More...
class | SystemExc
class | SystemExcFailedQuery
class | TextLayout
class | Timer
| A high-resolution timer class. More...
class | TriMesh
class | Url
class | IStreamUrl
struct | VEC3CONV
class | Vec2
class | Vec3
class | Vec4
class | XmlDocument
class | XmlElement
## Typedefs
typedef AreaT< int32_t > | Area
typedef AreaT< boost::rational < int32_t > > | AreaRational
typedef BandedMatrix< float > | BandedMatrixf
typedef BandedMatrix< double > | BandedMatrixd
typedef BSpline< Vec2f > | BSpline2f
typedef BSpline< Vec3f > | BSpline3f
typedef shared_ptr< class ImageSource > | ImageSourceRef
typedef ChannelT< uint8_t > | Channel
typedef ChannelT< uint8_t > | Channel8u
typedef ChannelT< float > | Channel32f
typedef ColorT< float > | Color
typedef ColorT< float > | Colorf
typedef ColorT< uint8_t > | Color8u
typedef ColorAT< float > | ColorA
typedef ColorAT< float > | ColorAf
typedef ColorAT< uint8_t > | ColorA8u
typedef shared_ptr< class DataSource > | DataSourceRef
typedef shared_ptr< class DataSourcePath > | DataSourcePathRef
typedef shared_ptr< class DataSourceUrl > | DataSourceUrlRef
typedef shared_ptr< class DataSourceBuffer > | DataSourceBufferRef
typedef shared_ptr< class DataTarget > | DataTargetRef
typedef shared_ptr< class DataTargetPath > | DataTargetPathRef
typedef shared_ptr< class DataTargetStream > | DataTargetStreamRef
typedef shared_ptr< class ImageLoader > | ImageLoaderRef
typedef shared_ptr< class ImageTarget > | ImageTargetRef
typedef shared_ptr< class ImageTargetFile > | ImageTargetFileRef
typedef shared_ptr< class ImageSourceFileQuartz > | ImageSourceFileQuartzRef
typedef shared_ptr< class ImageSourceFileUiImage > | ImageSourceFileUiImageRef
typedef shared_ptr< class ImageSourceFileWic > | ImageSourceFileWicRef
typedef shared_ptr< class ImageSourcePng > | ImageSourcePngRef
typedef shared_ptr< class ImageTargetFileQuartz > | ImageTargetFileQuartzRef
typedef shared_ptr< class ImageTargetFileUiImage > | ImageTargetFileUiImageRef
typedef shared_ptr< class ImageTargetFileWic > | ImageTargetFileWicRef
typedef Matrix22< float > | Matrix22f
typedef Matrix22< double > | Matrix22d
typedef Matrix44< float > | Matrix44f
typedef Matrix44< double > | Matrix44d
typedef Quaternion< float > | Quatf
typedef Quaternion< double > | Quatd
typedef RectT< float > | Rectf
typedef RectT< double > | Rectd
typedef shared_ptr< class OStream > | OStreamRef
typedef shared_ptr< IStream > | IStreamRef
typedef shared_ptr< IoStream > | IoStreamRef
typedef shared_ptr< class IStreamFile > | IStreamFileRef
typedef shared_ptr< class OStreamFile > | OStreamFileRef
typedef shared_ptr< class IoStreamFile > | IoStreamFileRef
typedef shared_ptr< class IStreamMem > | IStreamMemRef
typedef shared_ptr< OStreamMem > | OStreamMemRef
typedef boost::iostreams::stream < cinder_stream_source > | cinder_istream
typedef boost::iostreams::stream < cinder_stream_sink > | cinder_ostream
typedef boost::iostreams::stream < cinder_stream_bidirectional_device > | cinder_iostream
typedef SurfaceT< uint8_t > | Surface
typedef SurfaceT< uint8_t > | Surface8u
typedef SurfaceT< float > | Surface32f
typedef shared_ptr< class IStreamUrl > | IStreamUrlRef
| A pointer to an instance of an IStreamUrl. Can be created using IStreamUrl::createRef().
typedef Vec2< float > | Vec2f
typedef Vec2< double > | Vec2d
typedef Vec3< float > | Vec3f
typedef Vec3< double > | Vec3d
typedef Vec4< float > | Vec4f
typedef Vec4< double > | Vec4d
typedef Vec2< int > | Vec2i
typedef BSplineFit< float > | BSplineFitf
typedef BSplineFit< double > | BSplineFitd
typedef BSplineFitBasis< float > | BSplineFitBasisf
typedef BSplineFitBasis< double > | BSplineFitBasisd
typedef struct cinder::_LOGICALPROCESSORDATA | LOGICALPROCESSORDATA
typedef struct cinder::_LOGICALPROCESSORDATA * | PLOGICALPROCESSORDATA
## Enumerations
enum | ColorModel { CM_RGB, CM_HSV }
## Functions
std::pair< Area, Vec2i > | clippedSrcDst (const Area &srcSurfaceBounds, const Area &srcArea, const Area &dstSurfaceBounds, const Vec2i &dstLT)
template<typename T >
BSpline< T > | fitBSpline (const std::vector< T > &samples, int degree, int outputSamples)
Buffer | compressBuffer (const Buffer &aBuffer, int8_t compressionLevel=DEFAULT_COMPRESSION_LEVEL, bool resizeResult=true)
Buffer | decompressBuffer (const Buffer &aBuffer, bool resizeResult=true)
template<typename T , typename L >
T | lerp (const T &a, const T &b, L factor)
template<typename T , typename L >
T | bezierInterp (T a, T b, T c, T d, L t)
template<typename T , typename L >
T | bezierInterpRef (const T &a, const T &b, const T &c, const T &d, L t)
template<typename T >
T | constrain (T val, T minVal, T maxVal)
template<class T >
T | sinx_over_x (T x)
uint32_t | log2floor (uint32_t x)
uint32_t | log2ceil (uint32_t x)
uint32_t | nextPowerOf2 (uint32_t x)
template<typename T >
std::ostream & | operator<< (std::ostream &s, const ColorT< T > &v)
template<typename T >
std::ostream & | operator<< (std::ostream &lhs, const ColorAT< T > &rhs)
ColorT< float > | hsvToRGB (const Vec3f &hsv)
Vec3f | rgbToHSV (const ColorT< float > &c)
DataSourcePathRef | loadFile (const std::string &path)
DataSourceUrlRef | loadUrl (const Url &Url)
DataTargetPathRef | writeFile (const std::string &path, bool createParents=true)
| Returns a DataTarget to file path path, and optionally creates any necessary directories when createParents is `true`.
ImageSourceRef | loadImage (const std::string &path, std::string extension="")
| Loads an image from the file path path. Optional extension parameter allows specification of a file type. For example, "jpg" would force the file to load as a JPEG.
ImageSourceRef | loadImage (DataSourceRef dataSource, std::string extension="")
| Loads an image from dataSource. Optional extension parameter allows specification of a file type. For example, "jpg" would force the file to load as a JPEG.
void | writeImage (DataTargetRef dataTarget, const ImageSourceRef &imageSource, std::string extension="")
| Writes imageSource to dataTarget. Optional extension parameter allows specification of a file type. For example, "jpg" would force the file to load as a JPEG.
void | writeImage (const std::string &path, const ImageSourceRef &imageSource, std::string extension="")
void | writeImage (ImageTargetRef imageTarget, const ImageSourceRef &imageSource)
| Writes imageSource to imageTarget.
| REGISTER_IMAGE_IO_FILE_HANDLER (ImageSourceFileQuartz) class ImageSourceFileQuartzExceptionUnsupportedData
| REGISTER_IMAGE_IO_FILE_HANDLER (ImageSourceFileUiImage) class ImageSourceFileUiImageExceptionUnsupportedData
| REGISTER_IMAGE_IO_FILE_HANDLER (ImageSourceFileWic) class ImageSourceFileWicExceptionUnsupportedData
| REGISTER_IMAGE_IO_FILE_HANDLER (ImageSourcePng) class ImageSourcePngException
template<typename T >
Matrix44< T > | firstFrame (const Vec3< T > &firstPoint, const Vec3< T > &secondPoint, const Vec3< T > &thirdPoint)
template<typename T >
Matrix44< T > | nextFrame (const Matrix44< T > &prevMatrix, const Vec3< T > &prevPoint, const Vec3< T > &curPoint, Vec3< T > &prevTangent, Vec3< T > &curTangent)
template<typename T >
Matrix44< T > | lastFrame (const Matrix44< T > &prevMatrix, const Vec3< T > &prevPoint, const Vec3< T > &lastPoint)
template<typename T >
Vec3< T > | operator* (const Vec3< T > &vec, const Quaternion< T > &q)
void | getClippedScaledRects (const Area &srcSurfaceBounds, const Rectf &srcRect, const Area &dstSurfaceBounds, const Area &dstArea, Rectf *resultSrcRect, Area *resultDstRect)
IStreamFileRef | loadFileStream (const std::string &path)
| Opens the file lcoated at path for read access as a stream.
OStreamFileRef | writeFileStream (const std::string &path, bool createParents=true)
| Opens the file located at path for write access as a stream, and creates it if it does not exist. Optionally creates any intermediate directories when createParents is true.
IoStreamFileRef | readWriteFileStream (const std::string &path)
| Opens a path for read-write access as a stream.
void | loadStreamMemory (IStreamRef is, shared_ptr< uint8_t > *resultData, size_t *resultDataSize)
| Loads the contents of a stream into a contiguous block of memory, pointed to by resultData. The size of this block is stored in resultDataSize.
Buffer | loadStreamBuffer (IStreamRef is)
| Loads the contents of a stream into a Buffer.
Surface | renderString (const std::string &str, const Font &font, const ColorA &color, float *baselineOffset=0)
| Renders a single string and returns it as a Surface. Optional baselineOffset pointer will receive how many pixels of descender are in the returned Surface. Offset rendering the result Surface by this amount in order to preserve a consistent baseline. Consider gl::drawString() as a more convenient alternative.
IStreamUrlRef | loadUrlStream (const Url &url)
IStreamUrlRef | loadUrlStream (const std::string &url, const std::string &user="", const std::string &password="")
std::string | expandPath (const std::string &path)
| Returns a canonical version of path by expanding a "~" and symlinks on the Mac "..", "." and "//".
std::string | getHomeDirectory ()
| Returns a path to the user's home directory.
std::string | getDocumentsDirectory ()
| Returns a path to the user's documents directory.
std::string | getPathDirectory (const std::string &path)
| Returns the directory portion of file path path, the last component of which must be a file name or a terminating path separator.
std::string | getPathFileName (const std::string &path)
| Returns the file name portion of file path path. For example "C:\Images\Beyonce.jpg" returns "Beyonce.jpg".
std::string | getPathExtension (const std::string &path)
| Returns the file extension of the file located at path.
bool | createDirectories (const std::string &path, bool createParents=true)
| Creates a directory at path and optionally creates any missing parent directories when createParents is `true`. Returns `true` upon success.
std::wstring | toUtf16 (const std::string &utf8)
| Returns a utf-16 encoded std::wstring by converting the utf-8 encoded string utf8.
std::string | toUtf8 (const std::wstring &utf16)
| Returns a utf-8 encoded std::string by converting the utf-16 encoded string utf16.
void | sleep (float milliseconds)
| Suspends the execution of the current thread until milliseconds have passed. Supports sub-millisecond precision only on Mac OS X.
char | getPathSeparator ()
| Returns the path separator for the host operating system's file system, `'\'` on Windows and `'/'` on Mac OS.
template<typename T >
std::string | toString (const T &t)
template<typename T >
T | fromString (const std::string &s)
std::vector< std::string > | stackTrace ()
| Returns a stack trace (aka backtrace) where `stackTrace()`[0] == caller, `stackTrace()`[1] == caller's parent, etc.
int8_t | swapEndian (int8_t val)
uint8_t | swapEndian (uint8_t val)
int16_t | swapEndian (int16_t val)
uint16_t | swapEndian (uint16_t val)
int32_t | swapEndian (int32_t val)
uint32_t | swapEndian (uint32_t val)
float | swapEndian (float val)
double | swapEndian (double val)
void | swapEndianBlock (uint16_t *blockPtr, size_t blockSizeInBytes)
void | swapEndianBlock (float *blockPtr, size_t blockSizeInBytes)
template<typename T , typename Y >
Vec2< T > | operator* (Y s, const Vec2< T > &v)
template<typename T , typename Y >
Vec2< T > | operator* (const Vec2< T > &v, Y s)
template<typename T , typename Y >
Vec3< T > | operator* (Y s, const Vec3< T > &v)
template<typename T , typename Y >
Vec3< T > | operator* (const Vec3< T > &v, Y s)
template<typename T , typename Y >
Vec4< T > | operator* (Y s, const Vec4< T > &v)
template<typename T , typename Y >
Vec4< T > | operator* (const Vec4< T > &v, Y s)
template<class T >
void | allocate2D (int iCols, int iRows, T **&raatArray)
template<class T >
void | deallocate2D (T **&raatArray)
template<typename T >
T::TYPE | getSpeedWithData (float fTime, void *pvData)
template<typename Real >
Real | rombergIntegral (int iOrder, Real fA, Real fB, Real(*oF)(Real, void *), void *pvUserData)
template BSpline< Vec2f > | fitBSpline (const std::vector< Vec2f > &samples, int degree, int outputSamples)
template BSpline< Vec3f > | fitBSpline (const std::vector< Vec3f > &samples, int degree, int outputSamples)
template BSpline< Vec4f > | fitBSpline (const std::vector< Vec4f > &samples, int degree, int outputSamples)
Vec3f | rgbToHSV (const Colorf &c)
std::ostream & | operator<< (std::ostream &lhs, const ColorT< float > &rhs)
std::ostream & | operator<< (std::ostream &lhs, const ColorT< uint8_t > &rhs)
std::ostream & | operator<< (std::ostream &lhs, const ColorAT< float > &rhs)
std::ostream & | operator<< (std::ostream &lhs, const ColorAT< uint8_t > &rhs)
int CALLBACK | EnumFontFamiliesExProc (ENUMLOGFONTEX *lpelfe, NEWTEXTMETRICEX *lpntme, int FontType, LPARAM lParam)
template<typename T >
Matrix44< T > | nextFrame (const Matrix44< T > &prevMatrix, const Vec3< T > &prevPoint, const Vec3< T > &curPoint, Vec3< T > &prevTangent, Vec3< T > *curTangent)
float | nlerp (float t, float a, float b)
template<typename T >
std::ostream & | operator<< (std::ostream &o, const RectT< T > &rect)
void | cpuidwrap (int *p, unsigned int param)
void | lockToLogicalProcessor (int n)
void | cpuid (int whichlp, PLOGICALPROCESSORDATA p)
std::istream & | operator>> (std::istream &in, XmlDocument &base)
std::ostream & | operator<< (std::ostream &out, const XmlDocument &base)
std::ostream & | operator<< (std::ostream &out, const XmlElement &base)
## Variables
const double | EPSILON_VALUE = 4.37114e-05

## Typedef Documentation

typedef AreaT<int32_t> cinder::Area

typedef AreaT<boost::rational<int32_t> > cinder::AreaRational

typedef BandedMatrix<float> cinder::BandedMatrixf

typedef BandedMatrix<double> cinder::BandedMatrixd

typedef BSpline<Vec2f> cinder::BSpline2f

typedef BSpline<Vec3f> cinder::BSpline3f

typedef shared_ptr< class ImageSource > cinder::ImageSourceRef

typedef ChannelT<uint8_t> cinder::Channel

typedef ChannelT<uint8_t> cinder::Channel8u

typedef ChannelT<float> cinder::Channel32f

typedef ColorT<float> cinder::Color

typedef ColorT<float> cinder::Colorf

typedef ColorT<uint8_t> cinder::Color8u

typedef ColorAT<float> cinder::ColorA

typedef ColorAT<float> cinder::ColorAf

typedef ColorAT<uint8_t> cinder::ColorA8u

typedef shared_ptr<class DataSource> cinder::DataSourceRef

typedef shared_ptr<class DataSourcePath> cinder::DataSourcePathRef

typedef shared_ptr<class DataSourceUrl> cinder::DataSourceUrlRef

typedef shared_ptr<class DataSourceBuffer> cinder::DataSourceBufferRef

typedef shared_ptr<class DataTarget> cinder::DataTargetRef

typedef shared_ptr<class DataTargetPath> cinder::DataTargetPathRef

typedef shared_ptr<class DataTargetStream> cinder::DataTargetStreamRef

typedef shared_ptr<class ImageLoader> cinder::ImageLoaderRef

typedef shared_ptr<class ImageTarget> cinder::ImageTargetRef

typedef shared_ptr<class ImageTargetFile> cinder::ImageTargetFileRef

typedef shared_ptr<class ImageSourceFileQuartz> cinder::ImageSourceFileQuartzRef

typedef shared_ptr<class ImageSourceFileUiImage> cinder::ImageSourceFileUiImageRef

typedef shared_ptr<class ImageSourceFileWic> cinder::ImageSourceFileWicRef

typedef shared_ptr<class ImageSourcePng> cinder::ImageSourcePngRef

typedef shared_ptr<class ImageTargetFileQuartz> cinder::ImageTargetFileQuartzRef

typedef shared_ptr<class ImageTargetFileUiImage> cinder::ImageTargetFileUiImageRef

typedef shared_ptr<class ImageTargetFileWic> cinder::ImageTargetFileWicRef

typedef Matrix22<float> cinder::Matrix22f

typedef Matrix22<double> cinder::Matrix22d

typedef Matrix44<float> cinder::Matrix44f

typedef Matrix44<double> cinder::Matrix44d

typedef Quaternion<float> cinder::Quatf

typedef Quaternion<double> cinder::Quatd

typedef RectT<float> cinder::Rectf

typedef RectT<double> cinder::Rectd

typedef shared_ptr<class OStream> cinder::OStreamRef

typedef shared_ptr<IStream> cinder::IStreamRef

typedef shared_ptr<IoStream> cinder::IoStreamRef

typedef shared_ptr<class IStreamFile> cinder::IStreamFileRef

typedef shared_ptr<class OStreamFile> cinder::OStreamFileRef

typedef shared_ptr<class IoStreamFile> cinder::IoStreamFileRef

typedef shared_ptr<class IStreamMem> cinder::IStreamMemRef

typedef shared_ptr<OStreamMem> cinder::OStreamMemRef

typedef boost::iostreams::stream<cinder_stream_source> cinder::cinder_istream

typedef boost::iostreams::stream<cinder_stream_sink> cinder::cinder_ostream

typedef boost::iostreams::stream<cinder_stream_bidirectional_device> cinder::cinder_iostream

typedef SurfaceT<uint8_t> cinder::Surface

typedef SurfaceT<uint8_t> cinder::Surface8u

typedef SurfaceT<float> cinder::Surface32f

typedef shared_ptr<class IStreamUrl> cinder::IStreamUrlRef

A pointer to an instance of an IStreamUrl. Can be created using IStreamUrl::createRef().

typedef Vec2<float> cinder::Vec2f

typedef Vec2<double> cinder::Vec2d

typedef Vec3<float> cinder::Vec3f

typedef Vec3<double> cinder::Vec3d

typedef Vec4<float> cinder::Vec4f

typedef Vec4<double> cinder::Vec4d

typedef Vec2<int> cinder::Vec2i

typedef BSplineFit<float> cinder::BSplineFitf

typedef BSplineFit<double> cinder::BSplineFitd

typedef BSplineFitBasis<float> cinder::BSplineFitBasisf

typedef BSplineFitBasis<double> cinder::BSplineFitBasisd

typedef struct cinder::_LOGICALPROCESSORDATA cinder::LOGICALPROCESSORDATA

typedef struct cinder::_LOGICALPROCESSORDATA * cinder::PLOGICALPROCESSORDATA

## Enumeration Type Documentation

enum cinder::ColorModel

Enumerator:

  CM_RGB |
  CM_HSV |

## Function Documentation

std::pair<Area,Vec2i> cinder::clippedSrcDst | ( | const Area & | srcSurfaceBounds,
|  | const Area & | srcArea,
|  | const Area & | dstSurfaceBounds,
|  | const Vec2i & | dstLT |
| ) |  |  |

template<typename T >

BSpline< T > cinder::fitBSpline | ( | const std::vector< T > & | samples,
|  | int | degree,
|  | int | outputSamples |
| ) |  |  |

Buffer cinder::compressBuffer | ( | const Buffer & | aBuffer,
|  | int8_t | compressionLevel = `DEFAULT_COMPRESSION_LEVEL`,
|  | bool | resizeResult = `true` |
| ) |  |  |

Buffer cinder::decompressBuffer | ( | const Buffer & | aBuffer,
|  | bool | resizeResult = `true` |
| ) |  |  |

template<typename T , typename L >

T cinder::lerp | ( | const T & | a,
|  | const T & | b,
|  | L | factor |
| ) |  |  |

template<typename T , typename L >

T cinder::bezierInterp | ( | T | a,
|  | T | b,
|  | T | c,
|  | T | d,
|  | L | t |
| ) |  |  |

template<typename T , typename L >

T cinder::bezierInterpRef | ( | const T & | a,
|  | const T & | b,
|  | const T & | c,
|  | const T & | d,
|  | L | t |
| ) |  |  |

template<typename T >

T cinder::constrain | ( | T | val,
|  | T | minVal,
|  | T | maxVal |
| ) |  |  |

template<class T >

T cinder::sinx_over_x | ( | T | x | ) |

uint32_t cinder::log2floor | ( | uint32_t | x | ) |

uint32_t cinder::log2ceil | ( | uint32_t | x | ) |

uint32_t cinder::nextPowerOf2 | ( | uint32_t | x | ) |

template<typename T >

std::ostream& cinder::operator<< | ( | std::ostream & | s,
|  | const ColorT< T > & | v |
| ) |  |  |

template<typename T >

std::ostream& cinder::operator<< | ( | std::ostream & | lhs,
|  | const ColorAT< T > & | rhs |
| ) |  |  |

Colorf cinder::hsvToRGB | ( | const Vec3f & | hsv | ) |

Vec3f cinder::rgbToHSV | ( | const ColorT< float > & | c | ) |

DataSourcePathRef cinder::loadFile | ( | const std::string & | path | ) |

DataSourceUrlRef cinder::loadUrl | ( | const Url & | Url | ) |

DataTargetPathRef cinder::writeFile | ( | const std::string & | path,
|  | bool | createParents = `true` |
| ) |  |  |

Returns a DataTarget to file path path, and optionally creates any necessary directories when createParents is `true`.

ImageSourceRef cinder::loadImage | ( | const std::string & | path,
|  | std::string | extension = `""` |
| ) |  |  |

Loads an image from the file path path. Optional extension parameter allows specification of a file type. For example, "jpg" would force the file to load as a JPEG.

ImageSourceRef cinder::loadImage | ( | DataSourceRef | dataSource,
|  | std::string | extension = `""` |
| ) |  |  |

Loads an image from dataSource. Optional extension parameter allows specification of a file type. For example, "jpg" would force the file to load as a JPEG.

void cinder::writeImage | ( | DataTargetRef | dataTarget,
|  | const ImageSourceRef & | imageSource,
|  | std::string | extension = `""` |
| ) |  |  |

Writes imageSource to dataTarget. Optional extension parameter allows specification of a file type. For example, "jpg" would force the file to load as a JPEG.

void cinder::writeImage | ( | const std::string & | path,
|  | const ImageSourceRef & | imageSource,
|  | std::string | extension = `""` |
| ) |  |  |

Writes imageSource to file path path. Optional extension parameter allows specification of a file type. For example, "jpg" would force the file to load as a JPEG

Note:
  If path does not exist, the necessary directories are created automatically.

void cinder::writeImage | ( | ImageTargetRef | imageTarget,
|  | const ImageSourceRef & | imageSource |
| ) |  |  |

Writes imageSource to imageTarget.

cinder::REGISTER_IMAGE_IO_FILE_HANDLER | ( | ImageSourceFileQuartz |  | ) |

cinder::REGISTER_IMAGE_IO_FILE_HANDLER | ( | ImageSourceFileUiImage |  | ) |

cinder::REGISTER_IMAGE_IO_FILE_HANDLER | ( | ImageSourceFileWic |  | ) |

cinder::REGISTER_IMAGE_IO_FILE_HANDLER | ( | ImageSourcePng |  | ) |

template<typename T >

Matrix44< T > cinder::firstFrame | ( | const Vec3< T > & | firstPoint,
|  | const Vec3< T > & | secondPoint,
|  | const Vec3< T > & | thirdPoint |
| ) |  |  |

template<typename T >

Matrix44<T> cinder::nextFrame | ( | const Matrix44< T > & | prevMatrix,
|  | const Vec3< T > & | prevPoint,
|  | const Vec3< T > & | curPoint,
|  | Vec3< T > & | prevTangent,
|  | Vec3< T > & | curTangent |
| ) |  |  |

template<typename T >

Matrix44< T > cinder::lastFrame | ( | const Matrix44< T > & | prevMatrix,
|  | const Vec3< T > & | prevPoint,
|  | const Vec3< T > & | lastPoint |
| ) |  |  |

template<typename T >

Vec3<T> cinder::operator* | ( | const Vec3< T > & | vec,
|  | const Quaternion< T > & | q |
| ) |  |  |

void cinder::getClippedScaledRects | ( | const Area & | srcSurfaceBounds,
|  | const Rectf & | srcRect,
|  | const Area & | dstSurfaceBounds,
|  | const Area & | dstArea,
|  | Rectf * | resultSrcRect,
|  | Area * | resultDstRect |
| ) |  |  |

IStreamFileRef cinder::loadFileStream | ( | const std::string & | path | ) |

Opens the file lcoated at path for read access as a stream.

shared_ptr< OStreamFile > cinder::writeFileStream | ( | const std::string & | path,
|  | bool | createParents = `true` |
| ) |  |  |

Opens the file located at path for write access as a stream, and creates it if it does not exist. Optionally creates any intermediate directories when createParents is true.

IoStreamFileRef cinder::readWriteFileStream | ( | const std::string & | path | ) |

Opens a path for read-write access as a stream.

void cinder::loadStreamMemory | ( | IStreamRef | is,
|  | shared_ptr< uint8_t > * | resultData,
|  | size_t * | resultDataSize |
| ) |  |  |

Loads the contents of a stream into a contiguous block of memory, pointed to by resultData. The size of this block is stored in resultDataSize.

Buffer cinder::loadStreamBuffer | ( | IStreamRef | is | ) |

Loads the contents of a stream into a Buffer.

Surface cinder::renderString | ( | const std::string & | str,
|  | const Font & | font,
|  | const ColorA & | color,
|  | float * | baselineOffset = `0` |
| ) |  |  |

Renders a single string and returns it as a Surface. Optional baselineOffset pointer will receive how many pixels of descender are in the returned Surface. Offset rendering the result Surface by this amount in order to preserve a consistent baseline. Consider gl::drawString() as a more convenient alternative.

IStreamUrlRef cinder::loadUrlStream | ( | const Url & | url | ) |

IStreamUrlRef cinder::loadUrlStream | ( | const std::string & | url,
|  | const std::string & | user = `""`,
|  | const std::string & | password = `""` |
| ) |  |  |

std::string cinder::expandPath | ( | const std::string & | path | ) |

Returns a canonical version of path by expanding a "~" and symlinks on the Mac "..", "." and "//".

std::string cinder::getHomeDirectory | ( |  | ) |

Returns a path to the user's home directory.

std::string cinder::getDocumentsDirectory | ( |  | ) |

Returns a path to the user's documents directory.

std::string cinder::getPathDirectory | ( | const std::string & | path | ) |

Returns the directory portion of file path path, the last component of which must be a file name or a terminating path separator.

std::string cinder::getPathFileName | ( | const std::string & | path | ) |

Returns the file name portion of file path path. For example "C:\Images\Beyonce.jpg" returns "Beyonce.jpg".

std::string cinder::getPathExtension | ( | const std::string & | path | ) |

Returns the file extension of the file located at path.

bool cinder::createDirectories | ( | const std::string & | path,
|  | bool | createParents = `true` |
| ) |  |  |

Creates a directory at path and optionally creates any missing parent directories when createParents is `true`. Returns `true` upon success.

wstring cinder::toUtf16 | ( | const std::string & | utf8 | ) |

Returns a utf-16 encoded std::wstring by converting the utf-8 encoded string utf8.

string cinder::toUtf8 | ( | const std::wstring & | utf16 | ) |

Returns a utf-8 encoded std::string by converting the utf-16 encoded string utf16.

void cinder::sleep | ( | float | milliseconds | ) |

Suspends the execution of the current thread until milliseconds have passed. Supports sub-millisecond precision only on Mac OS X.

char cinder::getPathSeparator | ( |  | ) |

Returns the path separator for the host operating system's file system, `'\'` on Windows and `'/'` on Mac OS.

template<typename T >

std::string cinder::toString | ( | const T & | t | ) |

template<typename T >

T cinder::fromString | ( | const std::string & | s | ) |

vector< string > cinder::stackTrace | ( |  | ) |

Returns a stack trace (aka backtrace) where `stackTrace()`[0] == caller, `stackTrace()`[1] == caller's parent, etc.

int8_t cinder::swapEndian | ( | int8_t | val | ) |

uint8_t cinder::swapEndian | ( | uint8_t | val | ) |

int16_t cinder::swapEndian | ( | int16_t | val | ) |

uint16_t cinder::swapEndian | ( | uint16_t | val | ) |

int32_t cinder::swapEndian | ( | int32_t | val | ) |

uint32_t cinder::swapEndian | ( | uint32_t | val | ) |

float cinder::swapEndian | ( | float | val | ) |

double cinder::swapEndian | ( | double | val | ) |

void cinder::swapEndianBlock | ( | uint16_t * | blockPtr,
|  | size_t | blockSizeInBytes |
| ) |  |  |

void cinder::swapEndianBlock | ( | float * | blockPtr,
|  | size_t | blockSizeInBytes |
| ) |  |  |

template<typename T , typename Y >

Vec2<T> cinder::operator* | ( | Y | s,
|  | const Vec2< T > & | v |
| ) |  |  |

template<typename T , typename Y >

Vec2<T> cinder::operator* | ( | const Vec2< T > & | v,
|  | Y | s |
| ) |  |  |

template<typename T , typename Y >

Vec3<T> cinder::operator* | ( | Y | s,
|  | const Vec3< T > & | v |
| ) |  |  |

template<typename T , typename Y >

Vec3<T> cinder::operator* | ( | const Vec3< T > & | v,
|  | Y | s |
| ) |  |  |

template<typename T , typename Y >

Vec4<T> cinder::operator* | ( | Y | s,
|  | const Vec4< T > & | v |
| ) |  |  |

template<typename T , typename Y >

Vec4<T> cinder::operator* | ( | const Vec4< T > & | v,
|  | Y | s |
| ) |  |  |

template<class T >

void cinder::allocate2D | ( | int | iCols,
|  | int | iRows,
|  | T **& | raatArray |
| ) |  |  |

template<class T >

void cinder::deallocate2D | ( | T **& | raatArray | ) |

template<typename T >

T::TYPE cinder::getSpeedWithData | ( | float | fTime,
|  | void * | pvData |
| ) |  |  |

template<typename Real >

Real cinder::rombergIntegral | ( | int | iOrder,
|  | Real | fA,
|  | Real | fB,
|  | Real(*)(Real, void *) | oF,
|  | void * | pvUserData |
| ) |  |  |

template BSpline<Vec2f> cinder::fitBSpline | ( | const std::vector< Vec2f > & | samples,
|  | int | degree,
|  | int | outputSamples |
| ) |  |  |

template BSpline<Vec3f> cinder::fitBSpline | ( | const std::vector< Vec3f > & | samples,
|  | int | degree,
|  | int | outputSamples |
| ) |  |  |

template BSpline<Vec4f> cinder::fitBSpline | ( | const std::vector< Vec4f > & | samples,
|  | int | degree,
|  | int | outputSamples |
| ) |  |  |

Vec3f cinder::rgbToHSV | ( | const Colorf & | c | ) |

std::ostream& cinder::operator<< | ( | std::ostream & | lhs,
|  | const ColorT< float > & | rhs |
| ) |  |  |

std::ostream& cinder::operator<< | ( | std::ostream & | lhs,
|  | const ColorT< uint8_t > & | rhs |
| ) |  |  |

std::ostream& cinder::operator<< | ( | std::ostream & | lhs,
|  | const ColorAT< float > & | rhs |
| ) |  |  |

std::ostream& cinder::operator<< | ( | std::ostream & | lhs,
|  | const ColorAT< uint8_t > & | rhs |
| ) |  |  |

int CALLBACK cinder::EnumFontFamiliesExProc | ( | ENUMLOGFONTEX * | lpelfe,
|  | NEWTEXTMETRICEX * | lpntme,
|  | int | FontType,
|  | LPARAM | lParam |
| ) |  |  |

template<typename T >

Matrix44<T> cinder::nextFrame | ( | const Matrix44< T > & | prevMatrix,
|  | const Vec3< T > & | prevPoint,
|  | const Vec3< T > & | curPoint,
|  | Vec3< T > & | prevTangent,
|  | Vec3< T > * | curTangent |
| ) |  |  |

float cinder::nlerp | ( | float | t,
|  | float | a,
|  | float | b |
| ) |  |  |

template<typename T >

std::ostream& cinder::operator<< | ( | std::ostream & | o,
|  | const RectT< T > & | rect |
| ) |  |  |

void cinder::cpuidwrap | ( | int * | p,
|  | unsigned int | param |
| ) |  |  |

void cinder::lockToLogicalProcessor | ( | int | n | ) |

void cinder::cpuid | ( | int | whichlp,
|  | PLOGICALPROCESSORDATA | p |
| ) |  |  |

std::istream& cinder::operator>> | ( | std::istream & | in,
|  | XmlDocument & | base |
| ) |  |  |

std::ostream& cinder::operator<< | ( | std::ostream & | out,
|  | const XmlDocument & | base |
| ) |  |  |

std::ostream& cinder::operator<< | ( | std::ostream & | out,
|  | const XmlElement & | base |
| ) |  |  |

## Variable Documentation

const double cinder::EPSILON_VALUE = 4.37114e-05