]> SALOME platform Git repositories - modules/smesh.git/blobdiff - src/SMESH/SMESH_Hypothesis.cxx
Salome HOME
NRI : First integration.
[modules/smesh.git] / src / SMESH / SMESH_Hypothesis.cxx
diff --git a/src/SMESH/SMESH_Hypothesis.cxx b/src/SMESH/SMESH_Hypothesis.cxx
new file mode 100644 (file)
index 0000000..fa09221
--- /dev/null
@@ -0,0 +1,116 @@
+using namespace std;
+//=============================================================================
+// File      : SMESH_Hypothesis.cxx
+// Created   : sam mai 18 08:08:50 CEST 2002
+// Author    : Paul RASCLE, EDF
+// Project   : SALOME
+// Copyright : EDF 2002
+// $Header$
+//=============================================================================
+using namespace std;
+
+#include "SMESH_Hypothesis.hxx"
+#include "SMESH_Gen.hxx"
+#include "utilities.h"
+
+//=============================================================================
+/*!
+ * 
+ */
+//=============================================================================
+
+SMESH_Hypothesis::SMESH_Hypothesis(int hypId,
+                                  int studyId,
+                                  SMESH_Gen* gen) : SMESHDS_Hypothesis(hypId)
+{
+  //MESSAGE("SMESH_Hypothesis::SMESH_Hypothesis");
+  _gen = gen;
+  _studyId = studyId;
+  StudyContextStruct* myStudyContext = _gen->GetStudyContext(_studyId);
+  myStudyContext->mapHypothesis[_hypId] = this;
+  _type = PARAM_ALGO;
+//   _shapeType = -1; // to be set by algo with TopAbs_Enum
+  _shapeType = 0; // to be set by algo with TopAbs_Enum
+}
+
+//=============================================================================
+/*!
+ * 
+ */
+//=============================================================================
+
+SMESH_Hypothesis::~SMESH_Hypothesis()
+{
+  MESSAGE("SMESH_Hypothesis::~SMESH_Hypothesis");
+}
+
+//=============================================================================
+/*!
+ * 
+ */
+//=============================================================================
+
+int SMESH_Hypothesis::GetDim()
+{
+  int dim = -1;
+  switch (_type)
+    {
+    case ALGO_1D: dim = 1; break;
+    case ALGO_2D: dim = 2; break;
+    case ALGO_3D: dim = 3; break;
+    }
+  return dim;
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+int SMESH_Hypothesis::GetShapeType()
+{
+  return _shapeType;
+}
+
+//=============================================================================
+/*!
+ * 
+ */
+//=============================================================================
+
+int SMESH_Hypothesis::GetStudyId()
+{
+  return _studyId;
+}
+
+//=============================================================================
+/*!
+ * 
+ */
+//=============================================================================
+
+void SMESH_Hypothesis::NotifySubMeshesHypothesisModification()
+{
+  MESSAGE("SMESH_Hypothesis::NotifySubMeshesHypothesisModification");
+
+  // for all meshes in study
+
+  StudyContextStruct* myStudyContext = _gen->GetStudyContext(_studyId);
+  map<int, SMESH_Mesh*>::iterator itm;
+  for (itm = myStudyContext->mapMesh.begin();
+       itm != myStudyContext->mapMesh.end();
+       itm++)
+    {
+      SMESH_Mesh* mesh = (*itm).second;
+      const list<SMESH_subMesh*>& subMeshes =
+        mesh->GetSubMeshUsingHypothesis(this);
+
+      //for all subMeshes using hypothesis
+       
+      list<SMESH_subMesh*>::const_iterator its;
+      for (its = subMeshes.begin(); its != subMeshes.end(); its++)
+       (*its)->ComputeStateEngine(SMESH_subMesh::MODIF_HYP);
+    }
+}
+