Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

PhxTerrainGeometry.h

Go to the documentation of this file.
00001 #ifndef PHX_TERRAIN_GEOMETRY_H
00002 #define PHX_TERRAIN_GEOMETRY_H
00003 
00004 #include <Phx/Graphics/PhxGraphicsEngine.h>
00005 
00012 namespace Phx {
00013 
00018   class GraphicsEngine::TerrainGeometry : public LockedPtrInterface<TerrainGeometry> {
00019   public:
00020     class TerrainDatabase;
00021     class TerrainDatabaseDescription;
00022     
00027     virtual Ptr<TerrainDatabase> terrainDatabase(void) = 0;
00028 
00029     // future attributes:
00030     //   detailLevel()
00031     //   textureResolution()
00032     //   heightResolution()
00033     //   ...
00034 
00038     const String& name(void) const { return mName; }
00039 
00040   protected:
00041     void setName(const String& name) { mName = name; }
00042   private:
00043     String mName;
00044   };
00045   
00050   class GraphicsEngine::TerrainGeometryDescription : public Description {
00051   public:
00052     static const Description::Type DESCRIPTION_TYPE;
00053     static const String DESCRIPTION_TYPE_NAME;
00054 
00055     virtual void terrainDatabase(const Ptr<const TerrainGeometry::TerrainDatabaseDescription>&) = 0;
00056     virtual Ptr<const TerrainGeometry::TerrainDatabaseDescription> terrainDatabase(void) const = 0;
00057 
00058     // future attributes
00059     //    detailLevel()
00060     //    textureResolution()
00061     //    heightResolution()
00062     //    ...
00063   };
00064 
00065 }; // namespace Phx
00066 
00067 #endif /* PHX_TERRAIN_GEOMETRY_H */
00068 

Generated on Mon Jul 10 19:45:29 2006 for Phoenix OSFS by  doxygen 1.4.2