X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FScenery%2Ftileentry.hxx;h=3ccd50f819e0d9fc3cf190faa5f8271cba3609be;hb=7a16ec4fb4e1663902f5022812291f01d7e37ee3;hp=8a5ec4c0a1df60a6d238cac29b559f487c64e285;hpb=e5a87cf9fa9374f0ae86b9ae38020e976d1830e1;p=flightgear.git diff --git a/src/Scenery/tileentry.hxx b/src/Scenery/tileentry.hxx index 8a5ec4c0a..3ccd50f81 100644 --- a/src/Scenery/tileentry.hxx +++ b/src/Scenery/tileentry.hxx @@ -38,21 +38,21 @@ #endif #include -#include +#include -#include +#include #include #include STL_STRING -#include // plib includes +#include // plib includes + +#include +#include -#include -#include -#include #include -#ifdef FG_HAVE_NATIVE_SGI_COMPILERS +#if defined( sgi ) #include #endif @@ -85,6 +85,10 @@ public: typedef container::iterator FragmentIterator; typedef container::const_iterator FragmentConstIterator; + typedef vector < sgVec3 * > free_vec3_list; + typedef vector < sgVec2 * > free_vec2_list; + typedef vector < unsigned short * > free_index_list; + public: // node list (the per fragment face lists reference this node list) point_list nodes; @@ -107,9 +111,15 @@ public: container fragment_list; // ssg related structures - sgVec3 *vtlist; - sgVec3 *vnlist; - sgVec2 *tclist; + // sgVec3 *vtlist; + // sgVec3 *vnlist; + // sgVec2 *tclist; + + // list of pointers to memory chunks that need to be freed when + // tile entry goes away + free_vec3_list vec3_ptrs; + free_vec2_list vec2_ptrs; + free_index_list index_ptrs; // ssg tree structure for this tile is as follows: // ssgRoot(scene) @@ -161,9 +171,9 @@ public: void free_tile(); // Calculate this tile's offset - void SetOffset( const Point3D& off) + void SetOffset( const Point3D& p) { - offset = center - off; + offset = center - p; } // Return this tile's offset @@ -202,6 +212,7 @@ public: return state == Scheduled_for_cache; } inline bool is_loaded() const { return state == Loaded; } + inline bool is_cached() const { return state == Cached; } inline void mark_unused() { state = Unused; } inline void mark_scheduled_for_use() { state = Scheduled_for_use; }