% order the edges/nodes in a given face so that the nodes % form a closed path and are ordered counterclockwise % function [local_node_list]=... order_face_nodes_tria1(Node,Edge,Face,iface) % ------------------- make an oriented local copy of the nodes local_node_list(1) = Edge(1,Face(1,iface)); local_node_list(2) = Edge(2,Face(1,iface)); if( (Edge(1,Face(2,iface)) ~= local_node_list(1)) ... &(Edge(1,Face(2,iface)) ~= local_node_list(2))), local_node_list(3) = Edge(1,Face(2,iface)); else local_node_list(3) = Edge(2,Face(2,iface)); end % ------- ensure counterclock orientation vec_prod=((Node(1,local_node_list(2))-Node(1,local_node_list(1)))... *(Node(2,local_node_list(3))-Node(2,local_node_list(1))))... -((Node(1,local_node_list(3))-Node(1,local_node_list(1)))... *(Node(2,local_node_list(2))-Node(2,local_node_list(1)))); if (vec_prod < 0), % if clockwise qq=local_node_list(2); local_node_list(2)=local_node_list(3); local_node_list(3)=qq; end return %