Index: GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoLodStripsLibrary.h
===================================================================
--- GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoLodStripsLibrary.h	(revision 1788)
+++ GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoLodStripsLibrary.h	(revision 2150)
@@ -51,5 +51,16 @@
 	typedef	std::vector	<Long>						LongVector;
 
-	/// LodStripsLibrary interface class.
+
+	class LodStripsLibraryData
+	{
+		public:
+
+			SmallIntVector								mFileVertices;
+			std::vector	<LODRegisterType>	mFileChangesLOD;
+			LongVector										mData;
+			std::vector<unsigned int>			p_changes;
+	};
+
+	/// The LodStripsLibrary interface class.
 	/** This module contains functions that handle the levels of detail 
 	 * 	of the input multiresolution objects made of polygonal meshes.
@@ -58,26 +69,5 @@
 	 * 	that is, at the level of detail requested. These models use 
 	 * 	triangle strips to reduce storage usage and to speed up realistic 
-	 * 	rendering.
-	\n\n
-
-Inputs:\n
-	- The module receives a file describing a multiresolution object.
-	.
-
-Outputs:\n
-	- The module returns a strip set that represents the level of 
-		detail requested.
-	.
-
-	*/
-	class LodStripsLibraryData
-	{
-		public:
-
-			SmallIntVector								mFileVertices;
-			std::vector	<LODRegisterType>	mFileChangesLOD;
-			LongVector										mData;
-			std::vector<unsigned int>			p_changes;
-	};
+	 * 	rendering. */
 
 	class GEOLODLIBRARYDLL_API LodStripsLibrary : public Geometry::LodObject
@@ -138,6 +128,4 @@
 			void	LoadStripMesh(const LodStripsLibraryData *, Mesh *geomesh);
 
-//			Geometry::CREATEINDEXDATAFUNC create_index_data_func;
-
 			//	Strips vector.
 			SmallIntVector	*mStrips;
@@ -159,62 +147,69 @@
 		public:
 
-			IndexData *GetIndexDataInterface(void)
+			/// Class constructor
+			/**	Constructs a LodStrips multiresolution object from:
+				- The LodStrips decimation information (this can be obtained using the class Geometry::MeshLoader)
+				- The Mesh object defining the geometry of the model at its full level of detail (this can be obtained using the class Geometry::MeshLoader)
+				- a user-defined Geometry::IndexData instance
+			*/
+			LodStripsLibrary(const	LodStripsLibraryData *,
+							 Mesh	*geomesh,
+							 IndexData	*userindexdata);
+
+			/// Class destructor.
+			~LodStripsLibrary(void);
+
+			/// changes the level of detail of the object to a specified factor
+			/** The value specified to chane the LOD must be in the range [0,1] ([min,max])
+				After the LOD is calculated, this function automatically updates the indices
+				using the IndexData interface provided in the constructor.*/			
+			virtual void GoToLod(Real);
+
+			/// Returns the number of triangles of the highest LOD.
+			uint32	MaxFaces() const;
+
+			/// Returns the number of triangles of the lowest LOD.
+			uint32	MinFaces() const;
+
+			/// Returns the index count at the current LOD of a certain submesh
+			uint32 GetValidIndexCount(int submeshid)	const
+			{
+				return indices_x_submesh[submeshid];
+			}
+
+			/// Retrieves the total number of strips of all submeshes
+			uint32 GetTotalStripCount(void)	const
+			{
+				return mTotalStrips;
+			}
+
+			/// Returns the number of strips of a given submesh
+			uint32 GetSubMeshtripCount(int submeshid)	const
+			{
+				return mStripsSubmesh[submeshid];
+			}
+
+			/// Gets the triangle count at the current LOD
+			uint32 GetCurrentTriangleCount(void)	const
+			{
+				return current_triangle_count;
+			}
+
+			/// Gets the current LOD factos
+			virtual Real GetCurrentLodFactor(void)	const
+			{
+				return lodFactor;
+			}
+
+			// Retrieves the IndexData index interface
+			Geometry::IndexData *GetIndexDataInterface(void) const
 			{
 				return dataRetrievalInterface;
 			}
