Institut de Robòtica i Informàtica Industrial
KRD Group

The CuikSuite Project

variables.h

Go to the documentation of this file.
00001 #ifndef VARIABLESH
00002 #define VARIABLESH
00003 
00004 #include "variable.h"
00005 #include "box.h"
00006 #include "boolean.h"
00007 
00008 #include <stdio.h>
00009 
00038 typedef struct {
00039   unsigned int max_variables; 
00040   unsigned int n;  
00041   unsigned int sys; 
00042   unsigned int sec; 
00043   unsigned int dum; 
00044   unsigned int car; 
00045   Tvariable **vs; 
00046 } Tvariables;
00047 
00055 void InitVariables(Tvariables *vs);
00056 
00057 
00066 void CopyVariables(Tvariables *vs_dst,Tvariables *vs_src);
00067 
00077 unsigned int NVariables(Tvariables *vs); 
00078 
00088 unsigned int GetNumSystemVariables(Tvariables *vs);
00089 
00099 unsigned int GetNumSecondaryVariables(Tvariables *vs);
00100 
00110 unsigned int GetNumDummyVariables(Tvariables *vs);
00111 
00121 unsigned int GetNumCartesianVariables(Tvariables *vs);
00122 
00123 
00134 boolean IsSystemVariable(unsigned int n,Tvariables *vs);
00135 
00146 boolean IsSecondaryVariable(unsigned int n,Tvariables *vs);
00147 
00158 boolean IsDummyVariable(unsigned int n,Tvariables *vs);
00159 
00170 boolean IsCartesianVariable(unsigned int n,Tvariables *vs);
00171 
00184 unsigned int GetVariableTypeN(unsigned int n,Tvariables *vs);
00185 
00194 unsigned int AddVariable(Tvariable *v,Tvariables *vs);
00195 
00208 Tvariable *GetVariableWithName(char *name,Tvariables *vs);
00209 
00223 Tvariable *GetVariable(unsigned int n,Tvariables *vs);
00224 
00236 unsigned int GetVariableID(char *name,Tvariables *vs);
00237 
00246 void GetVariableNames(char **varNames,Tvariables *vs);
00247 
00258 void RemoveVariable(unsigned int n,Tvariables *vs);
00259 
00268 void BoxFromVariables(Tbox *b,Tvariables *vs);
00269 
00282 void PrintVariables(FILE *f,Tvariables *vs);
00283 
00291 void DeleteVariables(Tvariables *vs);
00292 
00293 #endif