#include "GeoBase.h" #include namespace Geometry { /// LodTreeLibrary interface class. /** This module contains functions that handle the levels of detail of the input multiresolution trees. For Any given resolution and object this module returns two thins: a set of triangle strips representing the trunk and the branches at that resolution, and a triangle list representing the leaves at the same resolution. \n\n Inputs:\n - The module receives a file describing a multiresolution tree object. . Outputs:\n - The module returns a strip set that represents the level of deatil demanded for the trunk and a triangle list that representes the level of detail for leaves. . */ class LodTreeLibrary: public Ogre::Renderable,Ogre::MovableObject { public: /// Constructor, receives as a parameter the name of the file including the multiresolution object. LodTreeLibrary (std::string); /// Destructor. ~LodTreeLibrary (void); /// Copy constructor //LodTreeLibrary(const LodTreeLibrary&); /// Assignment operator //LodTreeLibrary& operator =(const LodTreeLibrary&); /// Returns the highest LOD of the foliage. uint32 MaxFoliageLod(); /// Returns the highest LOD of the trunk. uint32 MaxTrunkLod(); /// Returns the lowest LOD of the foliage. uint32 MinFoliageLod(); /// Returns the lowest LOD of the trunk. uint32 MinTrunkLod(); /// Returns de current foliage LOD and changes to the specified LOD. uint32 GoToFoliageLod(uint32); /// Returns de current trunk LOD and changes to the specified LOD. uint32 GoToTrunkLod(uint32); /// Establishes the new LOD range. /// Only the LODs in that range are stored and used. void TrimFoliageByLod(uint32, uint32); /// Establishes the new LOD range. /// Only the LODs in that range are stored and used. void TrimTrunkByLod(uint32, uint32); /// Returns the number of triangles of the foliage at the highest LOD. uint32 MaxFoliageFaces(); /// Returns the number of triangles of the trunk at the highest LOD. uint32 MaxTrunkFaces(); /// Returns the number of triangles of the foliage at the lowest LOD. uint32 MinFoliageFaces(); /// Returns the number of triangles of the trunk at the lowest LOD. uint32 MinTrunkFaces(); /// Returns the number of vertices of the foliage at the highest LOD. uint32 MaxFoliageVertices(); /// Returns the number of vertices of the trunk at the highest LOD. uint32 MaxTrunkVertices(); /// Returns the number of vertices of the foliage at the lowest LOD. uint32 MinFoliageVertices(); /// Returns the number of vertices of the trunk at the lowest LOD. uint32 MinTrunkVertices(); }; }