public:
+ /* CLO123 FROM HERE TO THE CORRESPONDING MARKER ARE THINGS THAT
+ CAN BE DELETED AFTER WE DROP THE ASCII SCENERY FORMAT */
typedef vector < sgVec3 * > free_vec3_list;
typedef vector < sgVec2 * > free_vec2_list;
typedef vector < unsigned short * > free_index_list;
// node list
point_list nodes;
int ncount;
+ /* CLO123 MARKER */
// global tile culling data
Point3D center;
// pointer to ssg transform for this tile
ssgTransform *terra_transform;
- ssgTransform *lights_transform;
+ ssgTransform *rwy_lights_transform;
+ ssgTransform *gnd_lights_transform;
// pointer to ssg range selector for this tile
ssgRangeSelector *terra_range;
- ssgRangeSelector *lights_range;
+ ssgRangeSelector *rwy_lights_range;
+ ssgRangeSelector *gnd_lights_range;
// we create several preset brightness and can choose which one we
// want based on lighting conditions.
- ssgSelector *lights_brightness;
+ ssgSelector *gnd_lights_brightness;
// ADA --->
// Runway centre coords.
*/
volatile int pending_models;
- ssgBranch* obj_load( const std::string& path,
- ssgVertexArray* lights, bool is_base );
+ bool obj_load( const std::string& path,
+ ssgBranch* geometry,
+ ssgBranch* rwy_lights,
+ ssgVertexArray* gound_lights,
+ bool is_base );
ssgLeaf* gen_lights( ssgVertexArray *lights, int inc, float bright );
+ double timestamp;
+
public:
// ADA --->
// Update the ssg transform node for this tile so it can be
// properly drawn relative to our (0,0,0) point
- void prep_ssg_node( const Point3D& p, float vis);
+ void prep_ssg_node( const Point3D& p, sgVec3 up, float vis);
/**
* Load tile data from a file.
/**
* Add terrain mesh and ground lighting to scene graph.
*/
- void add_ssg_nodes( ssgBranch* terrain, ssgBranch* ground );
+ void add_ssg_nodes( ssgBranch* terrain_branch,
+ ssgBranch* gnd_lights_branch,
+ ssgBranch* rwy_lights_branch );
/**
* disconnect terrain mesh and ground lighting nodes from scene
* graph for this tile.
*/
void disconnect_ssg_nodes();
+
+
+ /**
+ * return the SSG Transform node for the terrain
+ */
+ inline ssgTransform *get_terra_transform() { return terra_transform; }
+
+ void set_timestamp(double time_ms) { timestamp = time_ms; }
+
+ inline double get_timestamp() const { return timestamp; }
+
};