Regression of BelongToGeom on Debian-6

(SMESH_Controls* )

- Optimize mesh deletion (ObjectPool.hxx)
- Memory leaks (SMESH_Gen_i.cxx)
- Usage of uninitialized vars ( SMESHGUI_MeshOp.cxx )
- Minimize nb of #include in headers (the rest files)
This commit is contained in:
eap 2016-06-29 20:53:22 +03:00
parent cdc7526bd1
commit 386c76ea03
51 changed files with 238 additions and 117 deletions

View File

@ -3220,7 +3220,7 @@ bool RangeOfIds::SetRangeStr( const TCollection_AsciiString& theStr )
{
char c = aStr.Value( i );
if ( !isdigit( c ) && c != ',' && c != '-' )
aStr.SetValue( i, ' ');
aStr.SetValue( i, ',');
}
aStr.RemoveAll( ' ' );
@ -4097,7 +4097,8 @@ namespace {
struct ElementsOnShape::Classifier
{
//Classifier(const TopoDS_Shape& s, double tol) { Init(s,tol); }
Classifier() { mySolidClfr = 0; myFlags = 0; }
~Classifier();
void Init(const TopoDS_Shape& s, double tol, const Bnd_B3d* box = 0 );
bool IsOut(const gp_Pnt& p) { return SetChecked( true ), (this->*myIsOutFun)( p ); }
TopAbs_ShapeEnum ShapeType() const { return myShape.ShapeType(); }
@ -4108,6 +4109,7 @@ struct ElementsOnShape::Classifier
void SetChecked( bool is ) { is ? SetFlag( theIsCheckedFlag ) : UnsetFlag( theIsCheckedFlag ); }
void SetFlag ( int flag ) { myFlags |= flag; }
void UnsetFlag( int flag ) { myFlags &= ~flag; }
private:
bool isOutOfSolid (const gp_Pnt& p);
bool isOutOfBox (const gp_Pnt& p);
@ -4116,15 +4118,15 @@ private:
bool isOutOfVertex(const gp_Pnt& p);
bool isBox (const TopoDS_Shape& s);
bool (Classifier::* myIsOutFun)(const gp_Pnt& p);
BRepClass3d_SolidClassifier mySolidClfr;
Bnd_B3d myBox;
GeomAPI_ProjectPointOnSurf myProjFace;
GeomAPI_ProjectPointOnCurve myProjEdge;
gp_Pnt myVertexXYZ;
TopoDS_Shape myShape;
double myTol;
int myFlags;
bool (Classifier::* myIsOutFun)(const gp_Pnt& p);
BRepClass3d_SolidClassifier* mySolidClfr; // ptr because of a run-time forbidden copy-constructor
Bnd_B3d myBox;
GeomAPI_ProjectPointOnSurf myProjFace;
GeomAPI_ProjectPointOnCurve myProjEdge;
gp_Pnt myVertexXYZ;
TopoDS_Shape myShape;
double myTol;
int myFlags;
};
struct ElementsOnShape::OctreeClassifier : public SMESH_Octree
@ -4364,6 +4366,7 @@ void ElementsOnShape::Classifier::Init( const TopoDS_Shape& theShape,
{
myShape = theShape;
myTol = theTol;
myFlags = 0;
bool isShapeBox = false;
switch ( myShape.ShapeType() )
@ -4376,7 +4379,7 @@ void ElementsOnShape::Classifier::Init( const TopoDS_Shape& theShape,
}
else
{
mySolidClfr.Load(theShape);
mySolidClfr = new BRepClass3d_SolidClassifier(theShape);
myIsOutFun = & ElementsOnShape::Classifier::isOutOfSolid;
}
break;
@ -4432,10 +4435,15 @@ void ElementsOnShape::Classifier::Init( const TopoDS_Shape& theShape,
}
}
ElementsOnShape::Classifier::~Classifier()
{
delete mySolidClfr; mySolidClfr = 0;
}
bool ElementsOnShape::Classifier::isOutOfSolid (const gp_Pnt& p)
{
mySolidClfr.Perform( p, myTol );
return ( mySolidClfr.State() != TopAbs_IN && mySolidClfr.State() != TopAbs_ON );
mySolidClfr->Perform( p, myTol );
return ( mySolidClfr->State() != TopAbs_IN && mySolidClfr->State() != TopAbs_ON );
}
bool ElementsOnShape::Classifier::isOutOfBox (const gp_Pnt& p)
@ -4524,7 +4532,7 @@ OctreeClassifier::OctreeClassifier( const OctreeClassifier*
}
else if ( otherTree->myChildren )
{
myChildren = new SMESH_Tree < Bnd_B3d, 8 >*[ 8 ];
myChildren = new SMESH_Tree< Bnd_B3d, 8 > * [ 8 ];
for ( int i = 0; i < nbChildren(); i++ )
myChildren[i] =
new OctreeClassifier( static_cast<const OctreeClassifier*>( otherTree->myChildren[i]),

View File

@ -25,7 +25,6 @@
#include "SMESH_Controls.hxx"
#include "SMDS_MeshNode.hxx"
#include "SMESH_TypeDefs.hxx"
#include <BRepClass3d_SolidClassifier.hxx>

View File

@ -44,6 +44,7 @@ private:
int _chunkSize;
int _maxOccupied;
int _nbHoles;
int _lastDelChunk;
int getNextFree()
{
@ -84,6 +85,7 @@ public:
_nbHoles = 0;
_chunkList.clear();
_freeList.clear();
_lastDelChunk = 0;
}
virtual ~ObjectPool()
@ -126,27 +128,30 @@ public:
void destroy(X* obj)
{
long adrobj = (long) (obj);
for (size_t i = 0; i < _chunkList.size(); i++)
size_t i = 0;
if ( obj >= _chunkList[ _lastDelChunk ] &&
obj < _chunkList[ _lastDelChunk ] + _chunkSize )
i = _lastDelChunk;
else
for ( ; i < _chunkList.size(); i++ )
{
X* chunk = _chunkList[i];
long adrmin = (long) (chunk);
if (adrobj < adrmin)
continue;
long adrmax = (long) (chunk + _chunkSize);
if (adrobj >= adrmax)
continue;
int rank = (adrobj - adrmin) / sizeof(X);
int toFree = i * _chunkSize + rank;
_freeList[toFree] = true;
if (toFree < _nextFree)
_nextFree = toFree;
if (toFree < _maxOccupied)
_nbHoles += 1;
//obj->clean();
//checkDelete(i); compactage non fait
break;
if ( obj >= _chunkList[ i ] &&
obj < _chunkList[ i ] + _chunkSize )
break;
}
X* chunk = _chunkList[i];
long adrobj = (long) (obj);
long adrmin = (long) (chunk);
int rank = (adrobj - adrmin) / sizeof(X);
int toFree = i * _chunkSize + rank;
_freeList[toFree] = true;
if (toFree < _nextFree)
_nextFree = toFree;
if (toFree < _maxOccupied)
_nbHoles += 1;
_lastDelChunk = i;
//obj->clean();
//checkDelete(i); compactage non fait
}
void clear()
@ -155,6 +160,7 @@ public:
_maxAvail = 0;
_maxOccupied = 0;
_nbHoles = 0;
_lastDelChunk = 0;
for (size_t i = 0; i < _chunkList.size(); i++)
delete[] _chunkList[i];
clearVector( _chunkList );

View File

@ -494,10 +494,11 @@ SMESH_Algo::GetCompatibleHypoFilter(const bool ignoreAuxiliary) const
*/
//================================================================================
GeomAbs_Shape SMESH_Algo::Continuity(TopoDS_Edge E1,
TopoDS_Edge E2)
GeomAbs_Shape SMESH_Algo::Continuity(const TopoDS_Edge& theE1,
const TopoDS_Edge& theE2)
{
//E1.Orientation(TopAbs_FORWARD), E2.Orientation(TopAbs_FORWARD); // avoid pb with internal edges
// avoid pb with internal edges
TopoDS_Edge E1 = theE1, E2 = theE2;
if (E1.Orientation() > TopAbs_REVERSED) // INTERNAL
E1.Orientation( TopAbs_FORWARD );
if (E2.Orientation() > TopAbs_REVERSED) // INTERNAL

View File

@ -35,8 +35,6 @@
#include "SMESH_ComputeError.hxx"
#include "SMESH_Hypothesis.hxx"
#include <TopoDS_Shape.hxx>
#include <TopoDS_Edge.hxx>
#include <GeomAbs_Shape.hxx>
#include <string>
@ -54,6 +52,7 @@ class SMESH_Mesh;
class SMESH_MesherHelper;
class SMESH_ProxyMesh;
class SMESH_subMesh;
class TopoDS_Edge;
class TopoDS_Face;
class TopoDS_Shape;
class TopoDS_Vertex;
@ -349,7 +348,7 @@ public:
* \param E2 - the 2nd edge
* \retval GeomAbs_Shape - regularity at the junction between E1 and E2
*/
static GeomAbs_Shape Continuity(TopoDS_Edge E1, TopoDS_Edge E2);
static GeomAbs_Shape Continuity(const TopoDS_Edge& E1, const TopoDS_Edge& E2);
/*!
* \brief Return true if an edge can be considered as a continuation of another

View File

@ -35,6 +35,7 @@
#include "SMDS_MeshNode.hxx"
#include "SMESHDS_Document.hxx"
#include "SMESH_HypoFilter.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_MesherHelper.hxx"
#include "SMESH_subMesh.hxx"

View File

@ -32,19 +32,22 @@
#include "Utils_SALOME_Exception.hxx"
#include "SMESH_Hypothesis.hxx"
#include "SMESH_ComputeError.hxx"
#include "SMESH_Algo.hxx"
#include "SMESH_Mesh.hxx"
#include <TopoDS_Shape.hxx>
#include "SMESH_ComputeError.hxx"
#include <map>
#include <list>
#include <set>
#include <vector>
#include <string>
#include <TopoDS_Shape.hxx>
class SMESHDS_Document;
class SMESH_Algo;
class SMESH_Mesh;
class TopoDS_Shape;
class SMESH_subMesh;
typedef SMESH_Hypothesis::Hypothesis_Status TAlgoStateErrorName;
@ -141,7 +144,7 @@ public:
StudyContextStruct *GetStudyContext(int studyId);
static int GetShapeDim(const TopAbs_ShapeEnum & aShapeType);
static int GetShapeDim(const TopoDS_Shape & aShape)
static int GetShapeDim(const TopoDS_Shape & aShape)
{ return GetShapeDim( aShape.ShapeType() ); }
SMESH_Algo* GetAlgo(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape, TopoDS_Shape* assignedTo=0);
@ -153,12 +156,6 @@ public:
int GetANewId();
// std::map < int, SMESH_Algo * >_mapAlgo;
// std::map < int, SMESH_0D_Algo * >_map0D_Algo;
// std::map < int, SMESH_1D_Algo * >_map1D_Algo;
// std::map < int, SMESH_2D_Algo * >_map2D_Algo;
// std::map < int, SMESH_3D_Algo * >_map3D_Algo;
private:
int _localId; // unique Id of created objects, within SMESH_Gen entity

View File

@ -26,8 +26,10 @@
//
#include "SMESH_HypoFilter.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_Hypothesis.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_MesherHelper.hxx"
#include "SMESH_subMesh.hxx"

View File

@ -26,8 +26,12 @@
// Module : SMESH
//
#include "SMESH_Hypothesis.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_subMesh.hxx"
#include "utilities.h"
using namespace std;
@ -121,15 +125,15 @@ void SMESH_Hypothesis::NotifySubMeshesHypothesisModification()
for (itm = myStudyContext->mapMesh.begin();
itm != myStudyContext->mapMesh.end();
itm++)
{
SMESH_Mesh* mesh = (*itm).second;
mesh->NotifySubMeshesHypothesisModification( this );
}
{
SMESH_Mesh* mesh = (*itm).second;
mesh->NotifySubMeshesHypothesisModification( this );
}
}
//=============================================================================
/*!
*
*
*/
//=============================================================================

View File

@ -30,11 +30,10 @@
#include "SMESH_SMESH.hxx"
#include "SMDSAbs_ElementType.hxx"
#include "SMESHDS_Command.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_ComputeError.hxx"
#include "SMESH_Controls.hxx"
#include "SMESH_Hypothesis.hxx"
#include "SMDS_Iterator.hxx"
#include "Utils_SALOME_Exception.hxx"
@ -51,11 +50,15 @@
#pragma warning(disable:4290) // Warning Exception ...
#endif
class SMESH_Gen;
class SMESHDS_Command;
class SMESHDS_Document;
class SMESHDS_GroupBase;
class SMESHDS_Hypothesis;
class SMESHDS_Mesh;
class SMESH_Gen;
class SMESH_Group;
class SMESH_subMesh;
class SMESH_HypoFilter;
class SMESH_subMesh;
class TopoDS_Solid;
typedef std::list<int> TListOfInt;

View File

@ -26,22 +26,21 @@
#include "SMESH_MeshEditor.hxx"
#include "SMDS_FaceOfNodes.hxx"
#include "SMDS_VolumeTool.hxx"
#include "SMDS_EdgePosition.hxx"
#include "SMDS_FacePosition.hxx"
#include "SMDS_SpacePosition.hxx"
#include "SMDS_MeshGroup.hxx"
#include "SMDS_LinearEdge.hxx"
#include "SMDS_Downward.hxx"
#include "SMDS_EdgePosition.hxx"
#include "SMDS_FaceOfNodes.hxx"
#include "SMDS_FacePosition.hxx"
#include "SMDS_LinearEdge.hxx"
#include "SMDS_MeshGroup.hxx"
#include "SMDS_SetIterator.hxx"
#include "SMDS_SpacePosition.hxx"
#include "SMDS_VolumeTool.hxx"
#include "SMESHDS_Group.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Algo.hxx"
#include "SMESH_ControlsDef.hxx"
#include "SMESH_Group.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_MeshAlgos.hxx"
#include "SMESH_MesherHelper.hxx"
#include "SMESH_OctreeNode.hxx"
@ -73,6 +72,7 @@
#include <TopTools_ListOfShape.hxx>
#include <TopTools_SequenceOfShape.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Face.hxx>
#include <TopoDS_Solid.hxx>
#include <gp.hxx>
@ -125,6 +125,18 @@ SMESH_MeshEditor::SMESH_MeshEditor( SMESH_Mesh* theMesh )
{
}
//================================================================================
/*!
* \brief Return mesh DS
*/
//================================================================================
SMESHDS_Mesh * SMESH_MeshEditor::GetMeshDS()
{
return myMesh->GetMeshDS();
}
//================================================================================
/*!
* \brief Clears myLastCreatedNodes and myLastCreatedElems

View File

@ -30,9 +30,7 @@
#include "SMESH_SMESH.hxx"
#include "SMDS_MeshElement.hxx"
#include "SMESH_Controls.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_TypeDefs.hxx"
#include "SMESH_ComputeError.hxx"
@ -45,13 +43,22 @@
#include <map>
#include <set>
class SMDS_MeshElement;
class SMDS_MeshFace;
class SMDS_MeshNode;
class gp_Ax1;
class gp_Vec;
class gp_Pnt;
class SMESHDS_Mesh;
class SMESHDS_SubMesh;
class SMESH_Group;
class SMESH_Mesh;
class SMESH_MesherHelper;
class SMESH_NodeSearcher;
class SMESH_subMesh;
class TopoDS_Edge;
class TopoDS_Shape;
class TopoDS_Vertex;
class gp_Ax1;
class gp_Pnt;
class gp_Vec;
// ============================================================
/*!
@ -65,8 +72,8 @@ public:
SMESH_MeshEditor( SMESH_Mesh* theMesh );
SMESH_Mesh * GetMesh() { return myMesh; }
SMESHDS_Mesh * GetMeshDS() { return myMesh->GetMeshDS(); }
SMESH_Mesh * GetMesh() { return myMesh; }
SMESHDS_Mesh * GetMeshDS();
const SMESH_SequenceOfElemPtr& GetLastCreatedNodes() const { return myLastCreatedNodes; }
const SMESH_SequenceOfElemPtr& GetLastCreatedElems() const { return myLastCreatedElems; }

View File

@ -31,8 +31,10 @@
#include "SMDS_FacePosition.hxx"
#include "SMDS_IteratorOnIterators.hxx"
#include "SMDS_VolumeTool.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Block.hxx"
#include "SMESH_HypoFilter.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_MeshAlgos.hxx"
#include "SMESH_ProxyMesh.hxx"
#include "SMESH_subMesh.hxx"
@ -113,6 +115,28 @@ SMESH_MesherHelper::~SMESH_MesherHelper()
}
}
//================================================================================
/*!
* \brief Return SMESH_Gen
*/
//================================================================================
SMESH_Gen* SMESH_MesherHelper::GetGen() const
{
return GetMesh()->GetGen();
}
//================================================================================
/*!
* \brief Return mesh DS
*/
//================================================================================
SMESHDS_Mesh* SMESH_MesherHelper::GetMeshDS() const
{
return GetMesh()->GetMeshDS();
}
//=======================================================================
//function : IsQuadraticSubMesh
//purpose : Check submesh for given shape: if all elements on this shape
@ -347,6 +371,16 @@ void SMESH_MesherHelper::SetSubShape(const TopoDS_Shape& aSh)
}
}
//=======================================================================
//function : ShapeToIndex
//purpose : Convert a shape to its index in the SMESHDS_Mesh
//=======================================================================
int SMESH_MesherHelper::ShapeToIndex( const TopoDS_Shape& S ) const
{
return GetMeshDS()->ShapeToIndex( S );
}
//=======================================================================
//function : GetNodeUVneedInFaceNode
//purpose : Check if inFaceNode argument is necessary for call GetNodeUV(F,..)

View File

@ -30,8 +30,6 @@
#include "SMESH_SMESH.hxx"
#include "SMESH_MeshEditor.hxx" // needed for many meshers
#include <SMDS_MeshNode.hxx>
#include <SMDS_QuadraticEdge.hxx>
#include <Geom_Surface.hxx>
#include <ShapeAnalysis_Surface.hxx>
@ -42,8 +40,11 @@
#include <map>
#include <vector>
class GeomAPI_ProjectPointOnSurf;
class GeomAPI_ProjectPointOnCurve;
class GeomAPI_ProjectPointOnSurf;
class SMDS_MeshNode;
class SMESHDS_Hypothesis;
class SMESH_Gen;
class SMESH_ProxyMesh;
typedef std::map<SMESH_TLink, const SMDS_MeshNode*> TLinkNodeMap;
@ -248,12 +249,12 @@ public:
// constructor
SMESH_MesherHelper(SMESH_Mesh& theMesh);
SMESH_Gen* GetGen() const { return GetMesh()->GetGen(); }
SMESH_Gen* GetGen() const;
SMESH_Mesh* GetMesh() const { return myMesh; }
SMESHDS_Mesh* GetMeshDS() const { return GetMesh()->GetMeshDS(); }
SMESHDS_Mesh* GetMeshDS() const;
/*!
* Check submesh for given shape: if all elements on this shape are quadratic,
* quadratic elements will be created. Also fill myTLinkNodeMap
@ -317,6 +318,11 @@ public:
*/
const TopoDS_Shape& GetSubShape() const { return myShape; }
/*!
* \brief Convert a shape to its index in the SMESHDS_Mesh
*/
int ShapeToIndex( const TopoDS_Shape& S ) const;
/*!
* Creates a node (!Note ID before u=0.,v0.)
*/
@ -569,7 +575,7 @@ public:
* Seam shape has two 2D alternative represenations on the face
*/
bool IsSeamShape(const TopoDS_Shape& subShape) const
{ return IsSeamShape( GetMeshDS()->ShapeToIndex( subShape )); }
{ return IsSeamShape( ShapeToIndex( subShape )); }
/*!
* \brief Return true if an edge or a vertex encounters twice in face wire
* \param subShape - Id of edge or vertex
@ -581,7 +587,7 @@ public:
* \param subShape - edge or vertex
*/
bool IsRealSeam(const TopoDS_Shape& subShape) const
{ return IsRealSeam( GetMeshDS()->ShapeToIndex( subShape)); }
{ return IsRealSeam( ShapeToIndex( subShape )); }
/*!
* \brief Check if the shape set through IsQuadraticSubMesh() or SetSubShape()
* has a seam edge, i.e. an edge that has two parametric representations

View File

@ -24,6 +24,8 @@
#include "SMDS_IteratorOnIterators.hxx"
#include "SMDS_SetIterator.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_MesherHelper.hxx"
#include <TopTools_ListIteratorOfListOfShape.hxx>
@ -99,7 +101,7 @@ SMESH_ProxyMesh::SMESH_ProxyMesh(std::vector<SMESH_ProxyMesh::Ptr>& components):
SMESH_ProxyMesh::~SMESH_ProxyMesh()
{
for ( unsigned i = 0; i < _subMeshes.size(); ++i )
for ( size_t i = 0; i < _subMeshes.size(); ++i )
delete _subMeshes[i];
_subMeshes.clear();

View File

@ -26,7 +26,6 @@
#include "SMESH_SMESH.hxx"
#include "SMDS_MeshElement.hxx"
#include "SMESHDS_SubMesh.hxx"
#include "SMESH_TypeDefs.hxx"
@ -37,6 +36,7 @@
#include <boost/shared_ptr.hpp>
class SMDS_MeshNode;
class SMDS_MeshElement;
class SMESHDS_Mesh;
class SMESH_Mesh;

View File

@ -27,16 +27,16 @@
#include "SMESH_subMesh.hxx"
#include "SMDS_SetIterator.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Algo.hxx"
#include "SMESH_Comment.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_HypoFilter.hxx"
#include "SMESH_Hypothesis.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_MesherHelper.hxx"
#include "SMESH_subMeshEventListener.hxx"
#include "SMESH_Comment.hxx"
#include "SMDS_SetIterator.hxx"
#include "SMDSAbs_ElementType.hxx"
#include <Basics_OCCTVersion.hxx>

View File

@ -29,9 +29,7 @@
#include "SMESH_SMESH.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESHDS_SubMesh.hxx"
#include "SMESH_Hypothesis.hxx"
#include "SMDS_Iterator.hxx"
#include "SMESH_ComputeError.hxx"
#include "SMESH_Algo.hxx"
@ -42,13 +40,15 @@
#include <list>
#include <map>
class SMESH_Mesh;
class SMESH_Hypothesis;
class SMESHDS_Mesh;
class SMESHDS_SubMesh;
class SMESH_Algo;
class SMESH_Gen;
class SMESH_Hypothesis;
class SMESH_Mesh;
class SMESH_subMesh;
class SMESH_subMeshEventListener;
class SMESH_subMeshEventListenerData;
class SMESH_subMesh;
typedef SMESH_subMeshEventListener EventListener;
typedef SMESH_subMeshEventListenerData EventListenerData;

View File

@ -24,8 +24,10 @@
// Module : SMESH
#include "SMESH_Client.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESHDS_Script.hxx"
#include "SMESH_Mesh.hxx"
#include "SALOME_NamingService.hxx"
#include "SALOME_LifeCycleCORBA.hxx"

View File

@ -200,6 +200,8 @@ bool SMESHGUI_MeshOp::onApply()
//================================================================================
void SMESHGUI_MeshOp::startOperation()
{
myIgnoreAlgoSelection = false;
if (!myDlg)
{
myDlg = new SMESHGUI_MeshDlg( myToCreate, myIsMesh );
@ -260,7 +262,6 @@ void SMESHGUI_MeshOp::startOperation()
myDlg->setGeomPopupEnabled(false);
selectionDone();
myIgnoreAlgoSelection = false;
myHasConcurrentSubBefore = false;
myObjectToSelect.clear();
@ -2172,6 +2173,7 @@ SMESH::SMESH_Hypothesis_var SMESHGUI_MeshOp::getAlgo( const int theDim )
SMESH::CreateHypothesis(aHypName, aHypName, true);
aHyp.out();
}
delete aCreator;
}
QStringList tmpList;
_PTR(SComponent) aFather = SMESH::GetActiveStudyDocument()->FindComponent( "SMESH" );

View File

@ -960,9 +960,9 @@ void SMESH_Gen_i::SetOption(const char* name, const char* value)
if ( str.at(i*2) >= '0' && str.at(i*2) <= 'f' && str.at(i*2+1) >= '0' && str.at(i*2+1) <= 'f' )
color.push_back( strtol( str.substr( i*2, 2 ).c_str(), NULL, 16 ) );
}
else { // rgb color ("255,170,0", for example)
char* tempValue = strdup( value );
char* colorValue = strtok( tempValue, "," );
else if ( value ) { // rgb color ("255,170,0", for example)
string tempValue( value );
char* colorValue = strtok( &tempValue[0], "," );
while ( colorValue != NULL ) {
int c_value = atoi( colorValue );
if ( c_value >= 0 && c_value <= 255 )

View File

@ -26,6 +26,7 @@
#include "SMESH_Gen_i.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Algo_i.hxx"
#include "SMESH_Comment.hxx"
#include "SMESH_Group_i.hxx"

View File

@ -27,10 +27,10 @@
//
#include "SMESH_Group_i.hxx"
#include "SMDSAbs_ElementType.hxx"
#include "SMESHDS_Group.hxx"
#include "SMESHDS_GroupOnFilter.hxx"
#include "SMESHDS_GroupOnGeom.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Comment.hxx"
#include "SMESH_Filter_i.hxx"
#include "SMESH_Gen_i.hxx"

View File

@ -31,6 +31,7 @@
#include "SMESH_Hypothesis.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_subMesh.hxx"
#include "SMDS_ElemIterator.hxx"
#include <SALOME_GenericObj_i.hh>
#include <SALOMEconfig.h>

View File

@ -27,13 +27,13 @@
//
#include "SMESH_Pattern_i.hxx"
#include "GEOM_Client.hxx"
#include "SMDS_MeshFace.hxx"
#include "SMDS_MeshVolume.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Gen_i.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_Mesh_i.hxx"
#include "SMESH_PythonDump.hxx"
#include "SMDS_MeshFace.hxx"
#include "SMDS_MeshVolume.hxx"
#include <TopExp_Explorer.hxx>
#include <TopoDS.hxx>

View File

@ -35,6 +35,7 @@
#include "SMDS_VertexPosition.hxx"
#include "SMESHDS_Group.hxx"
#include "SMESHDS_GroupOnFilter.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Gen_i.hxx"
#include "SMESH_Group_i.hxx"
#include "SMESH_Mesh_i.hxx"

View File

@ -26,10 +26,12 @@
// Module : SMESH
//
#include "SMESH_subMesh_i.hxx"
#include "SMESHDS_SubMesh.hxx"
#include "SMESH_Gen_i.hxx"
#include "SMESH_Mesh_i.hxx"
#include "SMESH_PreMeshInfo.hxx"
#include "SMESH_MesherHelper.hxx"
#include "SMESH_PreMeshInfo.hxx"
#include "Utils_CorbaException.hxx"
#include "utilities.h"

View File

@ -24,12 +24,13 @@
//
#include "StdMeshers_Adaptive1D.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_HypoFilter.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_MesherHelper.hxx"
#include "SMESH_Octree.hxx"
#include "SMESH_subMesh.hxx"
#include "SMESH_HypoFilter.hxx"
#include <Utils_SALOME_Exception.hxx>

View File

@ -25,6 +25,7 @@
#include "StdMeshers_Cartesian_3D.hxx"
#include "SMDS_MeshNode.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Block.hxx"
#include "SMESH_Comment.hxx"
#include "SMESH_Mesh.hxx"
@ -73,6 +74,7 @@
#include <TopExp.hxx>
#include <TopExp_Explorer.hxx>
#include <TopLoc_Location.hxx>
#include <TopTools_IndexedMapOfShape.hxx>
#include <TopTools_MapOfShape.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Compound.hxx>

View File

@ -28,6 +28,8 @@
#include "SMDS_Mesh.hxx"
#include "SMDS_MeshNode.hxx"
#include "SMDS_SetIterator.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESHDS_SubMesh.hxx"
#include "SMESH_Block.hxx"
#include "SMESH_Comment.hxx"
#include "SMESH_ComputeError.hxx"

View File

@ -28,6 +28,7 @@
#include "SMDS_MeshElement.hxx"
#include "SMDS_MeshNode.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Comment.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_HypoFilter.hxx"

View File

@ -25,7 +25,9 @@
#include "SMDS_VolumeOfNodes.hxx"
#include "SMDS_VolumeTool.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Block.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_MeshAlgos.hxx"
#include "SMESH_MesherHelper.hxx"

View File

@ -31,6 +31,7 @@
#include "SMDS_EdgePosition.hxx"
#include "SMDS_MeshElement.hxx"
#include "SMDS_MeshNode.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Comment.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_Mesh.hxx"

View File

@ -28,9 +28,11 @@
//
#include "StdMeshers_MaxElementArea.hxx"
#include "SMESH_ControlsDef.hxx"
#include "SMDS_MeshElement.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESHDS_SubMesh.hxx"
#include "SMESH_ControlsDef.hxx"
#include "SMESH_Mesh.hxx"
#include <TopExp.hxx>

View File

@ -29,6 +29,7 @@
#include "StdMeshers_MaxElementVolume.hxx"
#include "SMDS_MeshElement.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESHDS_SubMesh.hxx"
#include "SMESH_ControlsDef.hxx"
#include "SMESH_Mesh.hxx"

View File

@ -28,10 +28,11 @@
//
#include "StdMeshers_NumberOfSegments.hxx"
#include "StdMeshers_Distribution.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESHDS_SubMesh.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_Comment.hxx"
#include "SMESH_Mesh.hxx"
#include "StdMeshers_Distribution.hxx"
#include <ExprIntrp_GenExp.hxx>
#include <Expr_Array1OfNamedUnknown.hxx>

View File

@ -33,6 +33,7 @@
#include "SMDS_MeshElement.hxx"
#include "SMDS_VolumeOfNodes.hxx"
#include "SMDS_VolumeTool.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESHDS_SubMesh.hxx"
#include "SMESH_Comment.hxx"
#include "SMESH_Mesh.hxx"

View File

@ -29,6 +29,7 @@
#include "utilities.h"
#include "SMESH_Gen.hxx"
#include "SMESH_Mesh.hxx"
#include <TopoDS.hxx>

View File

@ -27,21 +27,21 @@
//
#include "StdMeshers_ProjectionUtils.hxx"
#include "StdMeshers_ProjectionSource1D.hxx"
#include "StdMeshers_ProjectionSource2D.hxx"
#include "StdMeshers_ProjectionSource3D.hxx"
#include "SMDS_EdgePosition.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Algo.hxx"
#include "SMESH_Block.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_HypoFilter.hxx"
#include "SMESH_Hypothesis.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_MeshAlgos.hxx"
#include "SMESH_MesherHelper.hxx"
#include "SMESH_subMesh.hxx"
#include "SMESH_subMeshEventListener.hxx"
#include "SMESH_MeshAlgos.hxx"
#include "StdMeshers_ProjectionSource1D.hxx"
#include "StdMeshers_ProjectionSource2D.hxx"
#include "StdMeshers_ProjectionSource3D.hxx"
#include "utilities.h"

View File

@ -25,7 +25,9 @@
//
#include "StdMeshers_Projection_1D2D.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_MesherHelper.hxx"
#include "SMESH_subMesh.hxx"
#include "SMESH_subMeshEventListener.hxx"

View File

@ -35,6 +35,7 @@
#include "SMDS_EdgePosition.hxx"
#include "SMDS_FacePosition.hxx"
#include "SMESHDS_Hypothesis.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESHDS_SubMesh.hxx"
#include "SMESH_Block.hxx"
#include "SMESH_Comment.hxx"

View File

@ -34,6 +34,7 @@
#include "SMDS_PolyhedralVolumeOfNodes.hxx"
#include "SMDS_VolumeTool.hxx"
#include "SMESHDS_Hypothesis.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESHDS_SubMesh.hxx"
#include "SMESH_Block.hxx"
#include "SMESH_Comment.hxx"

View File

@ -25,6 +25,7 @@
#include "StdMeshers_QuadFromMedialAxis_1D2D.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Block.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_MAT2d.hxx"

View File

@ -27,8 +27,10 @@
#include "SMDS_IteratorOnIterators.hxx"
#include "SMDS_SetIterator.hxx"
#include "SMESHDS_GroupBase.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Algo.hxx"
#include "SMESH_Group.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_MeshAlgos.hxx"
#include "SMESH_MesherHelper.hxx"

View File

@ -30,6 +30,7 @@
#include "SMDS_FacePosition.hxx"
#include "SMDS_MeshElement.hxx"
#include "SMDS_MeshNode.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Block.hxx"
#include "SMESH_Comment.hxx"
#include "SMESH_Gen.hxx"

View File

@ -29,6 +29,7 @@
#include "StdMeshers_NumberOfSegments.hxx"
#include "SMDS_MeshNode.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESHDS_SubMesh.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_HypoFilter.hxx"

View File

@ -29,6 +29,7 @@
#include "SMDS_MeshElement.hxx"
#include "SMDS_MeshNode.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Comment.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_HypoFilter.hxx"
@ -37,8 +38,8 @@
#include "SMESH_subMeshEventListener.hxx"
#include "StdMeshers_Adaptive1D.hxx"
#include "StdMeshers_Arithmetic1D.hxx"
#include "StdMeshers_Geometric1D.hxx"
#include "StdMeshers_AutomaticLength.hxx"
#include "StdMeshers_Geometric1D.hxx"
#include "StdMeshers_Deflection1D.hxx"
#include "StdMeshers_Distribution.hxx"
#include "StdMeshers_FixedPoints1D.hxx"

View File

@ -33,6 +33,8 @@
#include "SMESH_Algo.hxx"
#include <TopoDS_Shape.hxx>
class Adaptor3d_Curve;
class StdMeshers_Adaptive1D;
class StdMeshers_FixedPoints1D;

View File

@ -28,6 +28,8 @@
//
#include "StdMeshers_SegmentAroundVertex_0D.hxx"
#include <TopAbs_ShapeEnum.hxx>
//=======================================================================
//function : StdMeshers_SegmentAroundVertex_0D
//purpose :

View File

@ -30,6 +30,7 @@
#include "SMDS_SetIterator.hxx"
#include "SMESHDS_Group.hxx"
#include "SMESHDS_Hypothesis.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Algo.hxx"
#include "SMESH_ComputeError.hxx"
#include "SMESH_ControlsDef.hxx"

View File

@ -30,6 +30,7 @@
#include "SMDS_SetIterator.hxx"
#include "SMESHDS_Group.hxx"
#include "SMESHDS_Hypothesis.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESH_Algo.hxx"
#include "SMESH_ComputeError.hxx"
#include "SMESH_ControlsDef.hxx"