Salome HOME
SALOME PAL V1_4_1
[modules/smesh.git] / src / SMDS / SMDS_HexahedronOfNodes.cxx
index cebd29a119ddb59df55f096684da7b670a867d21..8682ad7708ad3e9f9d2b38af143559fcf6e8b438 100644 (file)
 /// 5,1 and 7,3 are an edges.
 ///////////////////////////////////////////////////////////////////////////////
 SMDS_HexahedronOfNodes::SMDS_HexahedronOfNodes(
-               SMDS_MeshNode * node1,
-               SMDS_MeshNode * node2,
-               SMDS_MeshNode * node3,
-               SMDS_MeshNode * node4,
-               SMDS_MeshNode * node5,
-               SMDS_MeshNode * node6,
-               SMDS_MeshNode * node7,
-               SMDS_MeshNode * node8)
+               const SMDS_MeshNode * node1,
+               const SMDS_MeshNode * node2,
+               const SMDS_MeshNode * node3,
+               const SMDS_MeshNode * node4,
+               const SMDS_MeshNode * node5,
+               const SMDS_MeshNode * node6,
+               const SMDS_MeshNode * node7,
+               const SMDS_MeshNode * node8)
 {
        myNodes[0]=node1;
        myNodes[1]=node2;
@@ -75,18 +75,18 @@ int SMDS_HexahedronOfNodes::NbEdges() const
        return 12;
 }
 
-SMDS_Iterator<const SMDS_MeshElement *> * SMDS_HexahedronOfNodes::
+SMDS_ElemIteratorPtr SMDS_HexahedronOfNodes::
        elementsIterator(SMDSAbs_ElementType type) const
 {
-       switch(type)
-       {
-       case SMDSAbs_Volume:
-               return SMDS_MeshElement::elementsIterator(SMDSAbs_Volume);
-       case SMDSAbs_Node:
-               return new SMDS_IteratorOfArray<const SMDS_MeshElement *, 8,
-                       const SMDS_MeshNode*>(myNodes);
-       default: MESSAGE("ERROR : Iterator not implemented");
-       }
+  switch(type)
+  {
+  case SMDSAbs_Volume:
+    return SMDS_MeshElement::elementsIterator(SMDSAbs_Volume);
+  case SMDSAbs_Node:
+    return SMDS_ElemIteratorPtr (new SMDS_IteratorOfArray<const SMDS_MeshElement *, 8,
+                                 const SMDS_MeshNode*>(myNodes));
+  default: MESSAGE("ERROR : Iterator not implemented");
+  }
 }
 
 SMDSAbs_ElementType SMDS_HexahedronOfNodes::GetType() const