Katana Plug-in APIs 0.1

FnXFormUtilSuite.h

00001 #ifndef FnXFormUtilSuite_H
00002 #define FnXFormUtilSuite_H
00003 
00004 #include <FnAttribute/suite/FnAttributeSuite.h>
00005 
00006 #include <stdint.h>
00007 
00008 extern "C" {
00009 
00010 #define FnXFormUtilHostSuite_version 1
00011 
00012 struct FnXFormUtilHostSuite_v1
00013 {
00014     FnAttributeHandle (*calcTransformMatrix1)(uint8_t * isabs,
00015         FnAttributeHandle xform, float time);
00016 
00017     FnAttributeHandle (*calcTransformMatrix2)(uint8_t * isabs,
00018         FnAttributeHandle xform, const float * times, int32_t numtimes);
00019 
00020     FnAttributeHandle (*calcTransformMatrix3)(uint8_t * isabs,
00021         FnAttributeHandle xform);
00022 
00023     void (*initXForm)(
00024         FnGroupBuilderHandle gb, FnAttributeHandle xform);
00025 
00026     void (*pushRotateAttr1)(FnGroupBuilderHandle gb,
00027         double angle, double x, double y, double z);
00028 
00029     FnAttributeHandle (*pushRotateAttr2)(FnAttributeHandle xform,
00030         double angle, double x, double y, double z);
00031 
00032     void (*pushTranslateAttr1)(FnGroupBuilderHandle gb,
00033         double x, double y, double z);
00034 
00035     FnAttributeHandle (*pushTranslateAttr2)(FnAttributeHandle xform,
00036         double x, double y, double z);
00037 
00038     void (*pushScaleAttr1)(FnGroupBuilderHandle gb,
00039         double x, double y, double z);
00040 
00041     FnAttributeHandle (*pushScaleAttr2)(FnAttributeHandle xform,
00042         double x, double y, double z);
00043 
00044     void (*pushMatrixAttr1)(FnGroupBuilderHandle gb,
00045         const double * mtx16);
00046 
00047     FnAttributeHandle (*pushMatrixAttr2)(FnAttributeHandle xform,
00048         const double * mtx16);
00049 
00050     void (*pushOriginAttr1)(FnGroupBuilderHandle gb);
00051 
00052     FnAttributeHandle (*pushOriginAttr2)(FnAttributeHandle xform);
00053 
00054     FnAttributeHandle (*createBoundsAttr)(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
00055 
00056     FnAttributeHandle (*mergeBounds)(FnAttributeHandle bounds1, FnAttributeHandle bounds2);
00057 
00058     FnAttributeHandle (*calcTransformedBoundsAtExistingTimes)(FnAttributeHandle xform, FnAttributeHandle bound);
00059 
00060     FnAttributeHandle (*collapseBoundsTimeSamples)(FnAttributeHandle bound);
00061 };
00062 
00063 }
00064 
00065 
00066 #endif
 All Classes Functions Variables Typedefs Enumerations Enumerator