VR-Forces 4.2 Class Documentation
osgEarthTerrainSourcePager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 
13 
17 
18 #include <osgEarth/MapNode>
19 
20 #include <tbb/concurrent_queue.h>
21 
22 #include <osgTerrain/Terrain>
23 
24 typedef std::map<osgEarth::TileKey, osg::ref_ptr<osg::Node> > DtTerrainTileMap;
25 
30 {
31 public:
32 
34  osgEarth::MapNode* mapNode);
35 
37 
40 
46  virtual bool pageInTiles(DtTileKeyList& tileIds,
47  const unsigned int intersectId = 0);
48 
54  virtual bool pageOutTiles(const DtTileKeyList& tilesToRemove);
55 
57  virtual void updatePageTracker(const unsigned int intersectId = 0);
58 
59 protected:
60 
68  virtual bool addCollisionObject(osg::ref_ptr<osg::Node> node,
69  unsigned int& numTrianglesOut);
70 
81  virtual bool pageInTile(const osgEarth::TileKey& tileKey,
82  const unsigned int intersectId = 0);
83 
89  virtual bool pageOutTile(const osgEarth::TileKey& tileKey);
90 
98  virtual DtTileData* createTileData(const osgEarth::TileKey& tileKey,
99  const unsigned int& numTriangles,
100  const unsigned int intersectId = 0) const;
101 
104  virtual const unsigned int determineTrackerLod();
105 
106  virtual DtNodeId osgNodeId(osg::Node* node);
107  virtual osg::Node* nodeFromId(DtNodeId nodeId);
108 
109 
110 protected:
111 
114  virtual void createEmptyTile(const osgEarth::TileKey& tileKey,
115  const unsigned int intersectId = 0);
116 
118  osgEarth::MapNode* myMapNode;
119 
121 
122  osg::ref_ptr<osgTerrain::Terrain> myOsgTerrain;
124 
127 
128 };
129 

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)