1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
strstream ss;
ss << "codde" << region << ".txt";
std::string filess = ss.str();
ifstream fichierss(filess,ios::in); // ouverture du fichier
int nbrligne=0;
std::string contenu;
// std::string contenu;
if(fichierss) // si l'ouverture a fonctionné
{
// déclaration d'une chaîne qui contiendra la ligne lue
while(getline(fichierss, contenu)) // tant que l'on peut mettre la ligne dans "contenu"
{
// on met dans "contenu" la ligne
nbrligne++;
}
fichierss.close(); // fermeture du fichier
}
int nbrcor;
nbrcor=nbrligne;
int dim_allouee = 0; // nombre d'éléments alloués avec succès sur la dimension 2
double** sommet=0;
sommet=new double * [nbrcor];
//std::fill_n( sommet, nbrcor, static_cast<double*>( 0 ) );
for ( dim_allouee = 0; dim_allouee < nbrcor; ++dim_allouee)
{
sommet[ dim_allouee ] = new double[ 3 ];
}
ifstream fichiersopen(filess,ios::in); // ouverture du fichier
int w=0;
for(w=0;w<nbrcor;w++)
{
while( getline(fichiersopen, contenu))
{
int x=0;
istringstream t(contenu);
string mot;
while ( std::getline( t, mot, ' ' ) )
{ double z;
z=10 *lexical_cast<double>(mot);
sommet[w][x] =z;// ::atof(mot.c_str());
x=x+1;
}
double* so=sommet[w];
/************ traitement à faire *********/
int nbp=polydata->GetNumberOfPoints();
int nbp1=nbp+1;
polydata->GetPoints()->InsertPoint(nbp1,so);
//polydata->GetPoints()->InsertNextPoint(so);
polydata->GetPoints()->Modified();
polydata->Modified();
polydata->Update();
cout<<"les sommets sont: "<<sommet[w][0]<<" "<<sommet[w][1]<<" "<<sommet[w][2]<<"\n "<<endl;
/**********************************************/
}
}
fichiersopen.close();// fermeture du fichier
/************** pour le deuxièmes fichier ****************/
strstream sface;
sface << "face" << region << ".txt";
std::string face = sface.str();
ifstream fichierface(face,ios::in); // ouverture du fichier
int nbrligneface=0;
std::string contenuface;
while(getline(fichierface, contenuface))
{
istringstream t(contenuface);
string mot;
while ( std::getline( t, face, ' ' ) )
{
int z;
istringstream ( face )>>z;
int zz=z+nbpp;
points->InsertNextId(zz);
}
int cell=polydata->GetPolys()->GetNumberOfCells();
polydata->GetPolys()->InsertNextCell(points);
polydata->BuildCells();
polydata->BuildLinks();
polydata->GetPolys()->Modified();
int cells=cell+1;
polydata->GetPolys()->UpdateCellCount(cells);
nbrligneface++;
}
fichierface.close(); // fermeture du fichier
|