Index: GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoLodStripsConstructor.h
===================================================================
--- GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoLodStripsConstructor.h	(revision 774)
+++ GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoLodStripsConstructor.h	(revision 841)
@@ -76,4 +76,7 @@
 			uint32 TOTALINDICES;
 
+			//	Index of the submesh leaves.
+			size_t	mSubMeshLeaves;
+
 			Mesh	*geoMesh;
 			const	Geometry::Mesh *meshoriginal;
@@ -121,5 +124,6 @@
 			LodStripsConstructor(	const Mesh 			*,
 					const MeshSimplificationSequence	*,
-					Geometry::TIPOFUNC								upb);
+					size_t														submesh=-1,
+					Geometry::TIPOFUNC								upb=NULL);
 
 			// Destructor
@@ -141,4 +145,8 @@
 			///	GetMesh: Return de current Mesh.
 			Mesh	*	GetMesh();
+
+			// Sets what is the submesh that stores the leaves
+			void SetSubMeshLeaves(size_t	submesh);
+
 	};
 
Index: GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoMeshStripifier.h
===================================================================
--- GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoMeshStripifier.h	(revision 826)
+++ GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoMeshStripifier.h	(revision 841)
@@ -54,5 +54,5 @@
 
 			// Sets what is the mesh that stores the leaves
-			void setSubMeshLeaves(Geometry::Index);
+			void setSubMeshLeaves(size_t);
 
 		protected:
@@ -65,5 +65,5 @@
 
 			//	Index of the submesh leaves.
-			Geometry::Index mSubMeshLeaves;
+			size_t	mSubMeshLeaves;
 
 	};
Index: GTP/trunk/Lib/Geom/shared/GTGeometry/src/GeoLodStripsConstructor.cpp
===================================================================
--- GTP/trunk/Lib/Geom/shared/GTGeometry/src/GeoLodStripsConstructor.cpp	(revision 774)
+++ GTP/trunk/Lib/Geom/shared/GTGeometry/src/GeoLodStripsConstructor.cpp	(revision 841)
@@ -484,4 +484,5 @@
 LodStripsConstructor::LodStripsConstructor(const Mesh						*m,
 										   				const MeshSimplificationSequence	*ms,
+															size_t														submesh,
 															TIPOFUNC													upb)
 {
@@ -493,4 +494,8 @@
 	this->geoMeshSQ = ms;
 
+	//	Set the leaves submesh.
+	mSubMeshLeaves	=	submesh;
+
+	
 	this->GenerarModeloCompleto(upb);
 }
@@ -784,5 +789,4 @@
 			}
 		}
-
 	}
 
@@ -1012,32 +1016,32 @@
 			{
 				for	(	j = 0;
-							j < this->geoMesh->mSubMesh[i].mVertexBuffer->mVertexCount;
-							j++)
+						j < this->geoMesh->mSubMesh[i].mVertexBuffer->mVertexCount;
+						j++)
 				{
 					//	Si hay mas de un submesh ListaIndices 
 					//	no se rellena correctamente.
 					vAux.Vertex[0] = this->geoMesh->mSubMesh[i].
-																					mVertexBuffer->mPosition[j].x;
+						mVertexBuffer->mPosition[j].x;
 					vAux.Vertex[1] = this->geoMesh->mSubMesh[i].
-																					mVertexBuffer->mPosition[j].y;
+						mVertexBuffer->mPosition[j].y;
 					vAux.Vertex[2] = this->geoMesh->mSubMesh[i].
-																					mVertexBuffer->mPosition[j].z;
+						mVertexBuffer->mPosition[j].z;
 					//	Añadimos las normales en cVerts.
 					vAux.Normal[0] = this->geoMesh->mSubMesh[i].
-																					mVertexBuffer->mNormal[j].x;
+						mVertexBuffer->mNormal[j].x;
 					vAux.Normal[1] = this->geoMesh->mSubMesh[i].
-																					mVertexBuffer->mNormal[j].y;
+						mVertexBuffer->mNormal[j].y;
 					vAux.Normal[2] = this->geoMesh->mSubMesh[i].
-																					mVertexBuffer->mNormal[j].z;
+						mVertexBuffer->mNormal[j].z;
 
 					//	Añadimos las coordenadas de textura a cVerts.
 					vAux.TexCoords[0]	=	this->geoMesh->mSubMesh[i].
-																							mVertexBuffer->mTexCoords[j].x;
+						mVertexBuffer->mTexCoords[j].x;
 					vAux.TexCoords[1] = this->geoMesh->mSubMesh[i].
-																							mVertexBuffer->mTexCoords[j].y;
+						mVertexBuffer->mTexCoords[j].y;
 
 					vAux.Next			=	-10;
 					vAux.numMesh	=	i;
-					
+
 					this->cVerts.push_back(vAux);
 				}
