Generic array data type and methods. More...
#include "ai_color.h"#include "ai_math.h"#include "ai_matrix.h"#include "ai_string.h"#include "ai_vector.h"#include "ai_api.h"#include <stdint.h>Go to the source code of this file.
Data Structures | |
| struct | POD_tempf2 |
| struct | POD_tempf3 |
| struct | POD_tempf4 |
Functions | |
| AI_API AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type,...) |
| Create an array and initialize it with supplied data. More... | |
| AI_API AtArray * | AiArrayAllocate (uint32_t nelements, uint8_t nkeys, uint8_t type) |
| Create an empty (uninitialized) array of the specified type. More... | |
| AI_API void | AiArrayDestroy (AtArray *array) |
| Deallocate an array object. More... | |
| AI_API AtArray * | AiArrayConvert (uint32_t nelements, uint8_t nkeys, uint8_t type, const void *data) |
| Create an array and initialize it from an existing data buffer. More... | |
| AI_API void | AiArrayResize (AtArray *array, uint32_t nelements, uint8_t nkeys) |
| Resize an existing array contents in place. More... | |
| AI_API AtArray * | AiArrayCopy (const AtArray *array) |
| Create a copy of an array. More... | |
| AI_API bool | AiArraySetKey (AtArray *array, uint8_t key, const void *data) |
| Initializes data for all the elements in a specific key of an array. More... | |
| AI_API void * | AiArrayMap (AtArray *array) |
| Obtains a pointer to the internal array data for construction. More... | |
| AI_API void * | AiArrayMapKey (AtArray *array, uint8_t key) |
| Obtains a pointer to a specific key in the internal array data for construction. More... | |
| AI_API void | AiArrayUnmap (AtArray *array) |
| Notifies the array that construction is finished. More... | |
| AI_API AI_PURE uint32_t | AiArrayGetNumElements (const AtArray *array) |
| Get the number of elements on each key of the array. More... | |
| AI_API AI_PURE uint8_t | AiArrayGetNumKeys (const AtArray *array) |
| Get the number of keys. More... | |
| AI_API AI_PURE uint8_t | AiArrayGetType (const AtArray *array) |
| Get the type of array elements. More... | |
| AI_API AI_PURE size_t | AiArrayGetDataSize (const AtArray *array) |
| Get the total size in bytes of the data buffer for this array. More... | |
| AI_API AI_PURE size_t | AiArrayGetKeySize (const AtArray *array) |
| Get the total size in bytes of the data for one key. More... | |
| AI_API AI_PURE AtVector | AiArrayInterpolateVec (const AtArray *array, float time, uint32_t idx) |
| Interpolate a vector at a given time from an array. More... | |
| AI_API AI_PURE AtRGB | AiArrayInterpolateRGB (const AtArray *array, float time, uint32_t idx) |
| Interpolate a color at a given time from an array. More... | |
| AI_API AI_PURE AtRGBA | AiArrayInterpolateRGBA (const AtArray *array, float time, uint32_t idx) |
| Interpolate an AtRGBA at a given time from an array. More... | |
| AI_API AI_PURE float | AiArrayInterpolateFlt (const AtArray *array, float time, uint32_t idx) |
| Interpolate a float at a given time from an array. More... | |
| AI_API AI_PURE AtMatrix | AiArrayInterpolateMtx (const AtArray *array, float time, uint32_t idx) |
| Interpolate a matrix at a given time from an array. More... | |
AtArray Getters | |
The following getter functions return the i'th element in an array of the given type. In case of out-of-bounds access, an error message is generated | |
| AI_API AI_PURE bool | AiArrayGetBool (const AtArray *a, uint32_t i) |
| AI_API AI_PURE uint8_t | AiArrayGetByte (const AtArray *a, uint32_t i) |
| AI_API AI_PURE int | AiArrayGetInt (const AtArray *a, uint32_t i) |
| AI_API AI_PURE uint32_t | AiArrayGetUInt (const AtArray *a, uint32_t i) |
| AI_API AI_PURE float | AiArrayGetFlt (const AtArray *a, uint32_t i) |
| AI_API AI_PURE AtRGB | AiArrayGetRGB (const AtArray *a, uint32_t i) |
| AI_API AI_PURE AtRGBA | AiArrayGetRGBA (const AtArray *a, uint32_t i) |
| AI_API AI_PURE AtVector2 | AiArrayGetVec2 (const AtArray *a, uint32_t i) |
| AI_API AI_PURE AtVector | AiArrayGetVec (const AtArray *a, uint32_t i) |
| AI_API AI_PURE AtMatrix | AiArrayGetMtx (const AtArray *a, uint32_t i) |
| AI_API AI_PURE AtString | AiArrayGetStr (const AtArray *a, uint32_t i) |
| AI_API AI_PURE void * | AiArrayGetPtr (const AtArray *a, uint32_t i) |
| AI_API AI_PURE AtArray * | AiArrayGetArray (const AtArray *a, uint32_t i) |
AtArray Setters | |
The following functions write an element of a given type into the i'th position in an array. If the write was succesful, these functions will return true, otherwise a detailed error message will be logged and false will be returned. | |
| AI_API bool | AiArraySetBool (AtArray *a, uint32_t i, bool val) |
| AI_API bool | AiArraySetByte (AtArray *a, uint32_t i, uint8_t val) |
| AI_API bool | AiArraySetInt (AtArray *a, uint32_t i, int val) |
| AI_API bool | AiArraySetUInt (AtArray *a, uint32_t i, uint32_t val) |
| AI_API bool | AiArraySetFlt (AtArray *a, uint32_t i, float val) |
| AI_API bool | AiArraySetRGB (AtArray *a, uint32_t i, AtRGB val) |
| AI_API bool | AiArraySetRGBA (AtArray *a, uint32_t i, AtRGBA val) |
| AI_API bool | AiArraySetVec2 (AtArray *a, uint32_t i, AtVector2 val) |
| AI_API bool | AiArraySetVec (AtArray *a, uint32_t i, AtVector val) |
| AI_API bool | AiArraySetMtx (AtArray *a, uint32_t i, AtMatrix val) |
| AI_API bool | AiArraySetStr (AtArray *a, uint32_t i, AtString val) |
| AI_API bool | AiArraySetPtr (AtArray *a, uint32_t i, void *val) |
| AI_API bool | AiArraySetArray (AtArray *a, uint32_t i, AtArray *val) |
| bool | AiArraySetStr (AtArray *a, uint32_t i, const char *val) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtVector v1) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtVector v1, AtVector v2) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtVector v1, AtVector v2, AtVector v3) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtVector v1, AtVector v2, AtVector v3, AtVector v4) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtVector v1, AtVector v2, AtVector v3, AtVector v4, AtVector v5) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtVector2 v1) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtVector2 v1, AtVector2 v2) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtVector2 v1, AtVector2 v2, AtVector2 v3) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtVector2 v1, AtVector2 v2, AtVector2 v3, AtVector2 v4) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtVector2 v1, AtVector2 v2, AtVector2 v3, AtVector2 v4, AtVector2 v5) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtRGB v1) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtRGB v1, AtRGB v2) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtRGB v1, AtRGB v2, AtRGB v3) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtRGB v1, AtRGB v2, AtRGB v3, AtRGB v4) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtRGB v1, AtRGB v2, AtRGB v3, AtRGB v4, AtRGB v5) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtRGBA v1) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtRGBA v1, AtRGBA v2) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtRGBA v1, AtRGBA v2, AtRGBA v3) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtRGBA v1, AtRGBA v2, AtRGBA v3, AtRGBA v4) |
| AtArray * | AiArray (uint32_t nelements, uint8_t nkeys, int type, AtRGBA v1, AtRGBA v2, AtRGBA v3, AtRGBA v4, AtRGBA v5) |
Generic array data type and methods.