GlobeEngine
geRaster::MBlockQuadtree Class Reference

#include <MBlockQuadtree.h>

Inheritance diagram for geRaster::MBlockQuadtree:
geData::ArrayTree< NODETYPE >

Classes

struct  MBlockQuadtreeLevel
 
struct  MBlockQuadtreeLoDInfo
 

Public Types

enum  LayerType { ELEVATION = 0, ORTHO }
 

Public Member Functions

 MBlockQuadtree ()
 
 ~MBlockQuadtree ()
 
void clear ()
 
void create ()
 
void create (vmml::Vector4d _bound)
 
void create (double _zero_x, double _zero_y, double _edge)
 
void createRootnode (vmml::Vector4d _bound)
 
void locateAndSetTexture (std::shared_ptr< geSpatial::CullableSpatialKey > _key, MBlockQuadtree::MBlockQuadtreeLevel _level, std::shared_ptr< ge::TextureHandle > _tex, float _max_error, float *_errors)
 
void removeNodeAndTexture (std::shared_ptr< geSpatial::CullableSpatialKey > _key)
 
void traverseAndMarkNodesInViewFrustum (std::shared_ptr< ge::Camera > _cam, bool _markToDelete)
 
void setVisibleChildren (TerrainVis::TriangulationTechnique _technique)
 
int locateMBlock (double _x, double _y, double _kPatchEdgeLenght)
 
void addKPatch (int _mblock, int _uid)
 
void cleanKPatchInformation ()
 
std::shared_ptr< MBlock > const & getVisibleMBlock (int _idx)
 
const double * getBounds () const
 
float getEdgeLenght () const
 
int getPointPerSidePerMBlockError () const
 
void setPointPerSidePerMBlockError (int _input)
 
int getVisibleMBlockSize () const
 
void setReadyForGeometryUpdate (bool _in=true)
 
bool isReadyForGeometryUpdate () const
 
void requestKey (std::shared_ptr< geSpatial::CullableSpatialKey > _key)
 
void removeKey (std::shared_ptr< geSpatial::CullableSpatialKey > _key)
 
void print () const
 
void printChildren (unsigned int _lod, bool _details) const
 
void printVisibleChildren () const
 
std::vector< std::shared_ptr< geSpatial::CullableSpatialKey > > getWaitingRequests ()
 
std::vector< std::shared_ptr< geSpatial::CullableSpatialKey > > getWaitingRemoves ()
 
void cleanWaitingRequests ()
 
bool waitingRequests ()
 
bool removeRequests ()
 
MBlockQuadtree::MBlockQuadtreeLevel const & getQuadtreeLevelAtIdx (int _idx) const
 
void addLayerID (int _id, MBlockQuadtree::LayerType _type)
 
int getLayerIDAtLevel (int _level)
 
int getLayerCount ()
 
void calculateEdgelenghtsAndColsteps (int _maxLodLevels, int _patchSize, TerrainVis::TriangulationTechnique _technique)
 
std::shared_ptr< MBlockQuadtree::MBlockQuadtreeLoDInfogetLoDInfo () const
 
short getMaxLoDForCoordinateCalculation ()
 
- Public Member Functions inherited from geData::ArrayTree< NODETYPE >
 ArrayTree ()
 
 ~ArrayTree ()
 
void setRootnode (NODETYPE _node)
 
int addNode (NODETYPE _data)
 
void removeNode (NODETYPE const &_data)
 
void repairTreeUIDs (int _nodeid)
 
int locateKey (NODETYPE const &_key, int _id)
 
size_t getSize ()
 
void print ()
 
NODETYPE const & getNodeAtIndex (int _index) const
 
NODETYPE const & getRoot () const
 
int getMaxLod () const
 
void setMaxLod (int _inLod)
 
int getMinLod () const
 
void setMinLod (int _inLod)
 
int getMaxDynamicLod () const
 
void setMaxDynamicLod (int _inLod)
 

Public Attributes

std::vector< intvisibleChildren
 
int pointcountPerSideOfMblockerrors
 
geSpatial::CullableSpatialKeySetIterator waitingKeysItr
 
geSpatial::CullableSpatialKeySet waitingKeys
 
geSpatial::CullableSpatialKeySet removableKeys
 
std::vector< MBlockQuadtreeLeveltmsServiceLayerIDs
 
std::shared_ptr< MBlockQuadtreeLoDInfolodinfo
 
bool readyForGeometryUpdate
 
short maxLoDForCoordinateCalculation
 

Additional Inherited Members

- Protected Attributes inherited from geData::ArrayTree< NODETYPE >
std::vector< NODETYPE > nodes
 
NODETYPE rootnode
 
short maxDynamicLoD
 
short maxLoD
 
short minLoD
 

Member Enumeration Documentation

Enumerator
ELEVATION 
ORTHO 

Constructor & Destructor Documentation

geRaster::MBlockQuadtree::MBlockQuadtree ( )
geRaster::MBlockQuadtree::~MBlockQuadtree ( )

Member Function Documentation

