- and again a round of name and include corrections
[genesis3d.git] / include / path.h
diff --git a/include/path.h b/include/path.h
deleted file mode 100644 (file)
index 6052947..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-/****************************************************************************************/\r
-/*  PATH.H                                                                                                                                                             */\r
-/*                                                                                      */\r
-/*  Author: Mike Sandige                                                                   */\r
-/*  Description: Time-indexed keyframe creation, maintenance, and sampling.                            */\r
-/*                                                                                      */\r
-/*  The contents of this file are subject to the Genesis3D Public License               */\r
-/*  Version 1.01 (the "License"); you may not use this file except in                   */\r
-/*  compliance with the License. You may obtain a copy of the License at                */\r
-/*  http://www.genesis3d.com                                                            */\r
-/*                                                                                      */\r
-/*  Software distributed under the License is distributed on an "AS IS"                 */\r
-/*  basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See                */\r
-/*  the License for the specific language governing rights and limitations              */\r
-/*  under the License.                                                                  */\r
-/*                                                                                      */\r
-/*  The Original Code is Genesis3D, released March 25, 1999.                            */\r
-/*  Genesis3D Version 1.1 released November 15, 1999                                 */\r
-/*  Copyright (C) 1999 WildTangent, Inc. All Rights Reserved           */\r
-/*                                                                                      */\r
-/****************************************************************************************/\r
-#ifndef GE_PATH_H\r
-#define GE_PATH_H\r
-\r
-#include "basetype.h"\r
-#include "xform3d.h"\r
-#include "quatern.h"\r
-#include "vfile.h"\r
-\r
-#ifdef __cplusplus\r
-       extern "C" {\r
-#endif\r
-\r
-\r
-// GENESIS_PUBLIC_APIS\r
-typedef struct _gePath gePath;\r
-\r
-#define GE_PATH_ROTATION_CHANNEL    1\r
-#define GE_PATH_TRANSLATION_CHANNEL 2\r
-\r
-#define GE_PATH_ALL_CHANNELS (GE_PATH_ROTATION_CHANNEL | GE_PATH_TRANSLATION_CHANNEL)\r
-\r
-#ifndef GE_PATH_ENUMS\r
-       #define GE_PATH_ENUMS\r
-       typedef enum \r
-       {\r
-               GE_PATH_INTERPOLATE_LINEAR  = 0,        // linear blend for translation or rotation channel\r
-               GE_PATH_INTERPOLATE_HERMITE,            // hermite cubic spline for translation channel\r
-               GE_PATH_INTERPOLATE_SLERP,                      // spherical-linear blend for rotation channel\r
-               GE_PATH_INTERPOLATE_SQUAD,                      // higher order blend for rotation channel 'G1' continuity\r
-               //GE_PATH_INTEROPLATE_TRIPOD,            // not supported yet.\r
-               GE_PATH_INTERPOLATE_HERMITE_ZERO_DERIV = 7      // hermite cubic with zero derivative at keyframes ('easing' curve)\r
-       }gePath_Interpolator;\r
-#endif\r
-\r
-GENESISAPI void GENESISCC gePath_CreateRef( gePath *P );\r
-\r
-GENESISAPI gePath *GENESISCC gePath_Create(\r
-       gePath_Interpolator TranslationInterpolation,   // type of interpolation for translation channel\r
-       gePath_Interpolator RotationInterpolation,      // type of interpolation for rotation channel\r
-       geBoolean Looped);                              // True if end of path is connected to head\r
-       // creates new gePath\r
-       //  A looping path should have the same first & last point.  The path\r
-       //  generator will choose arbitrarily between these points for a \r
-       //  sample exactly at the end of the loop.\r
-\r
-GENESISAPI gePath *GENESISCC gePath_CreateCopy( const gePath *P );\r
-       \r
-GENESISAPI void GENESISCC gePath_Destroy(gePath **PP);         \r
-       // destroys path *PP\r
-\r
-//------------------ time based keyframe operations\r
-GENESISAPI geBoolean GENESISCC gePath_InsertKeyframe(\r
-       gePath *P, \r
-       int ChannelMask, \r
-       geFloat Time, \r
-       const geXForm3d *Matrix); \r
-       // inserts a keyframe at a specific time.\r
-       \r
-GENESISAPI geBoolean GENESISCC gePath_DeleteKeyframe(\r
-       gePath *P,\r
-       int Index,\r
-       int ChannelMask); \r
-       // deletes the nth keyframe\r
-\r
-GENESISAPI geBoolean GENESISCC gePath_GetTimeExtents(\r
-       const gePath *P,\r
-       geFloat *StartTime, \r
-       geFloat *EndTime);\r
-       // gets the time for the first and last keys in the path (ignoring looping)\r
-       // if there are no keys, return GE_FALSE and times are not set.\r
-       // returns GE_TRUE if there are keys.\r
-\r
-//----------------- index based keyframe operations\r
-GENESISAPI void GENESISCC gePath_GetKeyframe(\r
-       const gePath *P, \r
-       int Index,                              // gets keyframe[index]\r
-       int Channel,                    // for this channel\r
-       geFloat *Time,                  // returns the time of the keyframe\r
-       geXForm3d *Matrix);             // returns the matrix of the keyframe\r
-       // retrieves keyframe[index], and it's time\r
-\r
-GENESISAPI int GENESISCC gePath_GetKeyframeCount(const gePath *P,int Channel);\r
-       // retrieves count of keyframes for a specific channel\r
-\r
-GENESISAPI int GENESISCC gePath_GetKeyframeIndex(const gePath *P, int Channel, geFloat Time);\r
-       // retrieves the index of the keyframe at a specific time for a specific channel\r
-\r
-//----------------- sampling a path  (time based)\r
-GENESISAPI void GENESISCC gePath_Sample(const gePath *P, geFloat Time,geXForm3d *Matrix);\r
-       // returns a transform matrix sampled at 'Time'.\r
-       // p is not const because information is cached in p for next sample\r
-\r
-// GENESIS_PRIVATE_APIS\r
-void GENESISCC gePath_SampleChannels(\r
-       const gePath *P, \r
-       geFloat Time, \r
-       geQuaternion *Rotation, \r
-       geVec3d *Translation);\r
-       // returns a rotation and a translation for the path at 'Time'\r
-       // p is not const because information is cached in p for next sample\r
-\r
-GENESISAPI geBoolean GENESISCC gePath_OffsetTimes(gePath *P, \r
-       int StartingIndex, int ChannelMask, geFloat TimeOffset );\r
-               // slides all samples in path starting with StartingIndex down by TimeOffset\r
-\r
-GENESISAPI geBoolean GENESISCC gePath_ModifyKeyframe(\r
-       gePath *P,\r
-       int Index,\r
-       int ChannelMask,\r
-       const geXForm3d *Matrix);\r
-       \r
-\r
-// GENESIS_PUBLIC_APIS\r
-\r
-//------------------ saving/loading a path\r
-GENESISAPI gePath* GENESISCC gePath_CreateFromFile(geVFile *F);\r
-       // loads a file  (binary or ascii)\r
-\r
-GENESISAPI geBoolean GENESISCC gePath_WriteToFile(const gePath *P, geVFile *F);\r
-       // dumps formatted ascii to the file.  \r
-\r
-GENESISAPI geBoolean GENESISCC gePath_WriteToBinaryFile(const gePath *P, geVFile *F);\r
-       // dumps a minimal binary image for fastest reading\r
-\r
-\r
-\r
-#ifdef __cplusplus\r
-       }\r
-#endif\r
-\r
-\r
-#endif\r