Version: 8.3.0
SMESH_MAT2d::Boundary Class Reference

Face boundary is discretized so that each its segment to correspond to an edge of MA. More...

#include <SMESH_MAT2d.hxx>

Public Member Functions

 Boundary (std::size_t nbEdges)
 
BndPointsgetPoints (std::size_t iEdge)
 
std::size_t nbEdges () const
 
bool getPoint (std::size_t iEdge, std::size_t iSeg, double u, BoundaryPoint &bp) const
 Returns a boundary point on a given EDGE. More...
 
bool getBranchPoint (const std::size_t iEdge, double u, BranchPoint &p) const
 Returns a BranchPoint corresponding to a given point on a geom EDGE. More...
 
bool getBranchPoint (const BoundaryPoint &bp, BranchPoint &p) const
 Returns a BranchPoint corresponding to a given BoundaryPoint on a geom EDGE. More...
 
bool isConcaveSegment (std::size_t iEdge, std::size_t iSeg) const
 Check if a given boundary segment is a null-length segment on a concave boundary corner. More...
 
bool moveToClosestEdgeEnd (BoundaryPoint &bp) const
 Moves (changes _param) a given BoundaryPoint to a closest EDGE end. More...
 

Private Attributes

std::vector< BndPoints_pointsPerEdge
 

Detailed Description

Face boundary is discretized so that each its segment to correspond to an edge of MA.

Constructor & Destructor Documentation

SMESH_MAT2d::Boundary::Boundary ( std::size_t  nbEdges)

Member Function Documentation

bool SMESH_MAT2d::Boundary::getBranchPoint ( const std::size_t  iEdge,
double  u,
BranchPoint p 
) const

Returns a BranchPoint corresponding to a given point on a geom EDGE.

Parameters
[in]iEdge- index of geom EDGE within a vector passed at MA construction
[in]u- parameter of the point on EDGE curve
[out]p- the found BranchPoint
Returns
bool - is OK

References SMESH_MAT2d::BranchPoint::_branch, SMESH_MAT2d::BranchPoint::_edgeParam, SMESH_MAT2d::BranchPoint::_iEdge, SMESH_MAT2d::BndPoints::_maEdges, and SMESH_MAT2d::BndPoints::_params.

bool SMESH_MAT2d::Boundary::getBranchPoint ( const BoundaryPoint bp,
BranchPoint p 
) const

Returns a BranchPoint corresponding to a given BoundaryPoint on a geom EDGE.

Parameters
[in]bp- the BoundaryPoint
[out]p- the found BranchPoint
Returns
bool - is OK

References SMESH_MAT2d::BoundaryPoint::_edgeIndex, and SMESH_MAT2d::BoundaryPoint::_param.

bool SMESH_MAT2d::Boundary::getPoint ( std::size_t  iEdge,
std::size_t  iSeg,
double  u,
BoundaryPoint bp 
) const

Returns a boundary point on a given EDGE.

Parameters
[in]iEdge- index of the EDGE within MedialAxis
[in]iSeg- index of a boundary segment within this Branch
[in]u- [0;1] normalized param within iSeg-th segment
[out]bp- the found BoundaryPoint
Returns
bool - true if the BoundaryPoint is found

References SMESH_MAT2d::BoundaryPoint::_edgeIndex, and SMESH_MAT2d::BoundaryPoint::_param.

BndPoints& SMESH_MAT2d::Boundary::getPoints ( std::size_t  iEdge)
bool SMESH_MAT2d::Boundary::isConcaveSegment ( std::size_t  iEdge,
std::size_t  iSeg 
) const

Check if a given boundary segment is a null-length segment on a concave boundary corner.

Parameters
[in]iEdge- index of a geom EDGE
[in]iSeg- index of a boundary segment
Returns
bool - true if the segment is on concave corner

References SMESH_MAT2d::BndPoints::_params, and Abs().

bool SMESH_MAT2d::Boundary::moveToClosestEdgeEnd ( BoundaryPoint bp) const
std::size_t SMESH_MAT2d::Boundary::nbEdges ( ) const

Field Documentation

std::vector< BndPoints > SMESH_MAT2d::Boundary::_pointsPerEdge
private