source: issm/trunk-jpl/src/c/shared/TriMesh/OrderSegments.cpp@ 13622

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

CHG: cosmetics, removing all deboule blank lines and indent single white lines correctly

File size: 957 bytes
Line 
1/*
2 * OrderSegments.c:
3 * reorder segments so that their normals point outside the domain outline.
4 */
5#include "./trimesh.h"
6
7int OrderSegments(double** psegments,int nseg, double* index,int nel){
8
9 /*Error management: */
10 int i;
11 int noerr=1;
12
13 /*Input: */
14 double* segments=NULL;
15
16 /*vertex indices: */
17 double A,B;
18 /*element indices: */
19 int el;
20
21 /*Recover segments: */
22 segments=*psegments;
23
24 for (i=0;i<nseg;i++){
25 A=segments[3*i+0];
26 B=segments[3*i+1];
27 el=(int)segments[3*i+2]-1; //after AssociateSegmentToElement, el was a matlab index, we need the c index now.
28
29 if (index[3*el+0]==A){
30 if (index[3*el+2]==B){
31 segments[3*i+0]=B;
32 segments[3*i+1]=A;
33 }
34 }
35 else if (index[3*el+1]==A){
36 if (index[3*el+0]==B){
37 segments[3*i+0]=B;
38 segments[3*i+1]=A;
39 }
40 }
41 else{
42 if (index[3*el+1]==B){
43 segments[3*i+0]=B;
44 segments[3*i+1]=A;
45 }
46 }
47 }
48
49 /*Assign output pointers: */
50 *psegments=segments;
51 return noerr;
52}
Note: See TracBrowser for help on using the repository browser.