Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

rvtypes.h

Go to the documentation of this file.
00001 /*
00002  *  Part of rvglue source code,
00003  *  Copyright (C) 2000 Alexander Kroeller (alilein@gmx.de)
00004  *  Copyright (C) 2001 Gabor Varga (vag) (bootes@freemail.hu)
00005  *
00006  *  This program is free software; you can redistribute it and/or modify
00007  *  it under the terms of the GNU General Public License as published by
00008  *  the Free Software Foundation; either version 2 of the License, or
00009  *  (at your option) any later version.
00010  *
00011  *  This program is distributed in the hope that it will be useful,
00012  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  *  GNU General Public License for more details.
00015  *
00016  *  You should have received a copy of the GNU General Public License
00017  *  along with this program; if not, write to the Free Software
00018  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00019  */
00020 
00021 /*
00022  * $Id: rvtypes.h,v 1.1 2000/05/03 08:49:54 ali Exp ali $
00023  *
00024  * $Log: rvtypes.h,v $
00025  * Revision 1.1  2000/05/03 08:49:54  ali
00026  * Initial revision
00027  */
00028 #ifndef __RVTYPES_H
00029 #define __RVTYPES_H
00030 
00031 #include <math.h>
00032 
00033 #include "rvbasetypes.h"
00034 #include "rvcolor.h"
00035 #include "vector.h"
00036 #include "matrix3.h"
00037 #include "vertex.h"
00038 #include "axisbox.h"
00039 
00040 #define SUFFIX_W_STD    "w"
00041 #define SUFFIX_W_IM     "i-w"
00042 #define SUFFIX_PRM_STD  "prm"
00043 #define SUFFIX_PRM_IM   "i-p"
00044 #define SUFFIX_NCP      "ncp"
00045 #define SUFFIX_TAZ      "taz"       /* vag 2001-05-08 */
00046 #define SUFFIX_VIS      "vis"       /* vag 2001-05-08 */
00047 
00048 
00049 #define SUFFIX_DOT_W_STD    ".w"
00050 #define SUFFIX_DOT_W_IM     ".i-w"
00051 #define SUFFIX_DOT_PRM_STD  ".prm"
00052 #define SUFFIX_DOT_PRM_IM   ".i-p"
00053 #define SUFFIX_DOT_NCP      ".ncp"
00054 #define SUFFIX_DOT_TAZ      ".taz"  /* vag 2001-05-08 */
00055 #define SUFFIX_DOT_VIS      ".vis"  /* vag 2001-05-08 */
00056 
00057 
00058 
00060 
00062 struct RV_UV
00063 {
00064   rvfloat     u;
00065   rvfloat     v;
00066 };
00067 #define RV_UV_SIZE sizeof(RV_UV)
00068 
00069 
00070 
00071 
00072 
00073 
00074 
00075 
00077 
00079 struct RV_W_Mesh
00080 {
00082   Vector   ball_center;
00084   rvfloat  ball_radius;
00085 
00086   AxisBox  bbox;
00087 
00089   rvushort num_polys;
00091   rvushort num_vecs;
00092 };
00093 #define RV_W_MESH_SIZE sizeof(RV_W_Mesh)
00094 
00095 
00096 
00097 
00098 
00100 
00102 struct RV_PRM_Mesh
00103 {
00105   rvushort    num_polys;
00106 
00108   rvushort    num_vecs;
00109 };
00110 #define RV_PRM_MESH_SIZE sizeof(RV_PRM_Mesh)
00111 
00112 
00113 
00114 
00115 
00116 
00117 
00118 
00119 
00121 
00126 struct RV_Poly
00127 {
00142   rvushort    type;
00143 
00149   rvshort     texture;
00150  
00152   rvushort    vertidx[4];
00153 
00158   RVColor     color[4];
00159 
00161   RV_UV       texcoord[4];
00162 };
00163 #define RV_POLY_SIZE sizeof(RV_Poly)
00164 
00165 
00166 #define POLY_IS_QUAD           0x001
00167 #define POLY_IS_DOUBLE         0x002
00168 #define POLY_IS_TRANS          0x004
00169 #define POLY_TRANS_1_1         0x100
00170 
00171 #define POLY_PRM_DISABLE_ENV   0x400
00172 #define POLY_W_ENABLE_ENV      0x800
00173 
00174 
00175 
00176 
00177 
00178 
00179 
00180 
00181 
00182 
00183 
00184 
00186 struct RV_FunnyBall
00187 {
00188   Vector   center;
00189   rvfloat  radius;
00190   
00191   rvulong  groupcnt;
00192 };
00193 #define RV_FUNNYBALL_SIZE sizeof(RV_FunnyBall)
00194 
00195 
00196 
00197 
00198 
00200 struct RV_Plane
00201 {
00202   Vector  normal;
00203   rvfloat    distance;
00204 };
00205 #define RV_PLANE_SIZE sizeof(RV_Plane);
00206 
00207 
00208 
00210 struct RV_Polyhedron
00211 {
00212   rvlong   type;
00213   rvlong   surface;
00214 
00215   RV_Plane plane[5];
00216 
00217   AxisBox  bbox;
00218 };
00219 #define RV_POLYHEDRON_SIZE sizeof(RV_Polyhedron)
00220 
00221 
00222 
00224 struct RV_LookupGrid
00225 {
00226   rvfloat    x0;
00227   rvfloat    z0;
00228 
00229   rvfloat    x_size;
00230   rvfloat    z_size;
00231 
00232   rvfloat    raster_size;
00233 };
00234 #define RV_LOOKUPGRID_SIZE sizeof(RV_LookupGrid)
00235 
00236 
00237 
00238 
00239 
00241 struct RV_FIN_Data
00242 {
00243   char fname[9];
00244 
00245   signed char model_r, model_g, model_b;
00246   unsigned char env_b, env_g, env_r;
00247 
00248   unsigned char _unknown_1[2];
00249 
00250   unsigned char enable_env_flag;
00251 
00252   unsigned char _unknown_2[2];
00253 
00254   rvlong lodbias;
00255 
00256   Vector position;
00257   Matrix_3x3 rotation;
00258 };
00259 #define RV_FIN_DATA_SIZE sizeof(RV_FIN_Data)
00260 
00261 
00262 
00263 
00265 struct RV_TAZ_Data
00266 {
00267   rvulong   id;
00268   Vector center;
00269   Matrix_3x3   rotation;
00270   Vector   size;
00271 };
00272 #define RV_TAZ_DATA_SIZE sizeof(RV_TAZ_Data)
00273 
00274 
00275 
00276 
00277 #define CAMERA_NODE 0x1
00278 #define CUBE_NODE 0x2
00279 
00281 struct RV_VIS_Data  // vag 2001-05-11
00282 {
00283   unsigned char flags;
00284   unsigned char id;
00285   unsigned char _unknown_[2];
00286   AxisBox abox;
00287 };
00288 #define RV_VIS_DATA_SIZE sizeof(RV_VIS_Data)
00289 
00290 
00291 #endif

Generated at Mon Jul 2 16:54:58 2001 for rvtmod/rvglue by doxygen1.2.0 written by Dimitri van Heesch, © 1997-2000