#ifndef __SPATIAL_NODE_H__ #define __SPATIAL_NODE_H__ #include #include #include #include #include //#include //#include //#include class StaticEntityDSG; class StaticPhysDSG; class IntersectDSG; class DynaPhysDSG; class FenceEntityDSG; class AnimCollisionEntityDSG; class TriggerVolume; class RoadSegment; class PathSegment; class AnimEntityDSG; ////////////////////////////////////////////////////////////////////////// // // A SpatialNode is data // usually attached to a ContiguousBinNode // with Spatial Capabilities encompassing the following: // // -A Subdivision Plane representing the plane which subdivides // the Space contained at the current node into two discrete // volumes contained in the child nodes // class SpatialNode { public: SpatialNode(); ~SpatialNode(); //This plane should be move the the contig bin node, to improve cache hits AAPlane3f mSubDivPlane; NodeSwapArray mSEntityElems; //mSpatialElems; SwapArray mSPhysElems; //mDynamicElems; SwapArray mIntersectElems; NodeSwapArray mDPhysElems; SwapArray mFenceElems; NodeSwapArray mAnimCollElems; NodeSwapArray mAnimElems; SwapArray mTrigVolElems; SwapArray mRoadSegmentElems; SwapArray mPathSegmentElems; //Debug BoxPts mBBox; protected: }; inline SpatialNode::SpatialNode(){} inline SpatialNode::~SpatialNode(){} #endif