00001
00026 #ifndef CellState_H
00027 #define CellState_H
00028
00029 #include <stdlib.h>
00030
00031 #include "FuelModel.h"
00032 #include "RothFuelModel.h"
00033 #include "PhysFuelModel.h"
00034
00035 #include "GridData.h"
00036 #include "ByteTwoDArray.h"
00037 #include "ChHashTable.h"
00038 #include "CoordTrans.h"
00039 #include "Err.h"
00040
00041
00042
00043
00044
00045
00046
00054 enum EnumCellState_ {
00055 EnumUnBurnableCellState = 0,
00056 EnumNoFireCellState = 1,
00057 EnumHasFireCellState = 2,
00058 EnumConsumedCellState = 3
00059 };
00060
00061
00062
00063
00064
00065
00066
00070 typedef enum EnumCellState_ EnumCellState;
00071
00075 typedef struct CellState_ CellState;
00076
00080 struct CellState_ {
00082 double xllcorner;
00084 double yllcorner;
00086 int cellsize;
00088 ByteTwoDArray * state;
00089 };
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00110 CellState * InitCellStateFuels(GridData * fuels, ChHashTable * fmtble);
00111
00127 int CellStateSetCellStateRowCol(CellState * cs, int i, int j, EnumCellState state);
00128
00144 int CellStateSetCellStateRealWorld(CellState * cs, double rwx, double rwy, EnumCellState state);
00145
00153 void FreeCellState(CellState * cs);
00154
00155 #endif CellState_H