#ifndef PHYOBJ_H #define PHYOBJ_H #include "refptr/refptr.h" #include "FileLoader/FileLoader.h" #include class PhyObj { public: /* Types */ enum GeomType { NONE, BOX, SPHERE, PLANE, CAPSULE }; class Geom { public: /* Constructors */ Geom(); Geom(GeomType type, refptr< std::vector > args); /* Methods */ GeomType getType() { return m_type; } refptr< std::vector > getArgs() { return m_args; } protected: GeomType m_type; refptr< std::vector > m_args; }; /* Methods */ void load(FileLoader * fileLoader, const FileLoader::Path & path); size_t getNumGeoms() { return m_geoms.size(); } refptr getGeom(int i) { return m_geoms[i]; } protected: std::vector< refptr > m_geoms; }; #endif