Changeset 7658
- Timestamp:
- 03/18/11 14:21:54 (14 years ago)
- Location:
- issm/trunk/src/c/modules/KMLMeshWritex
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/modules/KMLMeshWritex/KMLMeshWritex.cpp
r7654 r7658 15 15 double* lat, double* lng, 16 16 int* part, 17 double* data, 17 double* data, int mdata, int ndata, 18 18 double* cmap, int mcmap, int ncmap, 19 19 FILE* fid){ 20 20 21 int i,ipt=0; 22 int lwidth=1; 23 double popac=0.50; 24 char indent[81]=" "; 21 int i,j,k,ipt=0,jpt=0; 22 int lwidth=1; 23 double popac=0.50; 24 char indent[81]=" "; 25 double* edata=NULL; 25 26 KML_Document* kdoc=NULL; 26 27 KML_Style* kstyle; … … 88 89 if (cmap) { 89 90 _printf_(true,"Writing %d Matlab colors as KML style templates.\n",mcmap); 91 ipt=0; 90 92 for (i=0; i<mcmap; i++) { 91 93 klsty=new KML_LineStyle(); … … 105 107 kstyle->poly =kpsty; 106 108 (kdoc->style )->AddObject((Object*)kstyle); 107 ipt =ipt+ncmap;109 ipt+=ncmap; 108 110 } 109 111 } 110 112 // kdoc->DeepEcho(); 113 114 /* average nodal data to element data, if necessary */ 115 116 if (data) { 117 if (mdata == melem) 118 edata=data; 119 else if (mdata == mncon) { 120 _printf_(true,"Averaging nodal data to element data.\n"); 121 edata=(double *) xcalloc(melem*ndata,sizeof(double)); 122 ipt=0; 123 jpt=0; 124 for (i=0; i<melem; i++) { 125 for (j=0; j<nelem; j++) { 126 for (k=0; k<ndata; k++) 127 edata[ipt+k]+=data[(elem[jpt]-1)*ndata+k]; 128 jpt++; 129 } 130 for (k=0; k<ndata; k++) 131 edata[ipt+k]/=(double)nelem; 132 ipt+=ndata; 133 } 134 } 135 else 136 _error_("Data has incorrect number of %d rows.\n",mdata); 137 } 111 138 112 139 /* write folder for mesh */ … … 115 142 nodecon,mncon,nncon, 116 143 lat,lng, 117 data,144 edata, 118 145 cmap,mcmap,ncmap)); 119 146 147 if (mdata == mncon) xfree((void**)&edata); 120 148 clock0a=clock(); 121 149 time0a =time(NULL); … … 156 184 double* cmap, int mcmap, int ncmap){ 157 185 158 int i,j,ipt=0;159 double alt=10000;160 double cmin= DBL_MAX,161 cmax=-DBL_MAX;162 int imap;186 int i,j,ipt=0; 187 double alt=10000; 188 double cmin= DBL_MAX, 189 cmax=-DBL_MAX; 190 int imap; 163 191 KML_Folder* kfold =NULL; 164 192 KML_Placemark* kplace=NULL; … … 234 262 (kfold ->feature )->AddObject((Object*)kplace); 235 263 236 if (!(int)fmod((double)(i+1),1000) || (i+1)==melem)237 _printf_(true," %d tria elements written.\n",(i+1));264 // if (!(int)fmod((double)(i+1),1000)) 265 // _printf_(true," %d tria elements written.\n",(i+1)); 238 266 } 267 _printf_(true," %d tria elements written.\n",melem); 239 268 240 269 return(kfold); -
issm/trunk/src/c/modules/KMLMeshWritex/KMLMeshWritex.h
r7654 r7658 17 17 double* lat, double* lng, 18 18 int* part, 19 double* data, 19 double* data, int mdata, int ndata, 20 20 double* cmap, int mcmap, int ncmap, 21 21 FILE* fid);
Note:
See TracChangeset
for help on using the changeset viewer.