-			
-			/**	Constructor, receives as a parameter the name of the file
-			 * 	including the multiresolution object.
-			*/
-			LodStripsLibrary(	const	LodStripsLibraryData *,
-												Mesh	*geomesh,
-												IndexData	*userindexdata = NULL);
-
-			/// Destructor.
-			~LodStripsLibrary(void);
-
-			/// Returns de current LOD and changes to the specified LOD.
-			virtual void GoToLod(Real);
-
-			/// Establishes the new LOD range.
-			/// Only the LODs in that range are stored and used.
-			void	TrimByLod(uint32, uint32);
-
-			/// Returns the number of triangles of the highest LOD.
-			uint32	MaxFaces();
-
-			/// Returns the number of triangles of the lowest LOD.
-			uint32	MinFaces();
-
-			/// Returns the number of vertices of the highest LOD.
-			uint32	MaxVertices();
-
-			/// Returns the number of vertices of the lowest LOD.
-			uint32	MinVertices();
-
-			uint32 GetValidIndexCount(int submeshid)	const
-			{
-				return indices_x_submesh[submeshid];
-			}
-
-			uint32 GetTotalStripCount(void)	const
-			{
-				return mTotalStrips;
-			}
-
-			uint32 GetSubMeshtripCount(int submeshid)	const
-			{
-				return mStripsSubmesh[submeshid];
-			}
-
-			uint32 GetCurrentTriangleCount(void)	const
-			{
-				return current_triangle_count;
-			}
-
-			virtual Real GetCurrentLodFactor(void)	const
-			{
-				return lodFactor;
-			}
+
+			// deprecated functions
+//			void	TrimByLod(uint32, uint32);
+/*			uint32	MaxVertices();
+			uint32	MinVertices();*/
 	};
 }
Index: GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoLodTreeLibrary.h
===================================================================
--- GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoLodTreeLibrary.h	(revision 1552)
+++ GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoLodTreeLibrary.h	(revision 2150)
@@ -17,45 +17,72 @@
 	class IndexData;
 	class VertexData;
