// tri_split.java split each triangle into four similar triangles class tri_split { // tri_split split triangles, each one becomes four triangles // similar to the original // all arrays must be big enough for return // rtn[0] is ntri, rtn[1] is nbound, rtn[2] is ncoord // rtn[3] is nvert, rtn[4] is nfree, rtn[5] is nuniqueb // ntri triangles, t1,t2,t3 are index into xc,yc // nbound boundary edges, b1,b2 index into xc,yc // ncoord vertices or nodes, index order, start at zero tri_split(int ntri, int t1[], int t2[], int t3[], int nbound, int b1[], int b2[], int ncoord, double xc[], double yc[], int uniqueb[], int rtn[]) { int j12, j23, j31; int nvert, nntri, nnbound, nfree, nuniqueb; int i1, i2, i3; int nboundt; double x1, y1, x2, y2, x3, y3; nvert=ncoord; nntri=ntri; nnbound=nbound; nboundt=nbound; for(int i=0; ia[i-1]) { j++; a[j]=a[i]; } } j++; return j; } // end uniqueint void sortint(int n, int a[]) { int i, j, temp; for(i=0; ia[j]) {temp=a[i]; a[i]=a[j]; a[j]=temp;} } // end sortint } // end class tri_split