@@ -1052,53 +1056,57 @@
 		for	(i = 0; i < this->geoMesh->mSubMeshCount; i++)
 		{
-			indice_acum	=	0;
-			
-			for	(j = 0; j < this->geoMesh->mSubMesh[i].mStripCount; j++)
-			{
-				Index	*aux	=	this->geoMesh->mSubMesh[i].mStrip[j];
-				
-				if (j != 0)
-				{
-					// La primera tira no empieza por índices repetidos.
-					aux	=	aux+1;
-					
-					indice_acum++;
-				}
-				
-				if (j+1 < this->geoMesh->mSubMesh[i].mStripCount)
-				{
-					Index	*siguiente	=	this->geoMesh->mSubMesh[i].mStrip[j+1];
-					
-					tira.clear();
-					
-					while (aux != siguiente)
-					{
-						tira.push_back(*aux);
+			//	If is not the leaves submesh.
+			if (mSubMeshLeaves != i)
+			{
+				indice_acum	=	0;
+
+				for	(j = 0; j < this->geoMesh->mSubMesh[i].mStripCount; j++)
+				{
+					Index	*aux	=	this->geoMesh->mSubMesh[i].mStrip[j];
+
+					if (j != 0)
+					{
+						// La primera tira no empieza por índices repetidos.
+						aux	=	aux+1;
+
 						indice_acum++;
-						
-						aux	=	aux + 1;
-					}
-					
-					tira.pop_back();
-					this->cStrips.push_back(tira);
-				}
-				else
-				{
-					// Insertar los indices de la última tira en el cStrips
-					tira.clear();
-					
-					for	(	unsigned int k = indice_acum;
+					}
+
+					if (j+1 < this->geoMesh->mSubMesh[i].mStripCount)
+					{
+						Index	*siguiente	=	this->geoMesh->mSubMesh[i].mStrip[j+1];
+
+						tira.clear();
+
+						while (aux != siguiente)
+						{
+							tira.push_back(*aux);
+							indice_acum++;
+
+							aux	=	aux + 1;
+						}
+
+						tira.pop_back();
+						this->cStrips.push_back(tira);
+					}
+					else
+					{
+						// Insertar los indices de la última tira en el cStrips
+						tira.clear();
+
+						for	(	unsigned int k = indice_acum;
 								k < this->geoMesh->mSubMesh[i].mIndexCount;
 								k++)
-					{
-						tira.push_back(this->geoMesh->mSubMesh[i].mIndex[k]);
-					}
-					
-					this->cStrips.push_back(tira);
-				}
-			}
-			
-			num_vert	+=	this->geoMesh->mSubMesh[i].
-																		mVertexBuffer->mVertexCount;
+						{
+							tira.push_back(this->geoMesh->mSubMesh[i].mIndex[k]);
+						}
+
+						this->cStrips.push_back(tira);
+					}
+				}
+
+				num_vert	+=	this->geoMesh->mSubMesh[i].
+					mVertexBuffer->mVertexCount;
+			}
 		}
 
@@ -1123,2 +1131,8 @@
 }
 
+// Sets what is the submesh that stores the leaves.
+void LodStripsConstructor::SetSubMeshLeaves(size_t	submesh)
+{
+	mSubMeshLeaves	=	submesh;
+}
+
Index: GTP/trunk/Lib/Geom/shared/GeoTool/include/GeoMeshViewUI.h
===================================================================
--- GTP/trunk/Lib/Geom/shared/GeoTool/include/GeoMeshViewUI.h	(revision 829)
+++ GTP/trunk/Lib/Geom/shared/GeoTool/include/GeoMeshViewUI.h	(revision 841)
@@ -104,6 +104,6 @@
 	GeometryBounds			mMeshBounds;
 
-	MeshSimplifier 			*ms;
-	TreeSimplifier			*mts;
+	MeshSimplifier 			*mMeshSimplifier;
+	TreeSimplifier			*mTreeSimplifier;
 	char								*nombremesh;
 	SimplificationType	simplificacionState;
@@ -246,4 +246,7 @@
 	void	createQslimSequence();
 
+	//	Create a siplification sequence of the leaves.
+	void	createLeavesSequence();
+
 	//	Stripify the mesh object.
 	void	stripify();
