]> SALOME platform Git repositories - modules/smesh.git/blobdiff - src/SMDS/SMDS_MeshQuadrangle.cxx
Salome HOME
NRI : First integration.
[modules/smesh.git] / src / SMDS / SMDS_MeshQuadrangle.cxx
diff --git a/src/SMDS/SMDS_MeshQuadrangle.cxx b/src/SMDS/SMDS_MeshQuadrangle.cxx
new file mode 100644 (file)
index 0000000..6482a1d
--- /dev/null
@@ -0,0 +1,62 @@
+using namespace std;
+// File:       SMDS_MeshQuadrangle.cxx
+// Created:    Wed Jan 23 17:02:27 2002
+// Author:     Jean-Michel BOULCOURT
+//             <jmb@coulox.paris1.matra-dtv.fr>
+
+
+#include "SMDS_MeshQuadrangle.ixx"
+
+
+
+//=======================================================================
+//function : SMDS_MeshQuadrangle
+//purpose  : 
+//=======================================================================
+
+SMDS_MeshQuadrangle::SMDS_MeshQuadrangle(const Standard_Integer ID,
+                                        const Standard_Integer idnode1, 
+                                        const Standard_Integer idnode2, 
+                                        const Standard_Integer idnode3,
+                                        const Standard_Integer idnode4):SMDS_MeshFace(ID,4)
+{
+  SetConnections(idnode1,idnode2,idnode3,idnode4);
+  ComputeKey();
+}
+
+
+
+//=======================================================================
+//function : SetConnections
+//purpose  : 
+//=======================================================================
+void SMDS_MeshQuadrangle::SetConnections(const Standard_Integer        idnode1, 
+                                        const Standard_Integer idnode2,
+                                        const Standard_Integer idnode3,
+                                        const Standard_Integer idnode4)
+{
+  Standard_Integer idmin = (idnode1 < idnode2 ? idnode1 : idnode2);
+  idmin = (idmin < idnode3 ? idmin : idnode3);
+  idmin = (idmin < idnode4 ? idmin : idnode4);
+  
+  myNodes[0] = idmin;
+  if (idmin == idnode1) {
+    myNodes[1] = idnode2;
+    myNodes[2] = idnode3;
+    myNodes[3] = idnode4;
+  } else if (idmin == idnode2) {
+    myNodes[1] = idnode3;
+    myNodes[2] = idnode4;
+    myNodes[3] = idnode1;
+  } else if (idmin == idnode3) {
+    myNodes[1] = idnode4;
+    myNodes[2] = idnode1;
+    myNodes[3] = idnode2;
+  } else {
+    myNodes[1] = idnode1;
+    myNodes[2] = idnode2;
+    myNodes[3] = idnode3;
+  }
+
+}
+