#include "SMESH_MeshEditor.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"#include "SMESH_subMesh.hxx"#include <Basics_OCCTVersion.hxx>#include "utilities.h"#include "chrono.hxx"#include <BRepAdaptor_Surface.hxx>#include <BRepBuilderAPI_MakeEdge.hxx>#include <BRepClass3d_SolidClassifier.hxx>#include <BRep_Tool.hxx>#include <ElCLib.hxx>#include <Extrema_GenExtPS.hxx>#include <Extrema_POnCurv.hxx>#include <Extrema_POnSurf.hxx>#include <Geom2d_Curve.hxx>#include <GeomAdaptor_Surface.hxx>#include <Geom_Curve.hxx>#include <Geom_Surface.hxx>#include <Precision.hxx>#include <TColStd_ListOfInteger.hxx>#include <TopAbs_State.hxx>#include <TopExp.hxx>#include <TopExp_Explorer.hxx>#include <TopTools_ListIteratorOfListOfShape.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>#include <gp_Ax1.hxx>#include <gp_Dir.hxx>#include <gp_Lin.hxx>#include <gp_Pln.hxx>#include <gp_Trsf.hxx>#include <gp_Vec.hxx>#include <gp_XY.hxx>#include <gp_XYZ.hxx>#include <cmath>#include <map>#include <set>#include <numeric>#include <limits>#include <algorithm>#include <sstream>#include <boost/tuple/tuple.hpp>#include <Standard_Failure.hxx>#include <Standard_ErrorHandler.hxx>Data Structures | |
| class | LinkID_Gen | 
| class | SortableElement | 
Macros | |
| #define | cast2Node(elem) static_cast<const SMDS_MeshNode*>( elem ) | 
| #define | THIS_METHOD "SMESH_MeshEditor::GetHexaFacetsToSplit(): " | 
| #define | ControlFreeBorder SMESH::Controls::FreeEdges::IsFreeEdge | 
Functions | |
| static void | shiftNodesQuadTria (vector< const SMDS_MeshNode * > &aNodes) | 
| static int | nbEdgeConnectivity (const SMDS_MeshNode *theNode) | 
| static bool | getNodesFromTwoTria (const SMDS_MeshElement *theTria1, const SMDS_MeshElement *theTria2, vector< const SMDS_MeshNode * > &N1, vector< const SMDS_MeshNode * > &N2) | 
| static bool | findTriangles (const SMDS_MeshNode *theNode1, const SMDS_MeshNode *theNode2, const SMDS_MeshElement *&theTria1, const SMDS_MeshElement *&theTria2) | 
| bool | getQuadrangleNodes (const SMDS_MeshNode *theQuadNodes[], const SMDS_MeshNode *theNode1, const SMDS_MeshNode *theNode2, const SMDS_MeshElement *tr1, const SMDS_MeshElement *tr2) | 
| static double | getBadRate (const SMDS_MeshElement *theElem, SMESH::Controls::NumericalFunctorPtr &theCrit) | 
| double | getAngle (const SMDS_MeshElement *tr1, const SMDS_MeshElement *tr2, const SMDS_MeshNode *n1, const SMDS_MeshNode *n2) | 
| void | laplacianSmooth (const SMDS_MeshNode *theNode, const Handle(Geom_Surface)&theSurface, map< const SMDS_MeshNode *, gp_XY * > &theUVMap) | 
| void | centroidalSmooth (const SMDS_MeshNode *theNode, const Handle(Geom_Surface)&theSurface, map< const SMDS_MeshNode *, gp_XY * > &theUVMap) | 
| static bool | getClosestUV (Extrema_GenExtPS &projector, const gp_Pnt &point, gp_XY &result) | 
| static const SMDS_MeshElement * | findAdjacentFace (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshElement *elem) | 
| static const SMDS_MeshElement * | findSegment (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2) | 
| #define cast2Node | ( | elem | ) | static_cast<const SMDS_MeshNode*>( elem ) | 
Referenced by SMESH_MeshEditor::AffectedElemGroupsInRegion(), SMESH_MeshEditor::Create0DElementsOnAllNodes(), SMESH_MeshEditor::DoubleNodesInRegion(), SMESH_MeshEditor::FindFreeBorder(), SMESH_MeshEditor::GetLinkedNodes(), getQuadrangleNodes(), SMESH_MeshEditor::InsertNodesIntoLink(), laplacianSmooth(), SMESH_MeshEditor::makeExtrElements(), SMESH_MeshEditor::Remove(), SMESH_MeshEditor::RotationSweep(), SMESH_MeshEditor::SewFreeBorder(), and SMESH_MeshEditor::Transform().
| #define ControlFreeBorder SMESH::Controls::FreeEdges::IsFreeEdge | 
Referenced by SMESH_MeshEditor::FindFreeBorder().
| #define THIS_METHOD "SMESH_MeshEditor::GetHexaFacetsToSplit(): " | 
Referenced by SMESH_MeshEditor::GetHexaFacetsToSplit().
| void centroidalSmooth | ( | const SMDS_MeshNode * | theNode, | 
| const Handle(Geom_Surface)& | theSurface, | ||
| map< const SMDS_MeshNode *, gp_XY * > & | theUVMap | ||
| ) | 
References SMDS_MeshNode::GetInverseElementIterator(), SMESH::Controls::Area::GetValue(), SMDS_MeshElement::IsQuadratic(), SMDS_MeshElement::NbNodes(), SMDS_MeshElement::nodesIterator(), SMESH::Controls::TSequenceOfXYZ::push_back(), SMDSAbs_Face, SMDS_MeshNode::X(), SMDS_MeshNode::Y(), and SMDS_MeshNode::Z().
      
  | 
  static | 
