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

Last change on this file since 13813 was 13813, checked in by Mathieu Morlighem, 12 years ago

CHG: more cppcheck issues

File size: 1.4 KB
Line 
1/*! \file ContourToNodesx.c
2 */
3
4#include "./ContourToNodesx.h"
5
6int ContourToNodesx(SeqVec<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 SeqVec<IssmPDouble>* flags=NULL;
18 flags=new SeqVec<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 /*Assemble vector: */
30 flags->Assemble();
31
32 /*Assign output pointers: */
33 *pflags=flags;
34 return 1;
35}
36
37int ContourToNodesx(SeqVec<IssmPDouble>** pflags,double* x, double* y, int nods, DataSet* contours, int edgevalue){
38
39 /*Contour:*/
40 Contour<IssmPDouble>* contouri=NULL;
41 double* xc=NULL;
42 double* yc=NULL;
43
44 /*output: */
45 SeqVec<IssmPDouble>* flags=NULL;
46 flags=new SeqVec<IssmPDouble>(nods);
47
48 /*Loop through all contours: */
49 if(contours){
50 for(int i=0;i<contours->Size();i++){
51 Contour<IssmPDouble>* contour=(Contour<IssmPDouble>*)contours->GetObjectByOffset(i);
52 IsInPoly(flags,contour->x,contour->y,contour->nods,x,y,0,nods,edgevalue);
53 }
54 }
55
56 /*Assemble vector: */
57 flags->Assemble();
58
59 /*Assign output pointers: */
60 *pflags=flags;
61 return 1;
62}
Note: See TracBrowser for help on using the repository browser.