All pastes #1269888 Raw Edit

vrml2.txt

public c v1 · immutable
#1269888 ·published 2008-11-29 01:41 UTC
rendered paste body
// writes a version 2 vrml file by Lawrence Glaister VE7IT Nov 2008void myfon_writewrl(MYMESH *mymesh_,FILE *fileout_){ int i_,ii_,j_,k_,ilast_; fprintf(fileout_,"#VRML V2.0 utf8\n");  fprintf(fileout_,"Transform\n"); fprintf(fileout_,"{\n"); fprintf(fileout_,"  children\n"); fprintf(fileout_,"  [\n"); fprintf(fileout_,"    Shape\n"); fprintf(fileout_,"    {\n"); fprintf(fileout_,"      # number of triangles %d\n",mymesh_->ntriangles); fprintf(fileout_,"      appearance Appearance\n"); fprintf(fileout_,"      {\n"); fprintf(fileout_,"        material Material\n"); fprintf(fileout_,"        {\n"); fprintf(fileout_,"          diffuseColor 0 1 1\n"); fprintf(fileout_,"        }\n"); fprintf(fileout_,"      }\n"); fprintf(fileout_,"      geometry IndexedFaceSet\n");  fprintf(fileout_,"      {\n"); fprintf(fileout_,"        coordIndex\n");  fprintf(fileout_,"        [\n"); ilast_=(mymesh_->ntriangles)-1; // loop to write out all the index points .. really just 0,1,3... 998,999,1000... for(i_=0; i_<mymesh_->ntriangles; i_++) {     fprintf(fileout_,"          %d,%d,%d",3*i_,3*i_+1,3*i_+2);     if(i_==ilast_)        fprintf(fileout_,"\n");     else        fprintf(fileout_,",-1,\n"); } fprintf(fileout_,"        ]  #end of coordIndex list\n"); fprintf(fileout_,"        coord Coordinate\n");         fprintf(fileout_,"        {\n"); fprintf(fileout_,"          point\n");  fprintf(fileout_,"          [\n");	 // loop to write out all vertices in mesh for(ii_=0; ii_<mymesh_->ntriangles; ii_++) {     i_=ii_;     for(j_=0; j_<3; j_++)     {        k_=mymesh_->triangles[i_].v[j_];        fprintf(fileout_,"            %9.4f  %9.4f %9.4f",                                  (mymesh_->vertices[k_].x[0]),                                  (mymesh_->vertices[k_].x[1]),                                  (mymesh_->vertices[k_].x[2]));        if(j_==2)        {           if(i_==ilast_)              fprintf(fileout_,"\n");           else              fprintf(fileout_,",\n");        }        else        {           fprintf(fileout_,",\n");        }     } } fprintf(fileout_,"          ]  #end of triangle point list\n"); fprintf(fileout_,"        }  #end of triangle verticles list\n"); fprintf(fileout_,"      }  # end of IndexedFaceSet\n"); fprintf(fileout_,"    } #end of shape\n"); fprintf(fileout_,"  ]  # end of children\n"); fprintf(fileout_,"}  # end of Transform\n"); fflush(fileout_);}