⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tracks.h

📁 最新osg包
💻 H
字号:
/* -*- c -*- */#ifndef INCLUDED_LIB3DS_TRACKS_H#define INCLUDED_LIB3DS_TRACKS_H/* * The 3D Studio File Format Library * Copyright (C) 1996-2001 by J.E. Hoffmann <je-h@gmx.net> * All rights reserved. * * This program is  free  software;  you can redistribute it and/or modify it * under the terms of the  GNU Lesser General Public License  as published by  * the  Free Software Foundation;  either version 2.1 of the License,  or (at  * your option) any later version. * * This  program  is  distributed in  the  hope that it will  be useful,  but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or  FITNESS FOR A  PARTICULAR PURPOSE.  See the  GNU Lesser General Public   * License for more details. * * You should  have received  a copy of the GNU Lesser General Public License * along with  this program;  if not, write to the  Free Software Foundation, * Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * $Id: tracks.h 6461 2007-04-06 15:36:13Z robert $ */#ifndef INCLUDED_LIB3DS_TCB_H#include "tcb.h"#endif#ifdef __cplusplusextern "C" {#endif/*! * Track flags * \ingroup tracks */typedef enum {  LIB3DS_REPEAT    =0x0001,  LIB3DS_SMOOTH    =0x0002,  LIB3DS_LOCK_X    =0x0008,  LIB3DS_LOCK_Y    =0x0010,  LIB3DS_LOCK_Z    =0x0020,  LIB3DS_UNLINK_X  =0x0100,  LIB3DS_UNLINK_Y  =0x0200,  LIB3DS_UNLINK_Z  =0x0400} Lib3dsTrackFlags;/*! * Boolean track key * \ingroup tracks */struct _Lib3dsBoolKey {    Lib3dsTcb tcb;    Lib3dsBoolKey *next;};/*! * Boolean track * \ingroup tracks */struct _Lib3dsBoolTrack {    Lib3dsDword flags;    Lib3dsBoolKey *keyL;};/*! * Floating-point track key * \ingroup tracks */struct _Lib3dsLin1Key {    Lib3dsTcb tcb;    Lib3dsLin1Key *next;    Lib3dsFloat value;    Lib3dsFloat dd;    Lib3dsFloat ds;};  /*! * Floating-point track * \ingroup tracks */struct _Lib3dsLin1Track {    Lib3dsDword flags;    Lib3dsLin1Key *keyL;};/*! * Vector track key * \ingroup tracks */struct _Lib3dsLin3Key {    Lib3dsTcb tcb;    Lib3dsLin3Key *next;      Lib3dsVector value;    Lib3dsVector dd;    Lib3dsVector ds;};  /*! * Vector track * \ingroup tracks */struct _Lib3dsLin3Track {    Lib3dsDword flags;    Lib3dsLin3Key *keyL;};/*! * Rotation track key * \ingroup tracks */struct _Lib3dsQuatKey {    Lib3dsTcb tcb;    Lib3dsQuatKey *next;      Lib3dsVector axis;    Lib3dsFloat angle;    Lib3dsQuat q;    Lib3dsQuat dd;    Lib3dsQuat ds;};  /*! * Rotation track  * \ingroup tracks */struct _Lib3dsQuatTrack {    Lib3dsDword flags;    Lib3dsQuatKey *keyL;};/*! * Morph track key * \ingroup tracks */struct _Lib3dsMorphKey {    Lib3dsTcb tcb;    Lib3dsMorphKey *next;      char name[64];};  /*! * Morph track * \ingroup tracks */struct _Lib3dsMorphTrack {    Lib3dsDword flags;    Lib3dsMorphKey *keyL;};extern LIB3DSAPI Lib3dsBoolKey* lib3ds_bool_key_new();extern LIB3DSAPI void lib3ds_bool_key_free(Lib3dsBoolKey* key);extern LIB3DSAPI void lib3ds_bool_track_free_keys(Lib3dsBoolTrack *track);extern LIB3DSAPI void lib3ds_bool_track_insert(Lib3dsBoolTrack *track, Lib3dsBoolKey* key);extern LIB3DSAPI void lib3ds_bool_track_remove(Lib3dsBoolTrack *track, Lib3dsIntd frame);extern LIB3DSAPI void lib3ds_bool_track_eval(Lib3dsBoolTrack *track, Lib3dsBool *p, Lib3dsFloat t);extern LIB3DSAPI Lib3dsBool lib3ds_bool_track_read(Lib3dsBoolTrack *track, FILE *f);extern LIB3DSAPI Lib3dsBool lib3ds_bool_track_write(Lib3dsBoolTrack *track, FILE *f);extern LIB3DSAPI Lib3dsLin1Key* lib3ds_lin1_key_new();extern LIB3DSAPI void lib3ds_lin1_key_free(Lib3dsLin1Key* key);extern LIB3DSAPI void lib3ds_lin1_track_free_keys(Lib3dsLin1Track *track);extern LIB3DSAPI void lib3ds_lin1_key_setup(Lib3dsLin1Key *p, Lib3dsLin1Key *cp, Lib3dsLin1Key *c,  Lib3dsLin1Key *cn, Lib3dsLin1Key *n);extern LIB3DSAPI void lib3ds_lin1_track_setup(Lib3dsLin1Track *track);extern LIB3DSAPI void lib3ds_lin1_track_insert(Lib3dsLin1Track *track, Lib3dsLin1Key *key);extern LIB3DSAPI void lib3ds_lin1_track_remove(Lib3dsLin1Track *track, Lib3dsIntd frame);extern LIB3DSAPI void lib3ds_lin1_track_eval(Lib3dsLin1Track *track, Lib3dsFloat *p, Lib3dsFloat t);extern LIB3DSAPI Lib3dsBool lib3ds_lin1_track_read(Lib3dsLin1Track *track, FILE *f);extern LIB3DSAPI Lib3dsBool lib3ds_lin1_track_write(Lib3dsLin1Track *track, FILE *f);extern LIB3DSAPI Lib3dsLin3Key* lib3ds_lin3_key_new();extern LIB3DSAPI void lib3ds_lin3_key_free(Lib3dsLin3Key* key);extern LIB3DSAPI void lib3ds_lin3_track_free_keys(Lib3dsLin3Track *track);extern LIB3DSAPI void lib3ds_lin3_key_setup(Lib3dsLin3Key *p, Lib3dsLin3Key *cp, Lib3dsLin3Key *c,  Lib3dsLin3Key *cn, Lib3dsLin3Key *n);extern LIB3DSAPI void lib3ds_lin3_track_setup(Lib3dsLin3Track *track);extern LIB3DSAPI void lib3ds_lin3_track_insert(Lib3dsLin3Track *track, Lib3dsLin3Key *key);extern LIB3DSAPI void lib3ds_lin3_track_remove(Lib3dsLin3Track *track, Lib3dsIntd frame);extern LIB3DSAPI void lib3ds_lin3_track_eval(Lib3dsLin3Track *track, Lib3dsVector p, Lib3dsFloat t);extern LIB3DSAPI Lib3dsBool lib3ds_lin3_track_read(Lib3dsLin3Track *track, FILE *f);extern LIB3DSAPI Lib3dsBool lib3ds_lin3_track_write(Lib3dsLin3Track *track, FILE *f);extern LIB3DSAPI Lib3dsQuatKey* lib3ds_quat_key_new();extern LIB3DSAPI void lib3ds_quat_key_free(Lib3dsQuatKey* key);extern LIB3DSAPI void lib3ds_quat_track_free_keys(Lib3dsQuatTrack *track);extern LIB3DSAPI void lib3ds_quat_key_setup(Lib3dsQuatKey *p, Lib3dsQuatKey *cp, Lib3dsQuatKey *c,  Lib3dsQuatKey *cn, Lib3dsQuatKey *n);extern LIB3DSAPI void lib3ds_quat_track_setup(Lib3dsQuatTrack *track);extern LIB3DSAPI void lib3ds_quat_track_insert(Lib3dsQuatTrack *track, Lib3dsQuatKey *key);extern LIB3DSAPI void lib3ds_quat_track_remove(Lib3dsQuatTrack *track, Lib3dsIntd frame);extern LIB3DSAPI void lib3ds_quat_track_eval(Lib3dsQuatTrack *track, Lib3dsQuat p, Lib3dsFloat t);extern LIB3DSAPI Lib3dsBool lib3ds_quat_track_read(Lib3dsQuatTrack *track, FILE *f);extern LIB3DSAPI Lib3dsBool lib3ds_quat_track_write(Lib3dsQuatTrack *track, FILE *f);extern LIB3DSAPI Lib3dsMorphKey* lib3ds_morph_key_new();extern LIB3DSAPI void lib3ds_morph_key_free(Lib3dsMorphKey* key);extern LIB3DSAPI void lib3ds_morph_track_free_keys(Lib3dsMorphTrack *track);extern LIB3DSAPI void lib3ds_morph_track_insert(Lib3dsMorphTrack *track, Lib3dsMorphKey *key);extern LIB3DSAPI void lib3ds_morph_track_remove(Lib3dsMorphTrack *track, Lib3dsIntd frame);extern LIB3DSAPI void lib3ds_morph_track_eval(Lib3dsMorphTrack *track, char *p, Lib3dsFloat t);extern LIB3DSAPI Lib3dsBool lib3ds_morph_track_read(Lib3dsMorphTrack *track, FILE *f);extern LIB3DSAPI Lib3dsBool lib3ds_morph_track_write(Lib3dsMorphTrack *track, FILE *f);#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -