Katana Plug-in APIs 0.1

FnExpressionMathSuite.h

00001 #ifndef FnExpressionMathSuite_H
00002 #define FnExpressionMathSuite_H
00003 
00004 #include <stdint.h>
00005 
00006 extern "C" {
00007 
00008 #define FnExpressionMathHostSuite_version 1
00009 
00010 #define kFnKatExpressionMathRetimeFreeze 0
00011 #define kFnKatExpressionMathRetimeRepeat 1
00012 #define kFnKatExpressionMathRetimeMirror 2
00013 
00014 struct FnExpressionMathHostSuite_v1
00015 {
00016     int32_t (*clampint)(int32_t value, int32_t a, int32_t b);
00017     float   (*clampfloat)(float value, float a, float b);
00018     double  (*clampdouble)(double value, double a, double b);
00019 
00020     float   (*lerpfloat)(float mix, float a, float b);
00021     double  (*lerpdouble)(double mix, double a, double b);
00022 
00023     float   (*smoothstepfloat)(float t);
00024     double  (*smoothstepdouble)(double t);
00025 
00026     float   (*fitfloat)(float value, float oldmin, float oldmax,
00027             float newmin, float newmax);
00028     double  (*fitdouble)(double value, double oldmin, double oldmax,
00029             double newmin, double newmax);
00030 
00031     float   (*cfitfloat)(float value, float oldmin, float oldmax,
00032             float newmin, float newmax);
00033     double  (*cfitdouble)(double value, double oldmin, double oldmax,
00034             double newmin, double newmax);
00035 
00036     float   (*softcfitfloat)(float value, float oldmin, float oldmax,
00037             float newmin, float newmax);
00038     double  (*softcfitdouble)(double value, double oldmin, double oldmax,
00039             double newmin, double newmax);
00040 
00041     double  (*retime)(double frame, double start, double end,
00042             int32_t inMode, int32_t outMode);
00043 
00044     float   (*randvalfloat)(float min, float max, int32_t seed);
00045     double  (*randvaldouble)(double min, double max, int32_t seed);
00046 
00047     float   (*noise1D)(float x);
00048     float   (*noise2D)(float x, float y);
00049     float   (*noise3D)(float x, float y, float z);
00050     float   (*noise4D)(float x, float y, float z, float w);
00051 
00052     float   (*snoise1D)(float x);
00053     float   (*snoise2D)(float x, float y);
00054     float   (*snoise3D)(float x, float y, float z);
00055     float   (*snoise4D)(float x, float y, float z, float w);
00056 
00057     int32_t (*stablehash)(const char *cacheID, int32_t cacheIDSize);
00058 };
00059 
00060 } // extern "C"
00061 
00062 #endif
 All Classes Functions Variables Typedefs Enumerations Enumerator