#ifndef MOVIEOUT_H #define MOVIEOUT_H #include "cell.h" #include "Movie.h" #define TAG1 19 #define TAG2 29 #define TAG3 39 #define MOVIE_MAXPTS (100) #define BORDER_WIDTH (.004) #define PATH_WIDTH (.002) #define ROBOT_WIDTH (.01) #define RESOLUTION (.01) class Obstacle; class PInfo; class PGNode; void MakeMovie(char **argv, int argc, PInfo *pInfo); void MakeMultiMovie(char **argv, int argc, PInfo *pInfo1, PInfo *pInfo2); class PursuerMovie : public MC_Movie { public: int bDrawCells; int bDrawPolys; int bDrawGaps; int bFast; double resolution; void AddObstacles(WorldInfo *wInfo); void AddFrames(PInfo *pInfo); void AddCells(PInfo *pInfo); void AddRobot(WorldInfo *wInfo, PInfo *pInfo); void AddVPolys(CellInfo *cInfo); void AddGaps(PInfo *pInfo); void SetOutput(char **argv, int argc); double CalculateWidth(Obstacle *border); protected: void DumpVisPoly(List *addList, MC_ObjectNature nat, VPoly *vpoly); void DumpGaps(List *addList, double width, MC_ObjectNature dirty, MC_ObjectNature clean, PGNode *node, VPoly *vpoly); void DumpLine(List *addList, double width, MC_ObjectNature nat, int tag, double x1, double y1, double x2, double y2); }; class MultiMovie: public PursuerMovie { public: void AddFrames(PInfo *pInfo1, PInfo *pInfo2); }; #endif