FlightGear next
flightgear::Octree::Node Class Referenceabstract

Octree node base class, tracks its bounding box and provides various queries relating to it. More...

#include <PositionedOctree.hxx>

Inherited by flightgear::Octree::Branch, and flightgear::Octree::Leaf.

Public Member Functions

int64_t guid () const
 
const SGBoxd & bbox () const
 
bool contains (const SGVec3d &aPos) const
 
double distToNearest (const SGVec3d &aPos) const
 
virtual void visit (const SGVec3d &aPos, double aCutoff, FGPositioned::Filter *aFilter, FindNearestResults &aResults, FindNearestPQueue &)=0
 
virtual LeaffindLeafForPos (const SGVec3d &aPos) const =0
 
virtual void visitForLines (const SGVec3d &aPos, double aCutoff, PolyLineList &aLines, FindLinesDeque &aQ) const
 
virtual NodefindNodeForBox (const SGBoxd &box) const
 
virtual ~Node ()
 
void addPolyLine (const PolyLineRef &)
 

Protected Member Functions

 Node (const SGBoxd &aBox, int64_t aIdent, bool persistent)
 

Protected Attributes

const int64_t _ident
 
const bool _persistent = false
 
const SGBoxd _box
 
PolyLineList lines
 

Detailed Description

Octree node base class, tracks its bounding box and provides various queries relating to it.

Definition at line 118 of file PositionedOctree.hxx.

Constructor & Destructor Documentation

◆ ~Node()

flightgear::Octree::Node::~Node ( )
virtual

Definition at line 60 of file PositionedOctree.cxx.

◆ Node()

flightgear::Octree::Node::Node ( const SGBoxd & aBox,
int64_t aIdent,
bool persistent )
protected

Definition at line 54 of file PositionedOctree.cxx.

Member Function Documentation

◆ addPolyLine()

void flightgear::Octree::Node::addPolyLine ( const PolyLineRef & aLine)

Definition at line 64 of file PositionedOctree.cxx.

◆ bbox()

const SGBoxd & flightgear::Octree::Node::bbox ( ) const
inline

Definition at line 124 of file PositionedOctree.hxx.

◆ contains()

bool flightgear::Octree::Node::contains ( const SGVec3d & aPos) const
inline

Definition at line 127 of file PositionedOctree.hxx.

◆ distToNearest()

double flightgear::Octree::Node::distToNearest ( const SGVec3d & aPos) const
inline

Definition at line 132 of file PositionedOctree.hxx.

◆ findLeafForPos()

virtual Leaf * flightgear::Octree::Node::findLeafForPos ( const SGVec3d & aPos) const
pure virtual

◆ findNodeForBox()

Node * flightgear::Octree::Node::findNodeForBox ( const SGBoxd & box) const
virtual

Reimplemented in flightgear::Octree::Branch.

Definition at line 79 of file PositionedOctree.cxx.

◆ guid()

int64_t flightgear::Octree::Node::guid ( ) const
inline

Definition at line 121 of file PositionedOctree.hxx.

◆ visit()

virtual void flightgear::Octree::Node::visit ( const SGVec3d & aPos,
double aCutoff,
FGPositioned::Filter * aFilter,
FindNearestResults & aResults,
FindNearestPQueue &  )
pure virtual

◆ visitForLines()

void flightgear::Octree::Node::visitForLines ( const SGVec3d & aPos,
double aCutoff,
PolyLineList & aLines,
FindLinesDeque & aQ ) const
virtual

Reimplemented in flightgear::Octree::Branch.

Definition at line 69 of file PositionedOctree.cxx.

Member Data Documentation

◆ _box

const SGBoxd flightgear::Octree::Node::_box
protected

Definition at line 158 of file PositionedOctree.hxx.

◆ _ident

const int64_t flightgear::Octree::Node::_ident
protected

Definition at line 156 of file PositionedOctree.hxx.

◆ _persistent

const bool flightgear::Octree::Node::_persistent = false
protected

Definition at line 157 of file PositionedOctree.hxx.

◆ lines

PolyLineList flightgear::Octree::Node::lines
protected

Definition at line 160 of file PositionedOctree.hxx.


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