X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH%2FSMESH_MeshEditor.hxx;h=8e605ab9294f43ebb94a88e69554620dc3c40714;hp=9a54cb7addd85487c6a3cde93ecb1d2976efb4b0;hb=441a2df90cb97ea7d035771a49e28dc53469e3d6;hpb=7a713be33b27d6a8c77f983460f0e97e52c6ff7c;ds=sidebyside diff --git a/src/SMESH/SMESH_MeshEditor.hxx b/src/SMESH/SMESH_MeshEditor.hxx index 9a54cb7ad..8e605ab92 100644 --- a/src/SMESH/SMESH_MeshEditor.hxx +++ b/src/SMESH/SMESH_MeshEditor.hxx @@ -465,6 +465,14 @@ public: SMESH_Mesh* theTargetMesh=0); // Move or copy theElements applying theTrsf to their nodes + PGroupIDs Offset( TIDSortedElemSet & theElements, + const double theValue, + SMESH_Mesh* theTgtMesh, + const bool theMakeGroups, + const bool theCopyElements, + const bool theFixSelfIntersection); + // Make an offset mesh from a source 2D mesh + typedef std::list< std::list< const SMDS_MeshNode* > > TListOfListOfNodes; void FindCoincidentNodes (TIDSortedNodeSet & theNodes, @@ -713,12 +721,19 @@ public: // structure used in MakePolyLine() to define a cutting plane struct PolySegment { - // 2 points: if myNode2 != 0, then the point is the middle of a face edge defined - // by two nodes, else it is at myNode1 - const SMDS_MeshNode* myNode1[2]; - const SMDS_MeshNode* myNode2[2]; - - gp_Vec myVector; // vector on the plane; to use a default plane set vector = (0,0,0) + // 2 points, each defined as follows: + // ( myNode1 && myNode2 ) ==> point is in the middle of an edge defined by two nodes + // ( myNode1 && !myNode2 ) ==> point is at myNode1 + // else ==> point is at myXYZ + const SMDS_MeshNode* myNode1[2]; + const SMDS_MeshNode* myNode2[2]; + gp_XYZ myXYZ [2]; + + // face on which myXYZ projects (found by MakePolyLine()) + const SMDS_MeshElement* myFace [2]; + + // vector on the plane; to use a default plane set vector = (0,0,0) + gp_Vec myVector; // point to return coordinates of a middle of the two points, projected to mesh gp_Pnt myMidProjPoint;