References SMESH_MeshAlgos::FindFaceInSet().
Referenced by SMESH_MeshEditor::FindFreeBorder(), and SMESH_MeshEditor::SewFreeBorder().
      
  | 
  static | 
References SMDS_MeshNode::GetInverseElementIterator(), SMDS_MeshElement::GetNodeIndex(), and SMDSAbs_Edge.
Referenced by SMESH_MeshEditor::SewFreeBorder().
      
  | 
  static | 
References SMDS_MeshElement::GetID(), SMDS_MeshNode::GetInverseElementIterator(), SMDS_MeshElement::NbCornerNodes(), and SMDSAbs_Face.
Referenced by SMESH_MeshEditor::DeleteDiag(), and SMESH_MeshEditor::InverseDiag().
| double getAngle | ( | const SMDS_MeshElement * | tr1, | 
| const SMDS_MeshElement * | tr2, | ||
| const SMDS_MeshNode * | n1, | ||
| const SMDS_MeshNode * | n2 | ||
| ) | 
      
  | 
  static | 
References SMDS_MeshElement::NbNodes().
Referenced by SMESH_MeshEditor::InsertNodesIntoLink().
      
  | 
  static | 
      
  | 
  static | 
References SMDS_MeshElement::begin_nodes(), SMDS_MeshElement::end_nodes(), and shiftNodesQuadTria().
Referenced by SMESH_MeshEditor::DeleteDiag(), and SMESH_MeshEditor::InverseDiag().
| bool getQuadrangleNodes | ( | const SMDS_MeshNode * | theQuadNodes[], | 
| const SMDS_MeshNode * | theNode1, | ||
| const SMDS_MeshNode * | theNode2, | ||
| const SMDS_MeshElement * | tr1, | ||
| const SMDS_MeshElement * | tr2 | ||
| ) | 
References cast2Node, SMDS_MeshElement::NbNodes(), and SMDS_MeshElement::nodesIterator().
Referenced by SMESH_MeshEditor::DeleteDiag().
| void laplacianSmooth | ( | const SMDS_MeshNode * | theNode, | 
| const Handle(Geom_Surface)& | theSurface, | ||
| map< const SMDS_MeshNode *, gp_XY * > & | theUVMap | ||
| ) | 
      
  | 
  static | 
References SMDS_MeshNode::NbInverseElements().
      
  | 
  static | 
Referenced by getNodesFromTwoTria().