35 #ifndef __TXPPARSER_H_
36 #define __TXPPARSER_H_
38 #include <osg/Referenced>
39 #include <osg/Texture2D>
40 #include <osg/StateSet>
131 double realMinRange,
double realMaxRange,
double usedMaxRange);
Definition: TXPArchive.h:65
osg::Vec3 _tileCenter
tile center
Definition: TXPParser.h:366
Definition: TXPParser.h:409
virtual void * Parse(trpgToken tok, trpgReadBuffer &buf) override
virtual void * Parse(trpgToken tok, trpgReadBuffer &buf) override
MaterialMapType _materialMap
Definition: TXPParser.h:327
bool _underBillboardSubgraph
true if we are under billboard subgraph
Definition: TXPParser.h:340
trpgTileHeader * getTileHeaderRef()
Return a reference to the tile header (after a tile has been read)
Definition: TXPParser.h:176
lightRead(TXPParser *in_parse)
Definition: TXPParser.h:516
Definition: trpage_read.h:256
groupRead(TXPParser *in_parse)
Definition: TXPParser.h:399
Definition: TXPParser.h:422
geomRead(TXPParser *in_parse)
Definition: TXPParser.h:385
TXPParser * _parse
Definition: TXPParser.h:522
osg::Group * getCurrTop()
Returns the current Top Group.
Definition: TXPParser.h:134
double checkAndGetMaxRange(double range)
Definition: TXPParser.h:263
TXPParser * _parse
Definition: TXPParser.h:469
const bool underLayerSubgraph() const
Returns if we are under layer subgraph.
Definition: TXPParser.h:219
META_Node(txp, GeodeGroup)
Definition: trpage_geom.h:1763
TXPParser * _parse
Definition: TXPParser.h:535
this one handles different placement of light direction in osg and terrapage
Definition: TXPArchive.h:56
void setUnderLayerSubgraph(bool b)
Sets if we are under layer subgraph.
Definition: TXPParser.h:225
float _defaultMaxAnisotropy
default value to use when setting up textures.
Definition: TXPParser.h:358
childRefRead * _childRefCB
Definition: TXPParser.h:373
TXPParser * _parse
Definition: TXPParser.h:418
std::map< int, osg::ref_ptr< osg::StateSet > > * MaterialMapType
Materials.
Definition: TXPParser.h:326
Definition: TXPParser.h:526
std::map< int, osg::ref_ptr< osg::Node > > OSGModelsMapType
Model list.
Definition: TXPParser.h:333
Definition: TXPParser.h:513
ChildRefList childRefList
Definition: TXPParser.h:454
void removeEmptyGroups()
Removes any empty groups and LODs.
layerRead(TXPParser *in_parse)
Definition: TXPParser.h:529
GeodeGroup(const GeodeGroup &gg, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
Definition: TXPParser.h:84
const trpgChildRef * GetChildRef(unsigned int idx) const
This will return the trpgChildRef node pointer associated with the index. Will return 0 if index is o...
std::map< int, osg::ref_ptr< osg::StateSet > > * getMaterials()
Return the current material list (passed in to ParseScene())
Definition: TXPParser.h:146
voidpf void * buf
Definition: ioapi.h:39
double _realMaxRange
Definition: TXPParser.h:362
osg::Geode * getLayerGeode() const
Returns the current layer geode.
Definition: TXPParser.h:237
void setUnderBillboardSubgraph(bool b)
Sets if we are under billboard subgraph.
Definition: TXPParser.h:189
std::map< osg::Group *, int > _tileGroups
Potentional Tile groups.
Definition: TXPParser.h:320
virtual bool EndChildren(void *) override
Called on end children.
void setMaxAnisotropy(float anisotropy)
default value to use when setting up textures.
Definition: TXPParser.h:245
Definition: trpage_geom.h:1226
osg::Group * parseScene(trpgReadBuffer &buf, std::map< int, osg::ref_ptr< osg::StateSet > > &materials, std::map< int, osg::ref_ptr< osg::Node > > &models, double realMinRange, double realMaxRange, double usedMaxRange)
Scene parser.
virtual void * Parse(trpgToken tok, trpgReadBuffer &buf) override
std::vector< osg::ref_ptr< osg::StateSet > > _localMaterials
Local materials.
Definition: TXPParser.h:330
osg::Texture2D * getTemplateTexture(trpgrImageHelper &image_helper, trpgLocalMaterial *locmat, const trpgTexture *tex, int index=0)
Definition: trpage_geom.h:2476
lodRead(TXPParser *in_parse)
Definition: TXPParser.h:463
osg::Geode * _layerGeode
Our Layer Geode.
Definition: TXPParser.h:355
TXPParser * _parse
Definition: TXPParser.h:496
virtual void * Parse(trpgToken tok, trpgReadBuffer &buf) override
std::vector< trpgChildRef > ChildRefList
Definition: TXPParser.h:425
double _usedMaxRange
Definition: TXPParser.h:363
virtual void * Parse(trpgToken tok, trpgReadBuffer &buf) override
void setLastBillboardInfo(TXPBillboardInfo &info)
Sets info for the last billboard parsed.
Definition: TXPParser.h:204
TXPParser * _parse
Definition: TXPParser.h:448
void setPotentionalTileGroup(osg::Group *grp)
Sets the group as potentional tile group.
Definition: TXPParser.h:140
std::vector< osg::ref_ptr< osg::StateSet > > * getLocalMaterials()
New to TerraPage 2.0 - local materials.
Definition: TXPParser.h:158
{secret}
Definition: trpage_read.h:32
callback functions for various scene graph elements
Definition: TXPParser.h:381
osg::Geode * _geode
Definition: TXPParser.h:101
unsigned int GetNbChildrenRef() const
After parsing this will return the number of trpgChildRef node found.
osg::Texture2D * getLocalTexture(trpgrImageHelper &image_helper, const trpgTexture *tex)
Gets local texture via the image helper.
void loadLocalMaterials()
Load local materials.
void setArchive(TXPArchive *archive)
Sets the archive to be parsed.
Definition: TXPParser.h:115
osg::ref_ptr< osg::Group > _root
The root of the tile.
Definition: TXPParser.h:314
virtual void * Parse(trpgToken tok, trpgReadBuffer &buf) override
trpg3dPoint axis
Definition: TXPParser.h:200
TXPParser * _parse
Definition: TXPParser.h:548
bool _underLayerSubgraph
true if we are under layer subgraph
Definition: TXPParser.h:349
int _numLayerLevels
Numbers of levels below layer subgraph.
Definition: TXPParser.h:352
Definition: TXPParser.h:460
billboardRead(TXPParser *in_parse)
Definition: TXPParser.h:503
Definition: TXPParser.h:396
TXPBillboardInfo _lastBillboardInfo
Last billboard we parsed.
Definition: TXPParser.h:346
double checkAndGetMinRange(double range)
We need to change the LOD ranges within tiles since we have done it for the PagedLODs representing ti...
Definition: TXPParser.h:256
trpgTileHeader _tileHeader
Tile header.
Definition: TXPParser.h:337
childRefRead(TXPParser *in_parse)
Definition: TXPParser.h:427
bool requestModel(int ix)
Request a model to be load.
TXPArchive * getArchive()
Gets the archive.
Definition: TXPParser.h:121
Definition: TXPParser.h:500
Definition: TXPParser.h:539
float getMaxAnisotropy() const
Definition: TXPParser.h:249
bool loadMaterial(int ix)
This is group that will has geode node It is better since all the geometry children will be added int...
Definition: TXPParser.h:77
int mode
Definition: TXPParser.h:198
void replaceTileLod(osg::Group *)
Replace the tile lod to regular group.
Definition: TXPParser.h:109
osg::Geode * getGeode()
Definition: TXPParser.h:90
OSGModelsMapType * _models
Definition: TXPParser.h:334
TXPArchive * _archive
THE archive.
Definition: TXPParser.h:305
std::stack< osg::Group * > _parents
Parents list.
Definition: TXPParser.h:317
osg::Group * _currentTop
Current parent.
Definition: TXPParser.h:308
virtual void * Parse(trpgToken tok, trpgReadBuffer &buf) override
int _numBillboardLevels
Number of levels below the billboard node.
Definition: TXPParser.h:343
int type
Definition: TXPParser.h:197
DeferredLightAttribute & getLightAttribute(int ix)
Gets light attrib.
unsigned int GetNbChildrenRef() const
After parsing this will return the number of trpgChildRef node found.
Definition: TXPParser.h:433
Definition: trpage_read.h:99
void setCurrentNode(osg::Node *node)
Definition: TXPParser.h:277
Definition: TXPParser.h:487
TXPParser * _parse
Definition: TXPParser.h:405
trpg3dPoint center
Definition: TXPParser.h:199
std::map< int, osg::ref_ptr< osg::Node > > * getModels()
Return the current model list.
Definition: TXPParser.h:167
Definition: trpage_io.h:452
void setLayerGeode(osg::Geode *layer)
Set the current layer geode.
Definition: TXPParser.h:231
const osg::Vec3 getTileCenter() const
gets tile center, from the top lod node
Definition: TXPParser.h:272
GeodeGroup()
Definition: TXPParser.h:81
virtual void * Parse(trpgToken tok, trpgReadBuffer &buf) override
osg::Geode * createBoundingBox(int x, int y, int lod)
TEMP.
void getLastBillboardInfo(TXPBillboardInfo &info)
Gets info for the last billboard parsed.
Definition: TXPParser.h:210
labelRead(TXPParser *in_parse)
Definition: TXPParser.h:542
void loadMaterial(int ix)
Ensure material is loaded.
Definition: TXPParser.h:152
virtual void * Parse(trpgToken tok, trpgReadBuffer &buf) override
unsigned int getNumLayerLavels() const
Definition: TXPParser.h:242
double _realMinRange
LOD ranges to be used when parsing tiles.
Definition: TXPParser.h:361
virtual bool StartChildren(void *) override
Called on start children.
modelRefRead(TXPParser *in_parse)
Definition: TXPParser.h:490
virtual ~TXPParser() override
virtual void * Parse(trpgToken tok, trpgReadBuffer &buf) override
const bool underBillboardSubgraph() const
Returns true if we are under billboard subgraph.
Definition: TXPParser.h:183
TXPParser * _parse
Definition: TXPParser.h:509
Definition: trpage_io.h:285
const trpgChildRef * GetChildRef(unsigned int idx) const
This will return the trpgChildRef node associated with the index. this will return 0 if idx is out of...
Definition: TXPParser.h:439
short trpgToken
16 bit token definition value. These are values such as TRPGTEXTABLE or TRPG_ATTACH, etc...
Definition: trpage_io.h:61
osg::Node * _currentNode
Current node.
Definition: TXPParser.h:311
attachRead(TXPParser *in_parse)
Definition: TXPParser.h:412
TXPParser * _parse
Definition: TXPParser.h:391
TXP Billboard info.
Definition: TXPParser.h:195