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

📄 node.h

📁 最新osg包
💻 H
字号:
/* -*- c -*- */#ifndef INCLUDED_LIB3DS_NODE_H#define INCLUDED_LIB3DS_NODE_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: node.h 6461 2007-04-06 15:36:13Z robert $ */#ifndef INCLUDED_LIB3DS_TRACKS_H#include "tracks.h"#endif#ifdef __cplusplusextern "C" {#endif/*! * Scene graph ambient color node data * \ingroup node */typedef struct _Lib3dsAmbientData {    Lib3dsRgb col;    Lib3dsLin3Track col_track;} Lib3dsAmbientData;/*! * Scene graph object instance node data * \ingroup node */typedef struct _Lib3dsObjectData {    Lib3dsVector pivot;    char instance[64];    Lib3dsVector bbox_min;    Lib3dsVector bbox_max;    Lib3dsVector pos;    Lib3dsLin3Track pos_track;    Lib3dsQuat rot;    Lib3dsQuatTrack rot_track;    Lib3dsVector scl;    Lib3dsLin3Track scl_track;    Lib3dsFloat morph_smooth;    char morph[64];    Lib3dsMorphTrack morph_track;    Lib3dsBool hide;    Lib3dsBoolTrack hide_track;} Lib3dsObjectData;/*! * Scene graph camera node data * \ingroup node */typedef struct _Lib3dsCameraData {    Lib3dsVector pos;    Lib3dsLin3Track pos_track;    Lib3dsFloat fov;    Lib3dsLin1Track fov_track;    Lib3dsFloat roll;    Lib3dsLin1Track roll_track;} Lib3dsCameraData;/*! * Scene graph camera target node data * \ingroup node */typedef struct _Lib3dsTargetData {    Lib3dsVector pos;    Lib3dsLin3Track pos_track;} Lib3dsTargetData;/*! * Scene graph light node data * \ingroup node */typedef struct _Lib3dsLightData {    Lib3dsVector pos;    Lib3dsLin3Track pos_track;    Lib3dsRgb col;    Lib3dsLin3Track col_track;    Lib3dsFloat hotspot;    Lib3dsLin1Track hotspot_track;    Lib3dsFloat falloff;    Lib3dsLin1Track falloff_track;    Lib3dsFloat roll;    Lib3dsLin1Track roll_track;} Lib3dsLightData;/*! * Scene graph spotlight target node data * \ingroup node */typedef struct _Lib3dsSpotData {    Lib3dsVector pos;    Lib3dsLin3Track pos_track;} Lib3dsSpotData;/*! * Scene graph node data union * \ingroup node */typedef union _Lib3dsNodeData {    Lib3dsAmbientData ambient;    Lib3dsObjectData object;    Lib3dsCameraData camera;    Lib3dsTargetData target;    Lib3dsLightData light;    Lib3dsSpotData spot;} Lib3dsNodeData;/*! * \ingroup node */#define LIB3DS_NO_PARENT 65535/*! * Scene graph node * \ingroup node */struct _Lib3dsNode {    Lib3dsUserData user;    Lib3dsNode *next;\    Lib3dsNode *childs;\    Lib3dsNode *parent;\    Lib3dsNodeTypes type;\    Lib3dsWord node_id;\    char name[64];\    Lib3dsWord flags1;\    Lib3dsWord flags2;\    Lib3dsWord parent_id;    Lib3dsMatrix matrix;    Lib3dsNodeData data;};extern LIB3DSAPI Lib3dsNode* lib3ds_node_new_ambient();extern LIB3DSAPI Lib3dsNode* lib3ds_node_new_object();extern LIB3DSAPI Lib3dsNode* lib3ds_node_new_camera();extern LIB3DSAPI Lib3dsNode* lib3ds_node_new_target();extern LIB3DSAPI Lib3dsNode* lib3ds_node_new_light();extern LIB3DSAPI Lib3dsNode* lib3ds_node_new_spot();extern LIB3DSAPI void lib3ds_node_free(Lib3dsNode *node);extern LIB3DSAPI void lib3ds_node_eval(Lib3dsNode *node, Lib3dsFloat t);extern LIB3DSAPI Lib3dsNode* lib3ds_node_by_name(Lib3dsNode *node, const char* name,  Lib3dsNodeTypes type);extern LIB3DSAPI Lib3dsNode* lib3ds_node_by_id(Lib3dsNode *node, Lib3dsWord node_id);extern LIB3DSAPI void lib3ds_node_dump(Lib3dsNode *node, Lib3dsIntd level);extern LIB3DSAPI Lib3dsBool lib3ds_node_read(Lib3dsNode *node, Lib3dsFile *file, FILE *f);extern LIB3DSAPI Lib3dsBool lib3ds_node_write(Lib3dsNode *node, Lib3dsFile *file, FILE *f);#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

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