#include "GeoTreeSimpSequence.h" #include #include using namespace Geometry; using namespace std; TreeSimplificationSequence::TreeSimplificationSequence() { meshName=""; } TreeSimplificationSequence::~TreeSimplificationSequence() { } void TreeSimplificationSequence::Load(Serializer &s) { // Carga una secuencia de simplificación desde un fichero char buffer[256]; char nombre[256]; Geometry::Index quad; int cont; if (s.ReadData(buffer,256) != NULL) { sscanf(buffer,"%s",&nombre); meshName=new char[strlen(nombre)]; strcpy(meshName,nombre); } while (s.ReadData(buffer,256) != NULL) { Geometry::TreeSimplificationSequence::Step pasosimp; sscanf(buffer,"%u %u %u %u &",&pasosimp.mV0,&pasosimp.mV1,&pasosimp.mT0,&pasosimp.mT1); // Quitar el salto de línea del final. buffer[strlen(buffer)-1]='\0'; char *ptr1; ptr1=strtok(buffer,"&"); ptr1=strtok(NULL,"&"); if (ptr1!=NULL) { char *ptr; ptr=strtok(ptr1," "); cont=0; while(ptr != NULL ) { quad = (Index)atoi(ptr); pasosimp.mNewQuad[cont]=quad; ptr=strtok(NULL," "); cont++; } } mSteps.push_back(pasosimp); } } void TreeSimplificationSequence::Save(Serializer &s) { // Almacena la secuencia de simplificación en un fichero char simp[256]; // Nombre del mesh sprintf(simp,"%s\n",meshName); s.WriteData(simp,sizeof(char),strlen(simp)); for(unsigned int i=0; i