Public Types | |
| typedef list< shptr < Object > > | ObjectList |
| typedef Node * | Ptr |
Public Member Functions | |
| Node (const BoxVolume &boxVolume) | |
| ~Node () | |
| bool | IfInside (const WorldVertex &viewpoint) const |
| bool | IfInside (const Volume &volume) const |
| bool | IfInside (const BoxVolume &boxVolume) const |
| eAttached | Attach (SharedPtr< Object > object) |
| eAttached | Detach (SharedPtr< Object > object) |
| void | Draw (const BSP::Viewpoint &viewpoint) |
| void | ForEachObject (BSP::ForEachObjectFunctor &functor) |
| ObjectList * | GetOrNewObjectList (void) |
Public Attributes | |
| BoxVolume | mBoxVolume |
| in world space | |
| Node::Ptr | mLeft |
| left partition (left/right are metaphorical) | |
| Node::Ptr | mRight |
| right partition (left/right are metaphorical) | |
Private Member Functions | |
| void | DrawVisit (void) |
Private Attributes | |
| ObjectList * | mObjectList |
| lazy-allocated, probably most partitions will be empty | |
| Bits | mBits |
| CLASS_CONST uint | NODE_OBJECT_LIMIT = 0x7fff |
Classes | |
| struct | Bits |
| < minimize Node More... | |
Node defines a partition and its volume. Node may have 0 or more Objects. Node may point to 0 or 2 Nodes.
| typedef list< shptr<Object> > eng::BSP::Node::ObjectList |
| typedef Node* eng::BSP::Node::Ptr |
| eng::BSP::Node::Node | ( | const BoxVolume & | boxVolume | ) |
ctor/dtor.
| eng::BSP::Node::~Node | ( | ) |
| bool eng::BSP::Node::IfInside | ( | const WorldVertex & | viewpoint | ) | const [inline] |
| bool eng::BSP::Node::IfInside | ( | const Volume & | volume | ) | const [inline] |
| bool eng::BSP::Node::IfInside | ( | const BoxVolume & | boxVolume | ) | const [inline] |
| void eng::BSP::Node::Draw | ( | const BSP::Viewpoint & | viewpoint | ) |
| void eng::BSP::Node::ForEachObject | ( | BSP::ForEachObjectFunctor & | functor | ) |
For each Object.
| ObjectList* eng::BSP::Node::GetOrNewObjectList | ( | void | ) | [inline] |
| void eng::BSP::Node::DrawVisit | ( | void | ) | [private] |
Draw all Objects in this partition.
in world space
left partition (left/right are metaphorical)
right partition (left/right are metaphorical)
ObjectList* eng::BSP::Node::mObjectList [private] |
lazy-allocated, probably most partitions will be empty
Bits eng::BSP::Node::mBits [private] |
CLASS_CONST uint eng::BSP::Node::NODE_OBJECT_LIMIT = 0x7fff [private] |
Palomino 3D Engine documents generated by doxygen 1.5.3 on Fri Nov 23 11:26:21 2007