From a9c679d4e4b49e44542bac81ef4ef65c94418eff Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Fri, 08 Jul 2016 20:10:25 +0000 Subject: [PATCH] VTK rendering is done in realtime (updating attempt every second) --- src/io.c | 42 +++++++++++------------------------------- 1 files changed, 11 insertions(+), 31 deletions(-) diff --git a/src/io.c b/src/io.c index 39dc1e0..147b655 100644 --- a/src/io.c +++ b/src/io.c @@ -861,7 +861,7 @@ fprintf(fh, "<?xml version=\"1.0\"?>\n<VTKFile type=\"UnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\" compressor=\"vtkZLibDataCompressor\">\n"); xml_trisurf_data(fh,vesicle); fprintf(fh, " <UnstructuredGrid>\n"); - fprintf(fh, "<Piece NumberOfPoints=\"%u\" NumberOfCells=\"%u\">\n",vlist->n+monono*polyno+fonono*filno, blist->n+monono*polyno+filno*(fonono-1)); + fprintf(fh, "<Piece NumberOfPoints=\"%u\" NumberOfCells=\"%u\">\n",vlist->n+monono*polyno+fonono*filno, blist->n+monono*polyno+filno*(fonono-1)+vesicle->tlist->n); fprintf(fh,"<PointData Scalars=\"scalars\">\n<DataArray type=\"Int64\" Name=\"scalars\" format=\"ascii\">"); for(i=0;i<vlist->n;i++){ fprintf(fh,"%u ",vtx[i]->idx); @@ -888,33 +888,6 @@ fprintf(fh,"</DataArray>\n"); - //here comes additional data as needed. Currently only spontaneous curvature - fprintf(fh,"<DataArray type=\"Float64\" Name=\"spontaneous_curvature\" format=\"ascii\">"); - for(i=0;i<vlist->n;i++){ - fprintf(fh,"%.17e ",vtx[i]->c); - } - //polymeres - if(poly){ - poly_idx=vlist->n; - for(i=0;i<vesicle->poly_list->n;i++){ - for(j=0;j<vesicle->poly_list->poly[i]->vlist->n;j++,poly_idx++){ - fprintf(fh,"%.17e ", vesicle->poly_list->poly[i]->vlist->vtx[j]->c); - } - } - } - //filaments - if(fil){ - poly_idx=vlist->n+monono*polyno; - for(i=0;i<vesicle->filament_list->n;i++){ - for(j=0;j<vesicle->filament_list->poly[i]->vlist->n;j++,poly_idx++){ - // fprintf(stderr,"was here\n"); - fprintf(fh,"%.17e ", vesicle->filament_list->poly[i]->vlist->vtx[j]->c); - } - } - } - fprintf(fh,"</DataArray>\n"); - - fprintf(fh,"</PointData>\n<CellData>\n</CellData>\n<Points>\n<DataArray type=\"Float64\" Name=\"Koordinate tock\" NumberOfComponents=\"3\" format=\"ascii\">\n"); for(i=0;i<vlist->n;i++){ @@ -967,17 +940,24 @@ } } - + for(i=0;i<vesicle->tlist->n;i++){ + fprintf(fh,"%u %u %u\n", vesicle->tlist->tria[i]->vertex[0]->idx, vesicle->tlist->tria[i]->vertex[1]->idx, vesicle->tlist->tria[i]->vertex[2]->idx); + } fprintf(fh,"</DataArray>\n<DataArray type=\"Int64\" Name=\"offsets\" format=\"ascii\">"); for (i=2;i<(blist->n+monono*polyno+(fonono-1)*filno)*2+1;i+=2){ fprintf(fh,"%u ",i); } + for(j=i+1;j<i+3*(vesicle->tlist->n);j+=3){ //let's continue counting from where we left of + fprintf(fh,"%u ", j); + } fprintf(fh,"\n"); fprintf(fh,"</DataArray>\n<DataArray type=\"UInt8\" Name=\"types\" format=\"ascii\">\n"); - for (i=0;i<blist->n+monono*polyno+fonono*filno;i++){ + for (i=0;i<blist->n+monono*polyno+(fonono-1)*filno;i++){ fprintf(fh,"3 "); } - + for(i=0;i<vesicle->tlist->n;i++){ + fprintf(fh,"5 "); + } fprintf(fh,"</DataArray>\n</Cells>\n</Piece>\n</UnstructuredGrid>\n</VTKFile>\n"); fclose(fh); return TS_SUCCESS; -- Gitblit v1.9.3