1 #ifndef OPENMW_COMPONENTS_TERRAIN_QUADTREENODE_H
2 #define OPENMW_COMPONENTS_TERRAIN_QUADTREENODE_H
41 using osg::Group::getNumChildren;
64 virtual void traverse(osg::NodeVisitor& nv);
ViewDataMap * getViewDataMap()
Definition: quadtreenode.cpp:126
virtual bool isSufficientDetail(QuadTreeNode *node, const osg::Vec3f &eyePoint)=0
ViewData * getView(osg::NodeVisitor &nv)
Create or retrieve a view for the given traversal.
Definition: quadtreenode.cpp:131
void setBoundingBox(const osg::BoundingBox &boundingBox)
Definition: quadtreenode.cpp:153
QuadTreeNode(QuadTreeNode *parent, ChildDirection dir, float size, const osg::Vec2f ¢er)
Definition: quadtreenode.cpp:58
bool mValidBounds
Definition: quadtreenode.hpp:87
const osg::Vec2f & getCenter() const
center in cell coordinates
Definition: quadtreenode.cpp:176
osg::Vec2f mCenter
Definition: quadtreenode.hpp:89
osg::BoundingBox mBoundingBox
Definition: quadtreenode.hpp:86
Definition: quadtreenode.hpp:21
const osg::BoundingBox & getBoundingBox() const
Definition: quadtreenode.cpp:161
ViewDataMap * mViewDataMap
Definition: quadtreenode.hpp:93
Definition: quadtreenode.hpp:14
QuadTreeNode * mNeighbours[4]
Definition: quadtreenode.hpp:82
QuadTreeNode * mParent
Definition: quadtreenode.hpp:80
virtual ~LodCallback()
Definition: quadtreenode.hpp:24
Definition: viewdata.hpp:16
QuadTreeNode * getParent()
Definition: quadtreenode.cpp:74
bool hasValidBounds() const
Definition: quadtreenode.hpp:54
Definition: quadtreenode.hpp:13
Definition: viewdata.hpp:70
float getSize() const
size in cell coordinates
Definition: quadtreenode.cpp:171
virtual void traverse(osg::NodeVisitor &nv)
Definition: quadtreenode.cpp:98
void setViewDataMap(ViewDataMap *map)
Set the view data map that the finally used nodes for a given camera/intersection are pushed onto...
Definition: quadtreenode.cpp:121
float mSize
Definition: quadtreenode.hpp:88
Definition: quadtreenode.hpp:15
ChildDirection mDirection
Definition: quadtreenode.hpp:84
QuadTreeNode * getChild(unsigned int i)
Definition: quadtreenode.cpp:79
void initNeighbours()
Initialize neighbours - do this after the quadtree is built.
Definition: quadtreenode.cpp:89
QuadTreeNode * getNeighbour(Direction dir)
Get neighbour node in this direction.
Definition: quadtreenode.cpp:84
Definition: quadtreenode.hpp:32
ChildDirection getDirection()
Returns our direction relative to the parent node, or Root if we are the root node.
Definition: quadtreenode.hpp:44
virtual ~QuadTreeNode()
Definition: quadtreenode.cpp:70
Direction
Definition: defs.hpp:9
LodCallback * getLodCallback()
Definition: quadtreenode.cpp:116
Definition: quadtreenode.hpp:16
osg::ref_ptr< LodCallback > mLodCallback
Definition: quadtreenode.hpp:91
virtual osg::BoundingSphere computeBound() const
Definition: quadtreenode.cpp:166
void setLodCallback(LodCallback *lodCallback)
Set the Lod callback to use for determining when to stop traversing further down the quad tree...
Definition: quadtreenode.cpp:111
Definition: quadtreenode.hpp:17
ChildDirection
Definition: quadtreenode.hpp:11