void geRaster::MBlockQuadtree::addKPatch ( int  _mblock,
int  _uid 
)
void geRaster::MBlockQuadtree::addLayerID ( int  _id,
MBlockQuadtree::LayerType  _type 
)
void geRaster::MBlockQuadtree::calculateEdgelenghtsAndColsteps ( int  _maxLodLevels,
int  _patchSize,
TerrainVis::TriangulationTechnique  _technique 
)
void geRaster::MBlockQuadtree::cleanKPatchInformation ( )
void geRaster::MBlockQuadtree::cleanWaitingRequests ( )
void geRaster::MBlockQuadtree::clear ( )
void geRaster::MBlockQuadtree::create ( )
void geRaster::MBlockQuadtree::create ( vmml::Vector4d  _bound)
void geRaster::MBlockQuadtree::create ( double  _zero_x,
double  _zero_y,
double  _edge 
)
void geRaster::MBlockQuadtree::createRootnode ( vmml::Vector4d  _bound)
const double * geRaster::MBlockQuadtree::getBounds ( ) const
float geRaster::MBlockQuadtree::getEdgeLenght ( ) const
int geRaster::MBlockQuadtree::getLayerCount ( )
int geRaster::MBlockQuadtree::getLayerIDAtLevel ( int  _level)
std::shared_ptr< MBlockQuadtree::MBlockQuadtreeLoDInfo > geRaster::MBlockQuadtree::getLoDInfo ( ) const
short geRaster::MBlockQuadtree::getMaxLoDForCoordinateCalculation ( )
int geRaster::MBlockQuadtree::getPointPerSidePerMBlockError ( ) const
MBlockQuadtree::MBlockQuadtreeLevel const & geRaster::MBlockQuadtree::getQuadtreeLevelAtIdx ( int  _idx) const
std::shared_ptr< MBlock > const & geRaster::MBlockQuadtree::getVisibleMBlock ( int  _idx)
int geRaster::MBlockQuadtree::getVisibleMBlockSize ( ) const
std::vector< std::shared_ptr< geSpatial::CullableSpatialKey > > geRaster::MBlockQuadtree::getWaitingRemoves ( )
std::vector< std::shared_ptr< geSpatial::CullableSpatialKey > > geRaster::MBlockQuadtree::getWaitingRequests ( )
bool geRaster::MBlockQuadtree::isReadyForGeometryUpdate ( ) const
void geRaster::MBlockQuadtree::locateAndSetTexture ( std::shared_ptr< geSpatial::CullableSpatialKey _key,
MBlockQuadtree::MBlockQuadtreeLevel  _level,
std::shared_ptr< ge::TextureHandle _tex,
float  _max_error,
float *  _errors 
)
int geRaster::MBlockQuadtree::locateMBlock ( double  _x,
double  _y,
double  _kPatchEdgeLenght 
)
void geRaster::MBlockQuadtree::print ( ) const
void geRaster::MBlockQuadtree::printChildren ( unsigned int  _lod,
bool  _details 
) const
void geRaster::MBlockQuadtree::printVisibleChildren ( ) const
void geRaster::MBlockQuadtree::removeKey ( std::shared_ptr< geSpatial::CullableSpatialKey _key)
void geRaster::MBlockQuadtree::removeNodeAndTexture ( std::shared_ptr< geSpatial::CullableSpatialKey _key)
bool geRaster::MBlockQuadtree::removeRequests ( )
void geRaster::MBlockQuadtree::requestKey ( std::shared_ptr< geSpatial::CullableSpatialKey _key)
void geRaster::MBlockQuadtree::setPointPerSidePerMBlockError ( int  _input)
void geRaster::MBlockQuadtree::setReadyForGeometryUpdate ( bool  _in = true)
void geRaster::MBlockQuadtree::setVisibleChildren ( TerrainVis::TriangulationTechnique  _technique)
void geRaster::MBlockQuadtree::traverseAndMarkNodesInViewFrustum ( std::shared_ptr< ge::Camera _cam,
bool  _markToDelete 
)
bool geRaster::MBlockQuadtree::waitingRequests ( )

Member Data Documentation

std::shared_ptr<MBlockQuadtreeLoDInfo> geRaster::MBlockQuadtree::lodinfo
short geRaster::MBlockQuadtree::maxLoDForCoordinateCalculation
int geRaster::MBlockQuadtree::pointcountPerSideOfMblockerrors
bool geRaster::MBlockQuadtree::readyForGeometryUpdate
geSpatial::CullableSpatialKeySet geRaster::MBlockQuadtree::removableKeys
std::vector<MBlockQuadtreeLevel> geRaster::MBlockQuadtree::tmsServiceLayerIDs
std::vector<int> geRaster::MBlockQuadtree::visibleChildren
geSpatial::CullableSpatialKeySet geRaster::MBlockQuadtree::waitingKeys
geSpatial::CullableSpatialKeySetIterator geRaster::MBlockQuadtree::waitingKeysItr

The documentation for this class was generated from the following files: