Changeset 12604
- Timestamp:
- 07/03/12 09:17:57 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp
r12600 r12604 51 51 /*read background mesh*/ 52 52 Mesh Th(index_data,x_data,y_data,nods_data,nels_data); 53 54 /*Get reference number (for subdomains)*/ 55 long* reft = xNew<long>(Th.nbt); 56 Th.TriangleReferenceList(reft); 53 57 Th.CreateSingleVertexToTriangleConnectivity(); 54 58 … … 56 60 for(i=0;i<N_interp;i++){ 57 61 58 / /Get current point coordinates62 /*Get current point coordinates*/ 59 63 r.x=x_interp[i]; r.y=y_interp[i]; 60 64 I2 I=Th.R2ToI2(r); 61 65 62 / /Find triangle holding r/I66 /*Find triangle holding r/I*/ 63 67 Triangle &tb=*Th.TriangleFindFromCoord(I,dete); 64 68 65 / / internal point69 /*point inside convex*/ 66 70 if (tb.det>0){ 67 //Area coordinate 71 72 /*Area coordinates*/ 68 73 areacoord[0]= (double) dete[0]/tb.det; 69 74 areacoord[1]= (double) dete[1]/tb.det; 70 75 areacoord[2]= (double) dete[2]/tb.det; 71 / /3 vertices of the triangle76 /*3 vertices of the triangle*/ 72 77 i0=Th.GetId(tb[0]); 73 78 i1=Th.GetId(tb[1]); 74 79 i2=Th.GetId(tb[2]); 75 / /triangle number80 /*triangle number*/ 76 81 it=Th.GetId(tb); 82 83 /*Inside convex but outside mesh*/ 84 if (reft[it]<0 & isdefault){ 85 for(j=0;j<N_data;j++) data_interp[i*N_data+j]=defaultvalue; 86 continue; 87 } 77 88 } 78 89 //external point … … 115 126 } 116 127 117 /*Assign output pointers:*/ 128 /*clean-up and return*/ 129 xDelete<long>(reft); 118 130 *pdata_interp=data_interp; 119 120 /*No error return*/121 131 return 1; 122 132 }
Note:
See TracChangeset
for help on using the changeset viewer.