00001 #ifndef PARAM_TYPES_H
00002 #define PARAM_TYPES_H
00003 #include "expr_types.h"
00004 #define P_CREATE 1
00005 #define P_NONE 0
00006
00007 #define P_TYPE_BOOL 0
00008 #define P_TYPE_INT 1
00009 #define P_TYPE_DOUBLE 2
00010
00011 #define P_FLAG_NONE 0
00012 #define P_FLAG_READONLY 1
00013 #define P_FLAG_USERDEF (1 << 1)
00014 #define P_FLAG_QVAR (1 << 2)
00015 #define P_FLAG_TVAR (1 << 3)
00016 #define P_FLAG_ALWAYS_MATRIX (1 << 4)
00017 #define P_FLAG_DONT_FREE_MATRIX (1 << 5)
00018 #define P_FLAG_PER_PIXEL (1 << 6)
00019 #define P_FLAG_PER_POINT (1 << 7)
00020
00021 typedef union VALUE_T {
00022 int bool_val;
00023 int int_val;
00024 double double_val;
00025 } value_t;
00026
00027
00028 typedef struct PARAM_T {
00029 char name[MAX_TOKEN_SIZE];
00030 short int type;
00031 short int flags;
00032 short int matrix_flag;
00033 void * engine_val;
00034 void * matrix;
00035 value_t default_init_val;
00036 value_t upper_bound;
00037 value_t lower_bound;
00038 } param_t;
00039 #endif