-// obj.hxx -- routines to handle WaveFront .obj-ish format files.
+// obj.hxx -- routines to handle loading scenery and building the plib
+// scene graph.
//
// Written by Curtis Olson, started October 1997.
//
#endif
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
#include <simgear/compiler.h>
-// #ifdef HAVE_WINDOWS_H
-// # include <windows.h>
-// #endif
-
-// #include <GL/glut.h>
-
#include STL_STRING
-#include <plib/ssg.h> // plib include
+#include <plib/ssg.h> // plib include
-#include <simgear/math/sg_types.hxx>
-
-#include <Scenery/tileentry.hxx>
+#include <simgear/math/point3d.hxx>
SG_USING_STD(string);
-
-// duplicated from the TerraGear tools
-#define FG_MAX_NODES 4000
+class SGBucket;
+class SGMaterialLib;
-// Load an Binary obj file
+// Load a 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);
+ Point3D *center,
+ double *bounding_radius,
+ SGMaterialLib *matlib,
+ bool use_random_objects,
+ ssgBranch* geometry,
+ ssgBranch* rwy_lights,
+ ssgBranch* taxi_lights,
+ ssgVertexArray *ground_lights );
// 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 );
+ Point3D *center, double *bounding_radius,
+ SGMaterialLib *matlib, ssgBranch* geometry );
#endif // _OBJ_HXX