#include "GeoMeshSimpSequence.h" using namespace Geometry; using namespace std; MeshSimplificationSequence::MeshSimplificationSequence() { meshName=""; } MeshSimplificationSequence::~MeshSimplificationSequence() { } void MeshSimplificationSequence::Load(Serializer &s) { //Loads a simplification sequence from a file char buffer[256]; unsigned int modVertex; char name[256]; if (s.ReadData(buffer,256) != NULL) { sscanf(buffer,"%s",&name); meshName=new char[strlen(name)]; strcpy(meshName,name); } while (s.ReadData(buffer,256) != NULL) { Geometry::MeshSimplificationSequence::Step simplifstep; //new step sscanf(buffer,"%u %u %u %u %u %f %f %f &",&simplifstep.mV1,&simplifstep.mV0, &simplifstep.mT0,&simplifstep.mT1, &simplifstep.obligatorio,&simplifstep.x, &simplifstep.y, &simplifstep.z); //sscanf(buffer,"%u %u %u %u %u &",&simplifstep.mV1,&simplifstep.mV0, &simplifstep.mT0,&simplifstep.mT1, &simplifstep.obligatorio); //sscanf(buffer + 3,"%u %u %f %f %f %u %u &",&simplifstep.mV0,&simplifstep.mV1,&simplifstep.x, &simplifstep.y, &simplifstep.z, &simplifstep.mT0,&simplifstep.mT1); //sscanf(buffer,"%u %u %u %u %u &",&simplifstep.mV0,&simplifstep.mV1,&simplifstep.mT0,&simplifstep.mT1, &simplifstep.obligatorio); buffer[strlen(buffer)-1]='\0'; //if(!simplifstep.obligatorio) //{ char *ptr1; ptr1=strtok(buffer,"&"); ptr1=strtok(NULL,"&"); if (ptr1!=NULL) { char *ptr; ptr=strtok(ptr1," "); while(ptr != NULL ) { modVertex = (unsigned int)atoi(ptr); simplifstep.mModfaces.push_back(modVertex); ptr=strtok(NULL," "); } } mSteps.push_back(simplifstep); //} } } void MeshSimplificationSequence::Save(Serializer &s) { //Stores the simplification sequence in a file char simp[256]; //Name of the mesh sprintf(simp,"%s\n",meshName); s.WriteData(simp,sizeof(char),strlen(simp)); for(unsigned int i=0; i