+	/// This class represents a tree object that is able to change its level of detail
+	/** It uses internally a LodStrips object to manage the level of detail of the trunk
+		The level of detail of the object initially is 1.0 (maximum quality)
+	*/
 	class LodTreeLibrary : public Geometry::LodObject
 	{
 	public:
+		/// Class constructor
+		/** Constructs an object from:
+		- LodStrips decimation info (for the trunk)
+		- LodTree simplification info (for the foliage)
+		- the Mesh containing the geometry of the tree
+		- a user-defined Geometry::IndexData instance */
 		LodTreeLibrary(	const LodStripsLibraryData *,
 						const TreeSimplificationSequence *,
 						Geometry::Mesh *treeGeoMesh,
 						Geometry::IndexData *user_indexdata);
+
+		/// Class destructor
 		~LodTreeLibrary(void);
 
-		// funciones ya descritas en la API
-/*		uint32 GoToTrunkLod(uint32 newlod);
-		uint32 MinTrunkLod(void) const;
-		uint32 MaxTrunkLod(void) const;
-		uint32 GoToFoliageLod(uint32 newlod);
-		uint32 MinFoliageLod(void) const;
-		uint32 MaxFoliageLod(void) const;*/
+		/// changes the lod of the entire object (trunk and leaves)
+		/** The value specified to chane the LOD must be in the range [0,1] ([min,max])
+			After the LOD is calculated, this function automatically updates the indices
+			using the IndexData interface provided in the constructor. */
+		virtual void GoToLod(Real);
 
+		/// changes the lod of the trunk
+		/** The value specified to chane the LOD must be in the range [0,1] ([min,max])
+			After the LOD is calculated, this function automatically updates the indices
+			using the IndexData interface provided in the constructor.*/
 		void GoToTrunkLod(Real);
+
+		/// changes the lod of the foliage
+		/** The value specified to chane the LOD must be in the range [0,1] ([min,max])
+			After the LOD is calculated, this function automatically updates the indices
+			using the IndexData interface provided in the constructor.*/
 		void GoToFoliageLod(Real);
 
-		// changes the lod of the entire object (trunk and leaves)
-		virtual void GoToLod(Real);
+		/// Retrieves the current real LOD factor of the object
 		virtual Real GetCurrentLodFactor(void) const { return (currentFoliageLodFactor+trunk->GetCurrentLodFactor())*0.5f; }
+
+		/// Retrieves a reference to the IndexData interface that manages the foliage, provided in the constructor
 		virtual Geometry::IndexData * GetIndexDataInterface(void){ return dataRetrievalInterface; }
 
-		// new proposed functions
-//		uint32 Get_Trunk_VertexCount(void) const;
-//		uint32 Get_Trunk_MaxIndexCount(uint32 istrip) const;
-//		uint32 CurrentLOD_Trunk_StripCount(void) const;
-//		uint32 CurrentLOD_Trunk_IndexCount(void) const;
-//		uint32 CurrentLOD_Trunk_IndexCountByStrip(uint32 istrip) const;
-/*		const VertexData* Get_Trunk_VertexData(void) const;*/
-		const IndexData* CurrentLOD_Trunk_Indices(void) const;
+		/// Retrieves a reference to the IndexData interface that manages the trunk
+		const Geometry::IndexData* CurrentLOD_Trunk_Indices(void) const;
+
+		/// Retrieves the index count of the trunk at the current level of detail
+		/** The maximum number of indices that the trunk will use to be rendered */
 		uint32 GetValidTrunkIndexCount(int isubmesh) const { return trunk->GetValidIndexCount(isubmesh); }
-//		uint32 GetValidTrunkOffset(int isubmesh) const { return trunk->GetValidOffset(isubmesh); }
 
-//		uint32 Get_Foliage_VertexCount(void) const;
+		/// Gets the index count of the foliage at its maximum level of detail
+		/** The maximum number of indices that the foliage will use to be rendered */
 		uint32 Get_Foliage_MaxIndexCount(void) const;
+
+		/// Retrieves the index count of the foliage at the current level of detail
 		uint32 CurrentLOD_Foliage_IndexCount(void) const;
-		const IndexData* CurrentLOD_Foliage_Indices(void) const;
-		const VertexData* Get_Foliage_VertexData(void) const;
+
+
+        		
+//		const IndexData* CurrentLOD_Foliage_Indices(void) const;
+//		const VertexData* Get_Foliage_VertexData(void) const;
+
+		/// Specifies which submesh of the Mesh (provided through the constructor) represents the foliage
+		/** The rest submeshes are considered as aprt of the trunk.
+			This function is useful because the foliage must be rendered with triangle lists and the 
+			trunk must be rendered with triangle strips */
 		uint32 GetLeavesSubMesh(void) const { return mLeavesSubMesh; }
 
Index: GTP/trunk/Lib/Geom/shared/GTGeometry/src/GeoLodStripsLibrary.cpp
===================================================================
--- GTP/trunk/Lib/Geom/shared/GTGeometry/src/GeoLodStripsLibrary.cpp	(revision 2085)
+++ GTP/trunk/Lib/Geom/shared/GTGeometry/src/GeoLodStripsLibrary.cpp	(revision 2150)
@@ -328,5 +328,5 @@
 //	Returns the number of triangles of the highest LOD.
 //-------------------------------------------------------------------------
-uint32	LodStripsLibrary::MaxFaces()
+uint32	LodStripsLibrary::MaxFaces() const
 {
 /*	uint32	number_of_faces;
@@ -355,5 +355,5 @@
 //	Returns the number of triangles of the lowest LOD.
 //-------------------------------------------------------------------------
-uint32	LodStripsLibrary::MinFaces()
+uint32	LodStripsLibrary::MinFaces() const
 {
 /*	uint32	current_lod;
