#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().