Index: GTP/trunk/Lib/Geom/shared/GeoTool/src/GeoMeshViewUI.cpp
===================================================================
--- GTP/trunk/Lib/Geom/shared/GeoTool/src/GeoMeshViewUI.cpp	(revision 834)
+++ GTP/trunk/Lib/Geom/shared/GeoTool/src/GeoMeshViewUI.cpp	(revision 841)
@@ -881,5 +881,4 @@
 				else
 				{
-
 					//	Simplify the mesh object.
 					simplifyEdgeCollapse();
@@ -893,4 +892,7 @@
 				simplifyLeavesCollapse();
 
+				//	Create the leaves simplification sequence.
+				createLeavesSequence();
+				
 				break;
 
@@ -905,5 +907,4 @@
 				else
 				{
-
 					//	Transform NoSV Mesh to a SV Mesh.
 					mesh_aux	=	mGeoMesh->toSharedVertex();
@@ -992,5 +993,4 @@
 
 				// Builder
-
 				//	Open file chooser dialog.
 				file_name	=	fltk::file_chooser(	"Build LOD",
@@ -1022,4 +1022,5 @@
 						oLodStrip		=	new LodStripsConstructor(	mGeoMesh,
 								oMeshSimpSequence,
+								idMeshLeaves,
 								progress_function);
 
@@ -1027,5 +1028,5 @@
 								Serializer::Mode::WRITE);
 
-						oLodStrip->LodStripsConstructor::Save(*oSerializer);
+						oLodStrip->Save(*oSerializer);
 
 						//	Close file.
@@ -1695,7 +1696,7 @@
 	simplificacionState	=	QSLIM;
 
-	ms = new ImageBasedSimplifier(mGeoMesh,	progress_function);
-
-	ms->setMeshLeaves(idMeshLeaves);
+	mMeshSimplifier = new ImageBasedSimplifier(mGeoMesh,	progress_function);
+
+	mMeshSimplifier->setMeshLeaves(idMeshLeaves);
 
 	if (mPercent->value() == true)
@@ -1708,5 +1709,5 @@
 
 			// Simplifica el geomesh -> Parámetro es un factor LOD [0,1].
-			ms->Simplify(percent);
+			mMeshSimplifier->Simplify(percent);
 
 			//	Deletes the previous mesh.
@@ -1720,5 +1721,5 @@
 			delete	mGeoMesh;
 
-			mGeoMesh	=	ms->GetMesh();
+			mGeoMesh	=	mMeshSimplifier->GetMesh();
 
 			//	Visualize mesh.
@@ -1737,5 +1738,5 @@
 
 		// Simplifica el geomesh -> Parámetro es un factor LOD [0,1].
-		ms->Simplify(v);
+		mMeshSimplifier->Simplify(v);
 
 		//	Deletes the previous mesh.
@@ -1749,5 +1750,5 @@
 		delete	mGeoMesh;
 
-		mGeoMesh	=	ms->GetMesh();
+		mGeoMesh	=	mMeshSimplifier->GetMesh();
 
 		//	Visualize the mesh.
@@ -1773,5 +1774,5 @@
 		simplificacionState	=	HOJAS;
 		
-		mts	=	new TreeSimplifier(mGeoMesh, progress_function);
+		mTreeSimplifier	=	new TreeSimplifier(mGeoMesh, progress_function);
 		vi	=	(uint32)mMeshReduction->fvalue();
 
@@ -1780,5 +1781,5 @@
 		{
 			// Simplify
-			mts->Simplify(vi, idMeshLeaves);
+			mTreeSimplifier->Simplify(vi, idMeshLeaves);
 
 			//	Deletes the previous mesh.
@@ -1792,5 +1793,5 @@
 			delete	mGeoMesh;
 
-			mGeoMesh	=	mts->GetMesh();
+			mGeoMesh	=	mTreeSimplifier->GetMesh();
 			
 			geoMeshView->setMesh(mGeoMesh);
@@ -1810,5 +1811,5 @@
 	MeshSimplificationSequence	*secsimpl;
 	
-	secsimpl	=	ms->GetSimplificationSequence();
+	secsimpl	=	mMeshSimplifier->GetSimplificationSequence();
 	
 	secsimpl->putMeshName(nombremesh); // Nombre del mesh para guardar la secuencia de simplificación
@@ -1816,4 +1817,19 @@
 
 	delete	secsimpl;
+}
+
+//---------------------------------------------------------------------------
+//	Create a simplification sequence of the leaves.
+//---------------------------------------------------------------------------
+void	GeoMeshViewUI::createLeavesSequence()
+{
+	TreeSimplificationSequence	*tree_sequencer;
+	
+	tree_sequencer	=	mTreeSimplifier->GetSimplificationSequence();
+	
+	tree_sequencer->putMeshName(nombremesh); 
+	tree_sequencer->Save(Serializer("leavesSequence.txt",Serializer::WRITE));
+
+	delete	tree_sequencer;
 }
 
Index: GTP/trunk/Lib/Geom/shared/GeoTool/src/GeoMeshView.cpp
===================================================================
--- GTP/trunk/Lib/Geom/shared/GeoTool/src/GeoMeshView.cpp	(revision 829)
+++ GTP/trunk/Lib/Geom/shared/GeoTool/src/GeoMeshView.cpp	(revision 841)
@@ -586,8 +586,8 @@
 			drawLodStrip();
 		}
-		else if (mLodTree)
-		{
-			drawLodTree();
-		}
+		//else if (mLodTree)
+		//{
+		//	drawLodTree();
+		//}
 		else
 		{
