source: issm/trunk-jpl/src/c/modules/ContourToNodesx/ContourToNodesx.cpp@ 14968

Last change on this file since 14968 was 14968, checked in by seroussi, 12 years ago

BUG: fixed problem with contourToMesh and ContourToNodes

File size: 1.2 KB
Line 
1/*! \file ContourToNodesx.c
2 */
3
4#include "./ContourToNodesx.h"
5
6int ContourToNodesx(IssmPDouble** pflags,double* x, double* y, int nods, Contour<IssmPDouble>** contours,int numcontours,int edgevalue){
7
8 int i;
9
10 /*Contour:*/
11 Contour<IssmPDouble>* contouri=NULL;
12 int numnodes;
13 double* xc=NULL;
14 double* yc=NULL;
15
16 /*output: */
17 IssmPDouble* flags=NULL;
18 flags=xNew<IssmPDouble>(nods);
19
20 /*Loop through all contours: */
21 for (i=0;i<numcontours;i++){
22 contouri=*(contours+i);
23 numnodes=contouri->nods;
24 xc=contouri->x;
25 yc=contouri->y;
26 IsInPoly(flags,xc,yc,numnodes,x,y,0,nods,edgevalue);
27 }
28
29 /*Assign output pointers: */
30 *pflags=flags;
31 return 1;
32}
33
34int ContourToNodesx(IssmPDouble** pflags,double* x, double* y, int nods, DataSet* contours, int edgevalue){
35
36 /*Contour:*/
37 Contour<IssmPDouble>* contouri=NULL;
38 double* xc=NULL;
39 double* yc=NULL;
40
41 /*output: */
42 IssmPDouble* flags=NULL;
43 flags=xNewZeroInit<IssmPDouble>(nods);
44
45 /*Loop through all contours: */
46 if(contours){
47 for(int i=0;i<contours->Size();i++){
48 Contour<IssmPDouble>* contour=(Contour<IssmPDouble>*)contours->GetObjectByOffset(i);
49 IsInPoly(flags,contour->x,contour->y,contour->nods,x,y,0,nods,edgevalue);
50 }
51 }
52
53 /*Assign output pointers: */
54 *pflags=flags;
55 return 1;
56}
Note: See TracBrowser for help on using the repository browser.