#include <StdMeshers_Quadrangle_2D.hxx>
Classes | |
| struct | ForcedPoint |
Public Member Functions | |
| FaceQuadStruct::Ptr | CheckAnd2Dcompute (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, const bool CreateQuadratic) |
| virtual bool | CheckHypothesis (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, Hypothesis_Status &aStatus) |
| Check hypothesis definition to mesh a shape. More... | |
| FaceQuadStruct::Ptr | CheckNbEdges (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, const bool considerMesh=false) |
| virtual bool | Compute (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape) |
| Computes mesh on a shape. More... | |
| virtual bool | Evaluate (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, MapShapeNbElems &aResMap) |
| StdMeshers_Quadrangle_2D (int hypId, int studyId, SMESH_Gen *gen) | |
| virtual | ~StdMeshers_Quadrangle_2D () |
Public Member Functions inherited from SMESH_2D_Algo | |
| virtual bool | FixInternalNodes (const SMESH_ProxyMesh &mesh, const TopoDS_Face &face) |
| Method in which an algorithm generating a structured mesh fixes positions of in-face nodes after there movement due to insertion of viscous layers. More... | |
| int | NumberOfPoints (SMESH_Mesh &aMesh, const TopoDS_Wire &W) |
| int | NumberOfWires (const TopoDS_Shape &S) |
| SMESH_2D_Algo (int hypId, int studyId, SMESH_Gen *gen) | |
| SMESH_2D_Algo (int hypId, int studyId, SMESH_Gen *gen) | |
| virtual | ~SMESH_2D_Algo () |
Public Member Functions inherited from SMESH_Algo | |
| virtual void | CancelCompute () |
| Sets _computeCanceled to true. It's usage depends on implementation of a particular mesher. More... | |
| virtual bool | CheckHypothesis (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, SMESH_Hypothesis::Hypothesis_Status &aStatus)=0 |
| Check hypothesis definition to mesh a shape. More... | |
| virtual bool | Compute (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape)=0 |
| Computes mesh on a shape. More... | |
| virtual bool | Compute (SMESH_Mesh &aMesh, SMESH_MesherHelper *aHelper) |
| Computes mesh without geometry. More... | |
| virtual bool | Evaluate (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, MapShapeNbElems &aResMap)=0 |
| evaluates size of prospective mesh on a shape More... | |
| const std::list< const SMESHDS_Hypothesis * > & | GetAppliedHypothesis (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, const bool ignoreAuxiliary=true) const |
| Returns a list of compatible hypotheses assigned to a shape in a mesh. More... | |
| const SMESH_HypoFilter * | GetCompatibleHypoFilter (const bool ignoreAuxiliary) const |
| Returns the filter recognizing only compatible hypotheses. More... | |
| const std::vector< std::string > & | GetCompatibleHypothesis () |
| Returns all types of compatible hypotheses. More... | |
| SMESH_ComputeErrorPtr | GetComputeError () const |
| return compute error More... | |
| const Features & | GetFeatures () const |
| virtual double | GetProgress () const |
| If possible, returns progress of computation [0.,1.]. More... | |
| double | GetProgressByTic () const |
| Return compute progress by nb of calls of this method. More... | |
| virtual const std::list< const SMESHDS_Hypothesis * > & | GetUsedHypothesis (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, const bool ignoreAuxiliary=true) const |
| Returns a list of compatible hypotheses used to mesh a shape. More... | |
| void | InitComputeError () |
| initialize compute error etc. before call of Compute() More... | |
| virtual std::istream & | LoadFrom (std::istream &load) |
| Loads nothing from a stream. More... | |
| bool | NeedDiscreteBoundary () const |
| bool | NeedLowerHyps (int dim) const |
| bool | NeedShape () const |
| int | NumberOfPoints (SMESH_Mesh &aMesh, const TopoDS_Wire &W) |
| bool | OnlyUnaryInput () const |
| virtual std::ostream & | SaveTo (std::ostream &save) |
| Saves nothing in a stream. More... | |
| virtual void | SetEventListener (SMESH_subMesh *subMesh) |
| Sets event listener to submeshes if necessary. More... | |
| virtual bool | SetParametersByDefaults (const TDefaults &dflts, const SMESH_Mesh *theMesh=0) |
| Initialize my parameter values by default parameters. More... | |
| virtual bool | SetParametersByMesh (const SMESH_Mesh *theMesh, const TopoDS_Shape &theShape) |
| Just return false as the algorithm does not hold parameters values. More... | |
| SMESH_Algo (int hypId, int studyId, SMESH_Gen *gen) | |
| Creates algorithm. More... | |
| std::vector< SMESH_subMesh * > & | SubMeshesToCompute () |
| virtual void | SubmeshRestored (SMESH_subMesh *subMesh) |
| Allow algo to do something after persistent restoration. More... | |
| bool | SupportSubmeshes () const |
| virtual | ~SMESH_Algo () |
| Destructor. More... | |
Public Member Functions inherited from SMESH_Hypothesis | |
| void | ClearParameters () |
| virtual bool | DataDependOnParams () const |
| The returned value is used by NotifySubMeshesHypothesisModification() to decide to call subMesh->AlgoStateEngine( MODIF_HYP, hyp ) or not if subMesh is ready to be computed (algo+hyp==OK) but not yet computed. True result is reasonable for example if EventListeners depend on parameters of hypothesis. More... | |
| virtual int | GetDim () const |
| SMESH_Gen * | GetGen () const |
| char * | GetLastParameters () const |
| virtual const char * | GetLibName () const |
| SMESH_Mesh * | GetMeshByPersistentID (int id) |
| Find a mesh with given persistent ID. More... | |
| char * | GetParameters () const |
| virtual int | GetShapeType () const |
| int | GetStudyId () const |
| virtual bool | IsAuxiliary () const |
| Return true if me is an auxiliary hypothesis. More... | |
| virtual void | NotifySubMeshesHypothesisModification () |
| void | SetLastParameters (const char *theParameters) |
| void | SetLibName (const char *theLibName) |
| void | SetParameters (const char *theParameters) |
| virtual bool | SetParametersByDefaults (const TDefaults &dflts, const SMESH_Mesh *theMesh=0)=0 |
| Initialize my parameter values by default parameters. More... | |
| virtual bool | SetParametersByMesh (const SMESH_Mesh *theMesh, const TopoDS_Shape &theShape)=0 |
| Initialize my parameter values by the mesh built on the geometry. More... | |
| SMESH_Hypothesis (int hypId, int studyId, SMESH_Gen *gen) | |
| virtual | ~SMESH_Hypothesis () |
Public Member Functions inherited from SMESHDS_Hypothesis | |
| int | GetID () const |
| const char * | GetName () const |
| int | GetType () const |
| bool | IsSameName (const SMESHDS_Hypothesis &other) const |
| Compare types of hypotheses. More... | |
| virtual std::istream & | LoadFrom (std::istream &load)=0 |
| bool | operator!= (const SMESHDS_Hypothesis &other) const |
| virtual bool | operator== (const SMESHDS_Hypothesis &other) const |
| virtual std::ostream & | SaveTo (std::ostream &save)=0 |
| SMESHDS_Hypothesis (int hypId) | |
| virtual | ~SMESHDS_Hypothesis () |
Static Public Member Functions | |
| static bool | IsApplicable (const TopoDS_Shape &aShape, bool toCheckAll) |
| Return true if the algorithm can mesh this shape. More... | |
Static Public Member Functions inherited from SMESH_Algo | |
| static GeomAbs_Shape | Continuity (TopoDS_Edge E1, TopoDS_Edge E2) |
| Return continuity of two edges. More... | |
| static double | EdgeLength (const TopoDS_Edge &E) |
| Compute length of an edge. More... | |
| static const Features & | GetFeatures (const std::string &algoType) |
| Returns a structure describing algorithm features. More... | |
| static EMeshError | GetMeshError (SMESH_subMesh *subMesh) |
| Finds topological errors of a sub-mesh. More... | |
| static bool | GetNodeParamOnEdge (const SMESHDS_Mesh *theMesh, const TopoDS_Edge &theEdge, std::vector< double > &theParams) |
| Fill vector of node parameters on geometrical edge, including vertex nodes. More... | |
| static bool | GetSortedNodesOnEdge (const SMESHDS_Mesh *theMesh, const TopoDS_Edge &theEdge, const bool ignoreMediumNodes, std::map< double, const SMDS_MeshNode * > &theNodes, const SMDSAbs_ElementType typeToCheck=SMDSAbs_All) |
| Fill map of node parameter on geometrical edge to node it-self. More... | |
| static bool | IsContinuous (const TopoDS_Edge &E1, const TopoDS_Edge &E2) |
| Return true if an edge can be considered as a continuation of another. More... | |
| static bool | isDegenerated (const TopoDS_Edge &E) |
| Return true if an edge has no 3D curve. More... | |
| static bool | IsStraight (const TopoDS_Edge &E, const bool degenResult=false) |
| Return true if an edge can be considered straight. More... | |
| static const SMDS_MeshNode * | VertexNode (const TopoDS_Vertex &V, const SMESH_Mesh *mesh) |
| Return the node built on a vertex. A node moved to other geometry by MergeNodes() is also returned. More... | |
| static const SMDS_MeshNode * | VertexNode (const TopoDS_Vertex &V, const SMESHDS_Mesh *meshDS) |
| Return the node built on a vertex. More... | |
| static const SMDS_MeshNode * | VertexNode (const TopoDS_Vertex &V, const SMESHDS_SubMesh *edgeSM, const SMESH_Mesh *mesh, const bool checkV=true) |
| Return the node built on a vertex. A node moved to other geometry by MergeNodes() is also returned. More... | |
Static Public Member Functions inherited from SMESH_Hypothesis | |
| static bool | IsStatusFatal (Hypothesis_Status theStatus) |
Protected Types | |
| typedef std::map< StdMeshers_FaceSidePtr, std::vector< FaceQuadStruct::Ptr > > | TQuadsBySide |
Protected Member Functions | |
| bool | addEnforcedNodes () |
| Splits quads by adding points of enforced nodes and create nodes on the sides shared by quads. More... | |
| bool | check () |
| Checks validity of generated faces. More... | |
| bool | checkNbEdgesForEvaluate (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, MapShapeNbElems &aResMap, std::vector< int > &aNbNodes, bool &IsQuadratic) |
| bool | computeQuadDominant (SMESH_Mesh &aMesh, const TopoDS_Face &aFace) |
| Compute quadrangles and possibly triangles on all quads of myQuadList. More... | |
| bool | computeQuadDominant (SMESH_Mesh &aMesh, const TopoDS_Face &aFace, FaceQuadStruct::Ptr quad) |
| Compute quadrangles and possibly triangles. More... | |
| bool | computeQuadPref (SMESH_Mesh &aMesh, const TopoDS_Face &aFace, FaceQuadStruct::Ptr quad) |
| bool | computeReduced (SMESH_Mesh &aMesh, const TopoDS_Face &aFace, FaceQuadStruct::Ptr quad) |
| bool | computeTriangles (SMESH_Mesh &aMesh, const TopoDS_Face &aFace, FaceQuadStruct::Ptr quad) |
| Compute quadrangles and triangles on the quad. More... | |
| bool | evaluateQuadPref (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, std::vector< int > &aNbNodes, MapShapeNbElems &aResMap, bool isQuadratic) |
| int | getCorners (const TopoDS_Face &theFace, SMESH_Mesh &theMesh, std::list< TopoDS_Edge > &theWire, std::vector< TopoDS_Vertex > &theVertices, int &theNbDegenEdges, const bool considerMesh) |
| bool | getEnforcedUV () |
| Fills myForcedPnts. More... | |
| bool | setNormalizedGrid (FaceQuadStruct::Ptr quad) |
| void | shiftQuad (FaceQuadStruct::Ptr &quad, const int num) |
| void | smooth (FaceQuadStruct::Ptr quad) |
| Perform smoothing of 2D elements on a FACE with ignored degenerated EDGE. More... | |
| int | splitQuad (FaceQuadStruct::Ptr quad, int i, int j) |
| Splits a quad at I or J. Returns an index of a new side in the new quad. More... | |
| void | splitQuadFace (SMESHDS_Mesh *theMeshDS, const int theFaceID, const SMDS_MeshNode *theNode1, const SMDS_MeshNode *theNode2, const SMDS_MeshNode *theNode3, const SMDS_MeshNode *theNode4) |
| void | updateDegenUV (FaceQuadStruct::Ptr quad) |
| Set UV of nodes on degenerated VERTEXes in the middle of degenerated EDGE. More... | |
| void | updateSideUV (FaceQuadStruct::Side &side, int iForced, const TQuadsBySide &quads, int *iNext=NULL) |
| Updates UV of a side after moving its node. More... | |
Protected Member Functions inherited from SMESH_Algo | |
| void | addBadInputElement (const SMDS_MeshElement *elem) |
| store a bad input element preventing computation, which may be a temporary one i.e. not residing the mesh, then it will be deleted by InitComputeError() More... | |
| void | addBadInputElements (const SMESHDS_SubMesh *sm, const bool addNodes=false) |
| bool | error (const SMESH_Comment &comment="") |
| store COMPERR_ALGO_FAILED error and comment and then return false More... | |
| bool | error (int error, const SMESH_Comment &comment="") |
| store error and comment and then return ( error == COMPERR_OK ) More... | |
| bool | error (SMESH_ComputeErrorPtr error) |
| store error and return error->IsOK() More... | |
Protected Attributes | |
| bool | myCheckOri |
| std::vector< ForcedPoint > | myForcedPnts |
| SMESH_MesherHelper * | myHelper |
| bool | myNeedSmooth |
| const StdMeshers_QuadrangleParams * | myParams |
| SMESH_ProxyMesh::Ptr | myProxyMesh |
| std::list< FaceQuadStruct::Ptr > | myQuadList |
| bool | myQuadranglePreference |
| StdMeshers_QuadType | myQuadType |
| bool | myTrianglePreference |
| int | myTriaVertexID |
Additional Inherited Members | |
Public Types inherited from SMESH_Algo | |
| enum | EMeshError { MEr_OK = 0 , MEr_HOLES , MEr_BAD_ORI , MEr_EMPTY } |
Public Types inherited from SMESH_Hypothesis | |
| enum | Hypothesis_Status { HYP_OK = 0 , HYP_MISSING , HYP_CONCURENT , HYP_BAD_PARAMETER , HYP_HIDDEN_ALGO , HYP_HIDING_ALGO , HYP_UNKNOWN_FATAL , HYP_INCOMPATIBLE , HYP_NOTCONFORM , HYP_ALREADY_EXIST , HYP_BAD_DIM , HYP_BAD_SUBSHAPE , HYP_BAD_GEOMETRY , HYP_NEED_SHAPE , HYP_INCOMPAT_HYPS } |
Public Types inherited from SMESHDS_Hypothesis | |
| enum | hypothesis_type { PARAM_ALGO , ALGO_0D , ALGO_1D , ALGO_2D , ALGO_3D } |
|
protected |
|
virtual |
|
protected |
Splits quads by adding points of enforced nodes and create nodes on the sides shared by quads.
References SMESH_MesherHelper::AddNode(), FaceQuadStruct::Side::contacts, SMESH_Algo::error(), FaceQuadStruct::Side::forced_nodes, FaceQuadStruct::Side::from, SMESH_MesherHelper::GetMesh(), SMESH_MesherHelper::GetMeshDS(), SMESH_MesherHelper::GetSubShape(), FaceQuadStruct::Side::GetUVPtStruct(), FaceQuadStruct::Side::grid, FaceQuadStruct::Side::IsForced(), myForcedPnts, myHelper, myNeedSmooth, myQuadList, FaceQuadStruct::Side::nbNodeOut, uvPtStruct::node, setNormalizedGrid(), SMESHDS_Mesh::ShapeToIndex(), splitQuad(), FaceQuadStruct::Side::to, FaceQuadStruct::Side::ToSideIndex(), uvPtStruct::u, updateSideUV(), and uvPtStruct::v.
Referenced by computeQuadDominant().
|
protected |
Checks validity of generated faces.
References DraftVecUtils::angle(), SMESH_MesherHelper::GetAngle(), SMESH_subMesh::GetComputeError(), SMESHDS_SubMesh::GetElements(), StdMeshers_FaceSide::GetFaceWires(), SMESH_MesherHelper::GetMesh(), SMESH_MesherHelper::GetMeshDS(), SMDS_MeshElement::GetNode(), SMESH_MesherHelper::GetNodeUV(), SMDS_MeshElement::getshapeId(), SMESH_Mesh::GetSubMesh(), SMESH_MesherHelper::GetSubShape(), SMESH_MesherHelper::HasSeam(), SMESH_MesherHelper::IsSeamShape(), SMESHDS_Mesh::MeshElements(), myCheckOri, myHelper, myQuadList, SMDS_MeshElement::NbCornerNodes(), draftgeoutils.general::v1(), and SMESH_MesherHelper::WrapIndex().
Referenced by Compute(), and femsolver.run.Machine::reset().
| FaceQuadStruct::Ptr StdMeshers_Quadrangle_2D::CheckAnd2Dcompute | ( | SMESH_Mesh & | aMesh, |
| const TopoDS_Shape & | aShape, | ||
| const bool | CreateQuadratic | ||
| ) |
CheckAnd2Dcompute
References CheckNbEdges(), and setNormalizedGrid().
|
virtual |
Check hypothesis definition to mesh a shape.
| aMesh | - the mesh |
| aShape | - the shape |
| aStatus | - check result |
| bool | - true if hypothesis is well defined |
Textual description of a problem can be stored in _comment field.
Implements SMESH_Algo.
Reimplemented in StdMeshers_QuadFromMedialAxis_1D2D.
References StdMeshers_ViscousLayers2D::CheckHypothesis(), SMESH_Algo::error(), SMESHDS_Hypothesis::GetName(), StdMeshers_QuadrangleParams::GetQuadType(), StdMeshers_QuadrangleParams::GetTriaVertex(), SMESH_Algo::GetUsedHypothesis(), SMESH_Hypothesis::HYP_OK, myHelper, myParams, myQuadList, myQuadranglePreference, myQuadType, myTrianglePreference, and myTriaVertexID.
| FaceQuadStruct::Ptr StdMeshers_Quadrangle_2D::CheckNbEdges | ( | SMESH_Mesh & | aMesh, |
| const TopoDS_Shape & | aShape, | ||
| const bool | considerMesh = false |
||
| ) |
References SMESH_Algo::error(), getCorners(), SMESH_Block::GetOrderedEdges(), SMESH_Algo::isDegenerated(), SMESH_MesherHelper::IthVertex(), myHelper, myNeedSmooth, myProxyMesh, myQuadList, and StdMeshers_FaceSide::New().
Referenced by CheckAnd2Dcompute(), StdMeshers_Hexa_3D::Compute(), and Compute().
|
protected |
References SMESH_Algo::error(), SMESH_Mesh::GetMeshDS(), SMESH_Block::GetOrderedEdges(), SMESH_Mesh::GetSubMesh(), SMESHDS_Mesh::IndexToShape(), SMESH_Algo::IsContinuous(), and myTriaVertexID.
Referenced by Evaluate().
|
virtual |
Computes mesh on a shape.
| aMesh | - the mesh |
| aShape | - the shape |
| bool | - is a success |
Algorithms that !NeedDiscreteBoundary() || !OnlyUnaryInput() are to set SMESH_ComputeError returned by SMESH_submesh::GetComputeError() to report problematic sub-shapes
Implements SMESH_Algo.
Reimplemented in StdMeshers_QuadFromMedialAxis_1D2D.
References check(), CheckNbEdges(), StdMeshers_ViscousLayers2D::Compute(), computeQuadDominant(), computeQuadPref(), computeReduced(), computeTriangles(), SMESH_Algo::error(), getEnforcedUV(), SMESH_Mesh::GetSubMesh(), SMESH_MesherHelper::IsQuadraticSubMesh(), myCheckOri, myHelper, myNeedSmooth, myProxyMesh, myQuadList, myQuadranglePreference, myQuadType, SMESH_MesherHelper::SetElementsOnShape(), smooth(), and updateDegenUV().
|
protected |
Compute quadrangles and possibly triangles on all quads of myQuadList.
References addEnforcedNodes(), computeQuadDominant(), and myQuadList.
Referenced by Compute(), computeQuadDominant(), computeQuadPref(), and computeTriangles().
|
protected |
Compute quadrangles and possibly triangles.
References SMESH_MesherHelper::AddFace(), SMESHDS_Mesh::AddNode(), DraftVecUtils::dist(), SMESH_Algo::error(), SMESH_subMesh::GetComputeError(), SMESH_Mesh::GetMeshDS(), SMESH_Mesh::GetSubMesh(), myHelper, myTrianglePreference, uvPtStruct::node, SMESHDS_Mesh::SetNodeOnFace(), setNormalizedGrid(), SMESHDS_Mesh::ShapeToIndex(), splitQuadFace(), uvPtStruct::u, uvPtStruct::v, SMDS_MeshNode::X(), SMDS_MeshNode::Y(), and SMDS_MeshNode::Z().
|
protected |
Create only quandrangle faces
References SMESH_MesherHelper::AddFace(), SMESHDS_Mesh::AddNode(), SMESH_MesherHelper::AddNode(), computeQuadDominant(), computeQuadPref(), SMESH_Algo::error(), SMESH_Mesh::GetMeshDS(), FaceQuadStruct::SideIterator::Init(), myForcedPnts, myHelper, myQuadList, myQuadType, StdMeshers_FaceSide::New(), uvPtStruct::node, SMESHDS_Mesh::SetNodeOnFace(), SMESHDS_Mesh::ShapeToIndex(), shiftQuad(), FaceQuadStruct::side, uvPtStruct::u, uvPtStruct::v, and uvPtStruct::x.
Referenced by Compute(), and computeQuadPref().
|
protected |
Implementation of Reduced algorithm (meshing with quadrangles only)
References SMESH_MesherHelper::AddFace(), SMESHDS_Mesh::AddNode(), SMESH_Algo::error(), SMESH_Mesh::GetMeshDS(), myHelper, uvPtStruct::node, SMESHDS_Mesh::SetNodeOnFace(), SMESHDS_Mesh::ShapeToIndex(), and shiftQuad().
Referenced by Compute().
|
protected |
Compute quadrangles and triangles on the quad.
References computeQuadDominant(), myQuadList, setNormalizedGrid(), and splitQuad().
Referenced by Compute().
|
virtual |
Evaluate
Implements SMESH_Algo.
Reimplemented in StdMeshers_QuadFromMedialAxis_1D2D.
References checkNbEdgesForEvaluate(), evaluateQuadPref(), SMESH_subMesh::GetComputeError(), SMESH_Mesh::GetSubMesh(), and myQuadranglePreference.
Referenced by StdMeshers_QuadFromMedialAxis_1D2D::Evaluate().
|
protected |
Evaluate only quandrangle faces
References SMESH_Mesh::GetSubMesh(), and myQuadType.
Referenced by Evaluate().
|
protected |
References SMESH_Algo::isDegenerated().
Referenced by CheckNbEdges().
|
protected |
Fills myForcedPnts.
References SMESH_MesherHelper::AddNode(), SMESH_subMesh::COMPUTE, SMESH_subMesh::ComputeStateEngine(), SMESH_Algo::error(), StdMeshers_QuadrangleParams::GetEnforcedNodes(), SMESH_Mesh::GetHypothesis(), SMESH_MesherHelper::GetMesh(), SMESH_MesherHelper::GetMeshDS(), SMESH_Mesh::GetSubMesh(), SMESH_MesherHelper::GetSubShape(), SMESH_HypoFilter::Is(), SMESH_MesherHelper::IsSubShape(), myForcedPnts, myHelper, myParams, StdMeshers_Quadrangle_2D::ForcedPoint::node, DraftVecUtils::project(), StdMeshers_Quadrangle_2D::ForcedPoint::uv, draftgeoutils.general::v1(), StdMeshers_Quadrangle_2D::ForcedPoint::vertex, SMESH_Algo::VertexNode(), and StdMeshers_Quadrangle_2D::ForcedPoint::xyz.
Referenced by Compute().
Return true if the algorithm can mesh this shape.
| [in] | aShape | - shape to check |
| [in] | toCheckAll | - if true, this check returns OK if all shapes are OK, else, returns OK if at least one shape is OK |
References SMESH_MesherHelper::Count(), and SMESH_Algo::isDegenerated().
|
protected |
References FaceQuadStruct::SideIterator::Count(), SMESH_Algo::error(), FaceQuadStruct::Side::First(), FaceQuadStruct::Side::GetUVPtStruct(), FaceQuadStruct::Side::grid, FaceQuadStruct::SideIterator::Init(), FaceQuadStruct::Side::Last(), FaceQuadStruct::SideIterator::More(), myQuadList, FaceQuadStruct::Side::NbPoints(), FaceQuadStruct::SideIterator::Next(), uvPtStruct::node, uvPtStruct::normParam, uvPtStruct::u, uvPtStruct::UV(), FaceQuadStruct::SideIterator::UVPt(), uvPtStruct::v, uvPtStruct::x, and uvPtStruct::y.
Referenced by addEnforcedNodes(), CheckAnd2Dcompute(), computeQuadDominant(), computeTriangles(), and updateSideUV().
|
protected |
References myQuadList.
Referenced by computeQuadPref(), and computeReduced().
|
protected |
Perform smoothing of 2D elements on a FACE with ignored degenerated EDGE.
References SMESH_MesherHelper::calcTFI(), SMDS_MeshNode::GetInverseElementIterator(), SMESH_MesherHelper::GetMeshDS(), SMDS_MeshElement::GetNode(), SMESHDS_SubMesh::GetNodes(), SMESH_MesherHelper::GetNodeUV(), SMDS_MeshElement::getshapeId(), SMESH_MesherHelper::GetSubShapeID(), SMESH_MesherHelper::GetTLinkNodeMap(), SMESH_MesherHelper::HasDegeneratedEdges(), femsolver.elmer.sifio::isValid(), SMESHDS_Mesh::MeshElements(), SMESHDS_Mesh::MoveNode(), myForcedPnts, myHelper, myNeedSmooth, myQuadList, SMDS_MeshElement::NbCornerNodes(), uvPtStruct::node, SMESH_TLink::node1(), SMESH_TLink::node2(), SMDS_MeshNode::SetPosition(), uvPtStruct::u, uvPtStruct::UV(), uvPtStruct::v, SMESH_MesherHelper::WrapIndex(), SMDS_MeshNode::X(), uvPtStruct::x, and uvPtStruct::y.
Referenced by Compute().
|
protected |
Splits a quad at I or J. Returns an index of a new side in the new quad.
References FaceQuadStruct::Side::AddContact(), myQuadList, FaceQuadStruct::name, StdMeshers_FaceSide::New(), FaceQuadStruct::side, and FaceQuadStruct::Side::ToSideIndex().
Referenced by addEnforcedNodes(), and computeTriangles().
|
protected |
Split quadrangle in to 2 triangles by smallest diagonal
References SMESH_MesherHelper::AddFace(), and myHelper.
Referenced by computeQuadDominant().
|
protected |
Set UV of nodes on degenerated VERTEXes in the middle of degenerated EDGE.
WARNING: this method must be called AFTER retrieving UVPtStruct's from quad
References SMESH_MesherHelper::IsDegenShape(), myHelper, myNeedSmooth, StdMeshers_FaceSide::New(), uvPtStruct::u, and uvPtStruct::v.
Referenced by Compute().
|
protected |
Updates UV of a side after moving its node.
References FaceQuadStruct::Side::forced_nodes, SMESH_MesherHelper::GetSubShape(), FaceQuadStruct::Side::GetUVPtStruct(), FaceQuadStruct::Side::grid, myHelper, FaceQuadStruct::Side::NbPoints(), StdMeshers_FaceSide::New(), setNormalizedGrid(), uvPtStruct::u, updateSideUV(), and uvPtStruct::v.
Referenced by addEnforcedNodes(), and updateSideUV().
|
protected |
Referenced by addEnforcedNodes(), computeQuadPref(), getEnforcedUV(), and smooth().
|
protected |
|
protected |
Referenced by addEnforcedNodes(), CheckNbEdges(), Compute(), smooth(), and updateDegenUV().
|
protected |
Referenced by CheckHypothesis(), and getEnforcedUV().
|
protected |
Referenced by CheckNbEdges(), and Compute().
|
protected |
|
protected |
Referenced by CheckHypothesis(), Compute(), and Evaluate().
|
protected |
Referenced by CheckHypothesis(), Compute(), computeQuadPref(), and evaluateQuadPref().
|
protected |
Referenced by CheckHypothesis(), and computeQuadDominant().
|
protected |
Referenced by CheckHypothesis(), and checkNbEdgesForEvaluate().