X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FSMESH%2FSMESH_2D_Algo.cxx;fp=src%2FSMESH%2FSMESH_2D_Algo.cxx;h=f42d78a6b6d457d892c15ed594ca3ef255f2fafa;hb=0b959120c59670d73c0a1f6d46bfa72a6ceb49cf;hp=0000000000000000000000000000000000000000;hpb=6b640d82d87b7e45e2a1a0637ef41c3b56773be6;p=modules%2Fsmesh.git diff --git a/src/SMESH/SMESH_2D_Algo.cxx b/src/SMESH/SMESH_2D_Algo.cxx new file mode 100644 index 000000000..f42d78a6b --- /dev/null +++ b/src/SMESH/SMESH_2D_Algo.cxx @@ -0,0 +1,117 @@ +using namespace std; +//============================================================================= +// File : SMESH_2D_Algo.cxx +// Created : sam mai 18 09:23:44 CEST 2002 +// Author : Paul RASCLE, EDF +// Project : SALOME +// Copyright : EDF 2002 +// $Header$ +//============================================================================= +using namespace std; + +#include "SMESH_2D_Algo.hxx" +#include "SMESH_Gen.hxx" + +#include "utilities.h" + +//============================================================================= +/*! + * + */ +//============================================================================= + +SMESH_2D_Algo::SMESH_2D_Algo(int hypId, int studyId, SMESH_Gen* gen) + : SMESH_Algo(hypId, studyId, gen) +{ +// _compatibleHypothesis.push_back("hypothese_2D_bidon"); + _type = ALGO_2D; + gen->_map2D_Algo[hypId] = this; +} + +//============================================================================= +/*! + * + */ +//============================================================================= + +SMESH_2D_Algo::~SMESH_2D_Algo() +{ +} + +//============================================================================= +/*! + * + */ +//============================================================================= + +ostream & SMESH_2D_Algo::SaveTo(ostream & save) +{ + return save << this; +} + +//============================================================================= +/*! + * + */ +//============================================================================= + +istream & SMESH_2D_Algo::LoadFrom(istream & load) +{ + return load >> (*this); +} + +//============================================================================= +/*! + * + */ +//============================================================================= + +ostream& operator << (ostream & save, SMESH_2D_Algo & hyp) +{ + return save; +} + +//============================================================================= +/*! + * + */ +//============================================================================= + +istream& operator >> (istream & load, SMESH_2D_Algo & hyp) +{ + return load; +} + +//============================================================================= +/*! + * + */ +//============================================================================= + +int SMESH_2D_Algo::NumberOfWires(const TopoDS_Shape& S) +{ + int i = 0; + for (TopExp_Explorer exp(S,TopAbs_WIRE); exp.More(); exp.Next()) + i++; + return i; +} + +//============================================================================= +/*! + * + */ +//============================================================================= + +int SMESH_2D_Algo::NumberOfPoints(SMESH_Mesh& aMesh, const TopoDS_Wire& W) +{ + int nbPoints = 0; + for (TopExp_Explorer exp(W,TopAbs_EDGE); exp.More(); exp.Next()) + { + const TopoDS_Edge& E = TopoDS::Edge(exp.Current()); + int nb = aMesh.GetSubMesh(E)->GetSubMeshDS()->NbNodes(); + //SCRUTE(nb); + nbPoints += nb +1; // internal points plus 1 vertex of 2 (last point ?) + } + //SCRUTE(nbPoints); + return nbPoints; +}