Classes | |
struct | CoincidentFreeBorders |
struct | TFreeBorderPart |
Typedefs | |
typedef std::vector< TFreeBorderPart > | TCoincidentGroup |
typedef std::vector< TCoincidentGroup > | TCoincidentGroupVec |
typedef std::vector< const SMDS_MeshNode * > | TFreeBorder |
typedef std::vector< TFreeBorder > | TFreeBorderVec |
Functions | |
SMESHUtils_EXPORT bool | FaceNormal (const SMDS_MeshElement *F, gp_XYZ &normal, bool normalized=true) |
Calculate normal of a mesh face. More... | |
SMESHUtils_EXPORT void | FindCoincidentFreeBorders (SMDS_Mesh &mesh, double tolerance, CoincidentFreeBorders &foundFreeBordes) |
SMESHUtils_EXPORT const SMDS_MeshElement * | FindFaceInSet (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const TIDSortedElemSet &elemSet, const TIDSortedElemSet &avoidSet, int *i1=0, int *i2=0) |
SMESHUtils_EXPORT void | GetBarycentricCoords (const gp_XY &point, const gp_XY &t0, const gp_XY &t1, const gp_XY &t2, double &bc0, double &bc1) |
Returns barycentric coordinates of a point within a triangle. A not returned bc2 = 1. - bc0 - bc1. The point lies within the triangle if ( bc0 >= 0 && bc1 >= 0 && bc0+bc1 <= 1 ) More... | |
SMESHUtils_EXPORT std::vector< const SMDS_MeshNode * > | GetCommonNodes (const SMDS_MeshElement *e1, const SMDS_MeshElement *e2) |
Return nodes common to two elements. More... | |
SMESHUtils_EXPORT double | GetDistance (const SMDS_MeshEdge *edge, const gp_Pnt &point) |
Return minimal distance from a point to an edge. More... | |
SMESHUtils_EXPORT double | GetDistance (const SMDS_MeshElement *elem, const gp_Pnt &point) |
Return minimal distance from a point to an element. More... | |
SMESHUtils_EXPORT double | GetDistance (const SMDS_MeshFace *face, const gp_Pnt &point) |
Return minimal distance from a point to a face. More... | |
SMESHUtils_EXPORT double | GetDistance (const SMDS_MeshVolume *volume, const gp_Pnt &point) |
Return minimal distance from a point to a volume. More... | |
SMESHUtils_EXPORT SMESH_ElementSearcher * | GetElementSearcher (SMDS_Mesh &mesh, double tolerance=-1.) |
Return SMESH_ElementSearcher. The caller is responsible for deleting it. More... | |
SMESHUtils_EXPORT SMESH_ElementSearcher * | GetElementSearcher (SMDS_Mesh &mesh, SMDS_ElemIteratorPtr elemIt, double tolerance=-1.) |
Return SMESH_ElementSearcher acting on a sub-set of elements. More... | |
SMESHUtils_EXPORT SMESH_NodeSearcher * | GetNodeSearcher (SMDS_Mesh &mesh) |
Return SMESH_NodeSearcher. The caller is responsible for deleting it. More... | |
SMESHUtils_EXPORT bool | IsOut (const SMDS_MeshElement *element, const gp_Pnt &point, double tol) |
Return true if the point is IN or ON of the element. More... | |
typedef std::vector<TFreeBorderPart> SMESH_MeshAlgos::TCoincidentGroup |
typedef std::vector<TCoincidentGroup> SMESH_MeshAlgos::TCoincidentGroupVec |
typedef std::vector<const SMDS_MeshNode*> SMESH_MeshAlgos::TFreeBorder |
typedef std::vector<TFreeBorder> SMESH_MeshAlgos::TFreeBorderVec |
bool SMESH_MeshAlgos::FaceNormal | ( | const SMDS_MeshElement * | F, |
gp_XYZ & | normal, | ||
bool | normalized = true |
||
) |
Calculate normal of a mesh face.
References SMDS_MeshElement::GetNode(), SMDS_MeshElement::GetType(), SMDS_MeshElement::NbCornerNodes(), SMDS_MeshNode::X(), SMDS_MeshNode::Y(), and SMDS_MeshNode::Z().
Referenced by SMESH_MeshEditor::AffectedElemGroupsInRegion(), SMESH_ElementSearcherImpl::findOuterBoundary(), SMESH_ElementSearcherImpl::GetPointState(), SMESH_MesherHelper::IsReversedSubMesh(), and SMESH_MeshEditor::Reorient2D().
SMESHUtils_EXPORT void SMESH_MeshAlgos::FindCoincidentFreeBorders | ( | SMDS_Mesh & | mesh, |
double | tolerance, | ||
CoincidentFreeBorders & | foundFreeBordes | ||
) |
Returns TFreeBorder's coincident within the given tolerance. If the tolerance <= 0.0 then one tenth of an average size of elements adjacent to free borders being compared is used.
(Implemented in ./SMESH_FreeBorders.cxx)
const SMDS_MeshElement * SMESH_MeshAlgos::FindFaceInSet | ( | const SMDS_MeshNode * | n1, |
const SMDS_MeshNode * | n2, | ||
const TIDSortedElemSet & | elemSet, | ||
const TIDSortedElemSet & | avoidSet, | ||
int * | i1 = 0 , |
||
int * | i2 = 0 |
||
) |
Return a face having linked nodes n1 and n2 and which is
References SMDS_MeshNode::GetInverseElementIterator(), SMDS_MeshElement::GetNode(), SMDS_MeshElement::GetNodeIndex(), SMDS_MeshElement::interlacedNodesElemIterator(), SMDS_MeshElement::IsQuadratic(), and SMDS_MeshElement::NbNodes().
Referenced by StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), SMESH_ElementSearcherImpl::findOuterBoundary(), SMESH_2D_Algo::FixInternalNodes(), StdMeshers_Penta_3D::LoadIJNodes(), SMESH_MesherHelper::LoadNodeColumns(), SMESH_MeshEditor::MakeBoundaryMesh(), SMESH_MeshEditor::Reorient2D(), and SMESH_MeshEditor::SewSideElements().
void SMESH_MeshAlgos::GetBarycentricCoords | ( | const gp_XY & | point, |
const gp_XY & | t0, | ||
const gp_XY & | t1, | ||
const gp_XY & | t2, | ||
double & | bc0, | ||
double & | bc1 | ||
) |
Returns barycentric coordinates of a point within a triangle. A not returned bc2 = 1. - bc0 - bc1. The point lies within the triangle if ( bc0 >= 0 && bc1 >= 0 && bc0+bc1 <= 1 )
Referenced by FaceQuadStruct::findCell(), and FaceQuadStruct::isNear().
vector< const SMDS_MeshNode * > SMESH_MeshAlgos::GetCommonNodes | ( | const SMDS_MeshElement * | e1, |
const SMDS_MeshElement * | e2 | ||
) |
Return nodes common to two elements.
References SMDS_MeshElement::GetNodeIndex().
Referenced by StdMeshers_QuadToTriaAdaptor::Compute2ndPart(), SMESH_MeshEditor::ConvertFromQuadratic(), and SMESH_ElementSearcherImpl::GetPointState().
double SMESH_MeshAlgos::GetDistance | ( | const SMDS_MeshEdge * | edge, |
const gp_Pnt & | point | ||
) |
Return minimal distance from a point to an edge.
double SMESH_MeshAlgos::GetDistance | ( | const SMDS_MeshElement * | elem, |
const gp_Pnt & | point | ||
) |
Return minimal distance from a point to an element.
Currently we ignore non-planarity and 2nd order of face
References GetDistance(), and SMDS_MeshElement::GetType().
Referenced by SMESH_ElementSearcherImpl::FindClosestTo(), and GetDistance().
double SMESH_MeshAlgos::GetDistance | ( | const SMDS_MeshFace * | face, |
const gp_Pnt & | point | ||
) |
Return minimal distance from a point to a face.
Currently we ignore non-planarity and 2nd order of face
double SMESH_MeshAlgos::GetDistance | ( | const SMDS_MeshVolume * | volume, |
const gp_Pnt & | point | ||
) |
Return minimal distance from a point to a volume.
Currently we ignore non-planarity and 2nd order
References DraftVecUtils::dist(), GetDistance(), SMDS_VolumeTool::GetFaceBaryCenter(), SMDS_VolumeTool::GetFaceNodes(), SMDS_VolumeTool::GetFaceNormal(), SMDS_MeshElement::IsQuadratic(), SMDS_VolumeTool::NbFaceNodes(), SMDS_VolumeTool::NbFaces(), and SMDS_VolumeTool::SetExternalNormal().
SMESH_ElementSearcher * SMESH_MeshAlgos::GetElementSearcher | ( | SMDS_Mesh & | mesh, |
double | tolerance = -1. |
||
) |
Return SMESH_ElementSearcher. The caller is responsible for deleting it.
Return SMESH_ElementSearcher.
References draftutils.utils::tolerance().
Referenced by StdMeshers_QuadToTriaAdaptor::CheckIntersection(), StdMeshers_QuadToTriaAdaptor::Compute(), StdMeshers_QuadToTriaAdaptor::Compute2ndPart(), SMESH_MeshEditor::GetHexaFacetsToSplit(), and SMESH::Controls::ConnectedElements::SetPoint().
SMESH_ElementSearcher * SMESH_MeshAlgos::GetElementSearcher | ( | SMDS_Mesh & | mesh, |
SMDS_ElemIteratorPtr | elemIt, | ||
double | tolerance = -1. |
||
) |
Return SMESH_ElementSearcher acting on a sub-set of elements.
References draftutils.utils::tolerance().
SMESH_NodeSearcher * SMESH_MeshAlgos::GetNodeSearcher | ( | SMDS_Mesh & | mesh | ) |
Return SMESH_NodeSearcher. The caller is responsible for deleting it.
Return SMESH_NodeSearcher.
bool SMESH_MeshAlgos::IsOut | ( | const SMDS_MeshElement * | element, |
const gp_Pnt & | point, | ||
double | tol | ||
) |
Return true if the point is IN or ON of the element.
References DraftVecUtils::dist(), SMDS_MeshElement::GetType(), SMDS_MeshElement::interlacedNodesElemIterator(), IsOut(), and SMDS_VolumeTool::IsOut().
Referenced by SMESH_ElementSearcherImpl::FindElementsByPoint(), SMESH_ElementSearcherImpl::GetPointState(), and IsOut().