2 #include "refine.decl.h"
6 extern CProxy_chunk mesh;
9 void edgeRef::update(elemRef& oldval, elemRef& newval, int b)
11 mesh[cid].updateElement(idx, oldval, newval, b);
14 elemRef edgeRef::getNbr(elemRef m)
17 rm2 = mesh[cid].getNbr(idx, m);
18 elemRef result((elemRef&)rm2->aRef);
23 void edgeRef::remove()
25 mesh[cid].removeEdge(idx);
28 int edgeRef::split(int *m, edgeRef *e_prime, int oIdx, int fIdx,
29 elemRef requester, int *local, int *first,
34 som = mesh[cid].split(idx, requester, oIdx, fIdx);
39 *nullNbr = som->nullNbr;
45 void edgeRef::collapse(elemRef requester, int kIdx, int dIdx, elemRef kNbr,
46 elemRef dNbr, edgeRef kEdge, edgeRef dEdge, node newN,
49 mesh[cid].collapse(idx, requester, kIdx, dIdx, kNbr, dNbr, kEdge,
53 int edgeRef::flipPrevent(elemRef requester, int kIdx, int dIdx, elemRef kNbr,
54 elemRef dNbr, edgeRef kEdge, edgeRef dEdge, node newN)
58 som = mesh[cid].flipPreventE(idx, requester, kIdx, dIdx, kNbr, dNbr, kEdge,
65 int edgeRef::isPending(elemRef e)
69 im = mesh[cid].isPending(idx, e);
75 int edgeRef::getBoundary()
79 im = mesh[cid].getBoundary(idx);
85 void edgeRef::resetEdge()
87 mesh[cid].resetEdge(idx);
90 void edgeRef::checkPending(elemRef e)
92 mesh[cid].checkPending(idx, e);
95 void edgeRef::checkPending(elemRef e, elemRef ne)
97 mesh[cid].checkPending(idx, e, ne);
101 double elemRef::getArea()
105 dm = mesh[cid].getArea(idx);
106 result = dm->aDouble;
111 void elemRef::update(edgeRef& oldval, edgeRef& newval)
113 mesh[cid].updateElementEdge(idx, oldval, newval);
116 void elemRef::setTargetArea(double ta)
118 mesh[cid].setTargetArea(idx, ta);
121 void elemRef::resetTargetArea(double ta)
123 mesh[cid].resetTargetArea(idx, ta);
126 void elemRef::remove()
128 mesh[cid].removeElement(idx);
131 //void elemRef::collapseHelp(edgeRef er, node n1, node n2)
133 // mesh[cid].collapseHelp(idx, er, n1, n2);