{
char c = aStr.Value( i );
if ( !isdigit( c ) && c != ',' && c != '-' )
- aStr.SetValue( i, ' ');
+ aStr.SetValue( i, ',');
}
aStr.RemoveAll( ' ' );
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(); }
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);
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
{
myShape = theShape;
myTol = theTol;
+ myFlags = 0;
bool isShapeBox = false;
switch ( myShape.ShapeType() )
}
else
{
- mySolidClfr.Load(theShape);
+ mySolidClfr = new BRepClass3d_SolidClassifier(theShape);
myIsOutFun = & ElementsOnShape::Classifier::isOutOfSolid;
}
break;
}
}
+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)
}
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]),
#include "SMESH_Controls.hxx"
-#include "SMDS_MeshNode.hxx"
#include "SMESH_TypeDefs.hxx"
#include <BRepClass3d_SolidClassifier.hxx>
int _chunkSize;
int _maxOccupied;
int _nbHoles;
+ int _lastDelChunk;
int getNextFree()
{
_nbHoles = 0;
_chunkList.clear();
_freeList.clear();
+ _lastDelChunk = 0;
}
virtual ~ObjectPool()
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()
_maxAvail = 0;
_maxOccupied = 0;
_nbHoles = 0;
+ _lastDelChunk = 0;
for (size_t i = 0; i < _chunkList.size(); i++)
delete[] _chunkList[i];
clearVector( _chunkList );
*/
//================================================================================
-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
#include "SMESH_ComputeError.hxx"
#include "SMESH_Hypothesis.hxx"
-#include <TopoDS_Shape.hxx>
-#include <TopoDS_Edge.hxx>
#include <GeomAbs_Shape.hxx>
#include <string>
class SMESH_MesherHelper;
class SMESH_ProxyMesh;
class SMESH_subMesh;
+class TopoDS_Edge;
class TopoDS_Face;
class TopoDS_Shape;
class TopoDS_Vertex;
* \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
#include "SMDS_MeshNode.hxx"
#include "SMESHDS_Document.hxx"
#include "SMESH_HypoFilter.hxx"
+#include "SMESH_Mesh.hxx"
#include "SMESH_MesherHelper.hxx"
#include "SMESH_subMesh.hxx"
#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;
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);
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
//
#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"
// 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;
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 );
+ }
}
//=============================================================================
/*!
- *
+ *
*/
//=============================================================================
#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"
#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;
#include "SMESH_MeshEditor.hxx"
-#include "SMDS_FaceOfNodes.hxx"
-#include "SMDS_VolumeTool.hxx"
+#include "SMDS_Downward.hxx"
#include "SMDS_EdgePosition.hxx"
+#include "SMDS_FaceOfNodes.hxx"
#include "SMDS_FacePosition.hxx"
-#include "SMDS_SpacePosition.hxx"
-#include "SMDS_MeshGroup.hxx"
#include "SMDS_LinearEdge.hxx"
-#include "SMDS_Downward.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"
#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>
{
}
+//================================================================================
+/*!
+ * \brief Return mesh DS
+ */
+//================================================================================
+
+SMESHDS_Mesh * SMESH_MeshEditor::GetMeshDS()
+{
+ return myMesh->GetMeshDS();
+}
+
+
//================================================================================
/*!
* \brief Clears myLastCreatedNodes and myLastCreatedElems
#include "SMESH_SMESH.hxx"
-#include "SMDS_MeshElement.hxx"
#include "SMESH_Controls.hxx"
-#include "SMESH_Mesh.hxx"
#include "SMESH_TypeDefs.hxx"
#include "SMESH_ComputeError.hxx"
#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;
// ============================================================
/*!
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; }
#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"
}
}
+//================================================================================
+/*!
+ * \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
}
}
+//=======================================================================
+//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,..)
#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>
#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;
// 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
*/
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.)
*/
* 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
* \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
#include "SMDS_IteratorOnIterators.hxx"
#include "SMDS_SetIterator.hxx"
+#include "SMESHDS_Mesh.hxx"
+#include "SMESH_Mesh.hxx"
#include "SMESH_MesherHelper.hxx"
#include <TopTools_ListIteratorOfListOfShape.hxx>
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();
#include "SMESH_SMESH.hxx"
-#include "SMDS_MeshElement.hxx"
#include "SMESHDS_SubMesh.hxx"
#include "SMESH_TypeDefs.hxx"
#include <boost/shared_ptr.hpp>
class SMDS_MeshNode;
+class SMDS_MeshElement;
class SMESHDS_Mesh;
class SMESH_Mesh;
#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>
#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"
#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;
// 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"
//================================================================================
void SMESHGUI_MeshOp::startOperation()
{
+ myIgnoreAlgoSelection = false;
+
if (!myDlg)
{
myDlg = new SMESHGUI_MeshDlg( myToCreate, myIsMesh );
myDlg->setGeomPopupEnabled(false);
selectionDone();
- myIgnoreAlgoSelection = false;
myHasConcurrentSubBefore = false;
myObjectToSelect.clear();
SMESH::CreateHypothesis(aHypName, aHypName, true);
aHyp.out();
}
+ delete aCreator;
}
QStringList tmpList;
_PTR(SComponent) aFather = SMESH::GetActiveStudyDocument()->FindComponent( "SMESH" );
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 )
#include "SMESH_Gen_i.hxx"
+#include "SMESHDS_Mesh.hxx"
#include "SMESH_Algo_i.hxx"
#include "SMESH_Comment.hxx"
#include "SMESH_Group_i.hxx"
//
#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"
#include "SMESH_Hypothesis.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_subMesh.hxx"
+#include "SMDS_ElemIterator.hxx"
#include <SALOME_GenericObj_i.hh>
#include <SALOMEconfig.h>
//
#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>
#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"
// 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"
//
#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>
#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"
#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>
#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"
#include "SMDS_MeshElement.hxx"
#include "SMDS_MeshNode.hxx"
+#include "SMESHDS_Mesh.hxx"
#include "SMESH_Comment.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_HypoFilter.hxx"
#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"
#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"
//
#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>
#include "StdMeshers_MaxElementVolume.hxx"
#include "SMDS_MeshElement.hxx"
+#include "SMESHDS_Mesh.hxx"
#include "SMESHDS_SubMesh.hxx"
#include "SMESH_ControlsDef.hxx"
#include "SMESH_Mesh.hxx"
//
#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>
#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"
#include "utilities.h"
#include "SMESH_Gen.hxx"
+#include "SMESH_Mesh.hxx"
#include <TopoDS.hxx>
//
#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"
//
#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"
#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"
#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"
#include "StdMeshers_QuadFromMedialAxis_1D2D.hxx"
+#include "SMESHDS_Mesh.hxx"
#include "SMESH_Block.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_MAT2d.hxx"
#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"
#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"
#include "StdMeshers_NumberOfSegments.hxx"
#include "SMDS_MeshNode.hxx"
+#include "SMESHDS_Mesh.hxx"
#include "SMESHDS_SubMesh.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_HypoFilter.hxx"
#include "SMDS_MeshElement.hxx"
#include "SMDS_MeshNode.hxx"
+#include "SMESHDS_Mesh.hxx"
#include "SMESH_Comment.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_HypoFilter.hxx"
#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"
#include "SMESH_Algo.hxx"
+#include <TopoDS_Shape.hxx>
+
class Adaptor3d_Curve;
class StdMeshers_Adaptive1D;
class StdMeshers_FixedPoints1D;
//
#include "StdMeshers_SegmentAroundVertex_0D.hxx"
+#include <TopAbs_ShapeEnum.hxx>
+
//=======================================================================
//function : StdMeshers_SegmentAroundVertex_0D
//purpose :
#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"
#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"