# include <config.h>
#endif
-#ifdef HAVE_WINDOWS_H
-# include <windows.h>
-#endif
+#include <simgear/compiler.h>
+
+// #ifdef HAVE_WINDOWS_H
+// # include <windows.h>
+// #endif
+
+// #include <GL/glut.h>
-#include <GL/glut.h>
+#include STL_STRING
-#include <string>
+#include <plib/ssg.h> // plib include
+
+#include <simgear/math/sg_types.hxx>
#include <Scenery/tileentry.hxx>
+SG_USING_STD(string);
-// Load a .obj file and build the GL fragment list
-int fgObjLoad(const string& path, FGTileEntry *tile);
+// duplicated from the TerraGear tools
+#define FG_MAX_NODES 4000
-#endif // _OBJ_HXX
+// Load an Binary obj file
+bool fgBinObjLoad( const string& path, const bool is_base,
+ Point3D *center,
+ double *bounding_radius,
+ ssgBranch* geometry,
+ ssgBranch* rwy_lights,
+ ssgVertexArray *ground_lights );
+
+// Load an ascii object file
+ssgBranch *fgAsciiObjLoad(const string& path, FGTileEntry *tile,
+ ssgVertexArray *lights, const bool is_base);
+// Generate an ocean tile
+bool fgGenTile( const string& path, SGBucket b,
+ Point3D *center,
+ double *bounding_radius,
+ ssgBranch* geometry );
+
+
+// Create an ssg leaf
+ssgLeaf *gen_leaf( const string& path,
+ const GLenum ty, const string& material,
+ const point_list& nodes, const point_list& normals,
+ const point_list& texcoords,
+ const int_list node_index,
+ const int_list normal_index,
+ const int_list& tex_index,
+ const bool calc_lights, ssgVertexArray *lights );
+
+
+#endif // _OBJ_HXX