OpenSceneGraph/src/osgPlugins/txp/trpage_compat.h

97 lines
2.7 KiB
C
Raw Normal View History

/* ************************
Copyright Terrain Experts Inc.
Terrain Experts Inc (TERREX) reserves all rights to this source code
unless otherwise specified in writing by the President of TERREX.
This copyright may be updated in the future, in which case that version
supercedes this one.
-------------------
Terrex Experts Inc.
4400 East Broadway #314
Tucson, AZ 85711
info@terrex.com
Tel: (520) 323-7990
************************
*/
#ifndef _trpage_compat_h_
#define _trpage_compat_h_
/* trpage_compat.h
This file and the accompanying trpage_compat.cpp contain objects and procedures
used to maintain compatibility between versions of TerraPage. In particular, the
ability to read older versions of TerraPage and newer applications.
*/
/* Material Table 1.0.
This class is used to read old 1.0 material tables and convert them
into the 2.0 material table we're inheriting from. Users should
never directly interact with this class.
{secret}
*/
class trpgMatTable1_0 : public trpgMatTable {
public:
trpgMatTable1_0() { };
trpgMatTable1_0(const trpgMatTable &);
/* This read method overrides the one from trpgMatTable and knows
how to read the old school material tables.
*/
bool Read(trpgReadBuffer &);
/* This write method can write a 2.0 material table as 1.0
style for backward compatibility.
*/
bool Write(trpgWriteBuffer &);
protected:
};
/* Texture Table 1.0.
This class is used to read old 1.0 texture tables and convert them
into 2.0 texture tables. Users should never directly interact with
this class.
{secret}
*/
class trpgTexTable1_0 : public trpgTexTable {
public:
trpgTexTable1_0() { };
trpgTexTable1_0(const trpgTexTable &);
/* This read method overrides the one from trpgTexTable and
knows how to read the old style texture table.
*/
bool Read(trpgReadBuffer &);
/* The write method can write a 2.0 texture table as 1.0
style for backward compatibility.
*/
bool Write(trpgWriteBuffer &);
protected:
};
/* Texture 1.0.
Knows how to read an old style texture.
{secret}
*/
class trpgTexture1_0 : public trpgTexture {
public:
// Assignment operator from a regular trpgTexture
trpgTexture1_0 operator = (const trpgTexture &);
// Knows how to read old style textures
bool Read(trpgReadBuffer &);
// Can write old style textures
bool Write(trpgWriteBuffer &);
protected:
};
/* Tile Table 1.0
Knows how to write an old style tile table.
{secret}
*/
class trpgTileTable1_0 : public trpgTileTable {
public:
trpgTileTable1_0(const trpgTileTable &);
// Can write old style tile table
bool Write(trpgWriteBuffer &);
};
#endif