-// ====================================================== getPerpendicularEdge
-Edge* Hexa::getPerpendicularEdge (Quad* quad, Vertex* vertex)
+// ====================================================== opposedVertex
+Vertex* Hexa::opposedVertex (Quad* quad, Vertex* vertex)
+{
+ if (quad==NULL || vertex==NULL)
+ return NULL;
+
+ int nv = quad->indexVertex (vertex);
+ int nq = findQuad (quad);
+ if (nv<0 || nq<0)
+ return NULL;
+
+ for (int nro=0 ; nro<HE_MAXI ; nro++)
+ {
+ Edge* edge = h_edge [nro];
+ int nv = edge->index (vertex);
+ if (nv>=0 && quad->indexEdge(edge) <0)
+ return edge->getVertex (1-nv);
+ }
+
+ return NULL;
+}
+// ====================================================== perpendicularEdge
+Edge* Hexa::perpendicularEdge (Quad* quad, Vertex* vertex)