00001 /* $Id: TransType.h,v 1.3 2004/02/01 19:24:58 delpinux Exp $ */ 00002 00003 00004 #ifndef _TRANSTYPE_HPP_ 00005 #define _TRANSTYPE_HPP_ 00006 00007 #include <Types.hpp> 00008 00009 /* 00010 This must be defined separatly 00011 Because the lexer is generated in C code 00012 */ 00013 00014 enum TransType { 00015 translation, 00016 rotation, 00017 scale, 00018 matrix 00019 }; 00020 00021 typedef struct parsetrans { 00022 int number; 00023 #ifdef __cplusplus 00024 /* hack to provide single interface to C and C++ :-( */ 00025 TransType* type; 00026 #endif /* __cplusplus */ 00027 real_t *vect[3]; 00028 bool hasRef; /* true if the object has a reference */ 00029 bool inverse; /* true if inverse */ 00030 real_t ref[4]; /* The first 3 components contains the REF vector */ 00031 /* The other field is used to detect if the object is 00032 to be taken into account in the scene */ 00033 real_t mat[12]; 00034 } parsetrans; 00035 00036 typedef struct { 00037 char* name; 00038 int type; // 0 for real_t, 1 for char* 00039 union { 00040 real_t d; 00041 char* s; 00042 } val; 00043 } variable; 00044 00045 00046 00047 #endif /* _TRANSTYPE_HPP_ */
1.5.6