16 #ifndef _txpage_write_h_
18 #define _txpage_write_h_
60 inline void AddStripStat(
int val) { stripStat[
MIN(14,val)]++; totalStripTri += val; totalTri += val; numStrip++;}
61 inline void AddFanStat(
int val) { fanStat[
MIN(14,val)]++; totalFanTri += val; totalTri += val; numFan++;}
62 inline void AddBagStat(
int val) { totalBagTri += val; totalTri += val;}
79 enum {UseDouble,UseFloat};
82 virtual void SetMode(
int);
83 virtual void Reset(
void);
85 virtual void StartPolygon(
void);
86 virtual void EndPolygon(
void);
87 virtual void ResetPolygon(
void);
94 virtual void SetMaterial(
int32);
95 virtual void AddMaterial(
int32);
100 virtual void FlushGeom(
void);
103 virtual void GetZMinMax(
double &min,
double &max);
122 virtual void Optimize(
void);
125 virtual void ResetTri(
void);
132 std::vector<trpg2dPoint>
tex;
133 std::vector<trpg3dPoint> norm,
vert;
165 virtual bool AddExternal(
char *name,
int &texID,
bool lookForExisting=
true);
171 virtual bool AddLocal(
char *name,
trpgTexture::ImageType type,
int sizeX,
int sizeY,
bool isMipmap,
char *data,
int &texID,
bool deferWrite);
178 virtual bool ReplaceLocal(
char *data,
int &texID);
191 virtual void SetMaxTexFileLength(
int len);
198 virtual trpgwAppFile * IncrementTextureFile(
bool geotyp);
203 virtual bool DesignateTextureFile(
int);
206 virtual bool Flush(
void);
237 enum TileMode {TileLocal,TileExternal,TileExternalSaved};
252 virtual void SetMaxTileFileLength(
int len);
278 virtual bool IncrementTileFile(
void);
279 virtual bool DesignateTileFile(
int);
284 virtual bool OpenFile(
const char *,
const char *);
285 virtual void CloseFile(
void);
286 virtual bool WriteHeader(
void);
287 virtual bool CheckpointHeader(
void);
288 virtual bool WriteTile(
unsigned int,
unsigned int,
unsigned int,
float zmin,
float zmax,
293 const char *getErrMess()
const;
298 virtual int32 WriteHeaderData(
const char *dataPtr,
int32 length,FILE *filehandle);
356 mutable char errMess[512];