-// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2022 CEA/DEN, EDF R&D, OPEN CASCADE
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-// SMESH SMESH : implementaion of SMESH idl descriptions
+// SMESH SMESH : implementation of SMESH idl descriptions
// File : StdMeshers_FixedPoints1D.cxx
// Author : Damien COQUERET, OCC
// Module : SMESH
#include "SMESH_Algo.hxx"
#include "SMESH_Mesh.hxx"
-//#include <BRep_Tool.hxx>
-//#include <GCPnts_AbscissaPoint.hxx>
-//#include <GeomAdaptor_Curve.hxx>
-//#include <Geom_Curve.hxx>
-//#include <TopExp.hxx>
-//#include <TopLoc_Location.hxx>
-//#include <TopTools_IndexedMapOfShape.hxx>
-//#include <TopoDS.hxx>
-//#include <TopoDS_Edge.hxx>
-
using namespace std;
//=============================================================================
*/
//=============================================================================
-StdMeshers_FixedPoints1D::StdMeshers_FixedPoints1D(int hypId, int studyId,
- SMESH_Gen * gen)
- :SMESH_Hypothesis(hypId, studyId, gen)
+StdMeshers_FixedPoints1D::StdMeshers_FixedPoints1D(int hypId, SMESH_Gen * gen)
+ :StdMeshers_Reversible1D(hypId, gen)
{
_name = "FixedPoints1D";
- _param_algo_dim = 1;
+ _param_algo_dim = 1;
_nbsegs.reserve( 1 );
_nbsegs.push_back( 1 );
}
//=============================================================================
/*!
- *
+ *
*/
//=============================================================================
*/
//=============================================================================
-void StdMeshers_FixedPoints1D::SetPoints(std::vector<double>& listParams)
- throw(SALOME_Exception)
-{
- _params = listParams;
- NotifySubMeshesHypothesisModification();
-}
-
-//=============================================================================
-/*!
- *
- */
-//=============================================================================
-
-void StdMeshers_FixedPoints1D::SetNbSegments(std::vector<int>& listNbSeg)
- throw(SALOME_Exception)
+void StdMeshers_FixedPoints1D::SetPoints(const std::vector<double>& listParams)
{
- _nbsegs = listNbSeg;
- NotifySubMeshesHypothesisModification();
+ if ( _params != listParams )
+ {
+ _params = listParams;
+ NotifySubMeshesHypothesisModification();
+ }
}
//=============================================================================
/*!
- *
+ *
*/
//=============================================================================
-void StdMeshers_FixedPoints1D::SetReversedEdges( std::vector<int>& ids )
+void StdMeshers_FixedPoints1D::SetNbSegments(const std::vector<smIdType>& listNbSeg)
{
- if ( ids != _edgeIDs ) {
- _edgeIDs = ids;
-
+ if ( _nbsegs != listNbSeg )
+ {
+ _nbsegs = listNbSeg;
NotifySubMeshesHypothesisModification();
}
}
-//=============================================================================
-/*!
- *
- */
-//=============================================================================
-
ostream & StdMeshers_FixedPoints1D::SaveTo(ostream & save)
{
int listSize = _params.size();
//=============================================================================
/*!
- *
+ *
*/
//=============================================================================
istream & StdMeshers_FixedPoints1D::LoadFrom(istream & load)
{
bool isOK = true;
- int intVal;
+ smIdType intVal;
double dblVal;
- isOK = (load >> intVal);
+ isOK = static_cast<bool>(load >> intVal);
if (isOK && intVal > 0) {
_params.clear();
_params.reserve( intVal );
- for (int i = 0; i < _params.capacity() && isOK; i++) {
- isOK = (load >> dblVal);
+ for ( size_t i = 0; i < _params.capacity() && isOK; i++) {
+ isOK = static_cast<bool>(load >> dblVal);
if ( isOK ) _params.push_back( dblVal );
}
}
- isOK = (load >> intVal);
+ isOK = static_cast<bool>(load >> intVal);
if (isOK && intVal > 0) {
_nbsegs.clear();
_nbsegs.reserve( intVal );
- for (int i = 0; i < _nbsegs.capacity() && isOK; i++) {
- isOK = (load >> intVal);
+ for ( size_t i = 0; i < _nbsegs.capacity() && isOK; i++) {
+ isOK = static_cast<bool>(load >> intVal);
if ( isOK ) _nbsegs.push_back( intVal );
}
}
- isOK = (load >> intVal);
+ isOK = static_cast<bool>(load >> intVal);
if (isOK && intVal > 0) {
_edgeIDs.clear();
_edgeIDs.reserve( intVal );
- for (int i = 0; i < _edgeIDs.capacity() && isOK; i++) {
- isOK = (load >> intVal);
+ for ( size_t i = 0; i < _edgeIDs.capacity() && isOK; i++) {
+ isOK = static_cast<bool>(load >> intVal);
if ( isOK ) _edgeIDs.push_back( intVal );
}
}
- isOK = (load >> _objEntry);
+ isOK = static_cast<bool>(load >> _objEntry);
return load;
}
-//=============================================================================
-/*!
- *
- */
-//=============================================================================
-
-ostream & operator <<(ostream & save, StdMeshers_FixedPoints1D & hyp)
-{
- return hyp.SaveTo( save );
-}
-
-//=============================================================================
-/*!
- *
- */
-//=============================================================================
-
-istream & operator >>(istream & load, StdMeshers_FixedPoints1D & hyp)
-{
- return hyp.LoadFrom( load );
-}
-
//================================================================================
/*!
* \brief Initialize start and end length by the mesh built on the geometry
*/
//================================================================================
-bool StdMeshers_FixedPoints1D::SetParametersByDefaults(const TDefaults& dflts,
+bool StdMeshers_FixedPoints1D::SetParametersByDefaults(const TDefaults& /*dflts*/,
const SMESH_Mesh* /*mesh*/)
{
_nbsegs.reserve( 1 );