Here's what a VERY simple object class might be:
#include "DarkGDK.h"
class GDKObject
{
public:
GDKObject(int newID) { id = newID; }
void Position(float x, float y, float z)
{
dbPositionObject(id, x, y, z);
}
void Rotate(float x, float y, float z)
{
dbRotateObject(id, x, y, z);
}
private:
int id;
};
Then you have your 'frantic' namespace which might look like this:
#include "DarkGDK.h"
#include "GDKObject.h"
namespace frantic
{
GDKObject* LoadObject(const char* FileName)
{
int ID = FindFreeObj();
dbLoadObject(FileName, ID);
return new GDKObject(ID);
}
int FindFreeObject();
}
Then you can do this:
GDKObject* Object = frantic::LoadObject("Object.x");
Object->Position(10.0f, 10.0f, 10.0f);
That's just a simple example--it won't compile, it's just to show you one option.
EDIT:
I can't tell, is frantic a namespace or is loadObject() a static member of the class frantic?