Poly line composed of _Segment's of one EDGE. More...
Public Types | |
typedef vector< _Segment > ::iterator | TSegIterator |
typedef vector< _LayerEdge > ::iterator | TEdgeIterator |
Public Member Functions | |
bool | IsCommonEdgeShared (const _PolyLine &other) |
Return true if _LayerEdge at a common VERTEX between EDGEs with and w/o layer is common to the both _PolyLine's. More... | |
size_t | FirstLEdge () const |
bool | IsAdjacent (const _Segment &seg, const _LayerEdge *LE=0) const |
bool | IsConcave () const |
Return true if the EDGE of this _PolyLine is concave. More... | |
Data Fields | |
StdMeshers_FaceSide * | _wire |
int | _edgeInd |
bool | _advancable |
bool | _isStraight2D |
_PolyLine * | _leftLine |
_PolyLine * | _rightLine |
int | _firstPntInd |
int | _lastPntInd |
int | _index |
vector< _LayerEdge > | _lEdges |
vector< _Segment > | _segments |
_SegmentTree::Ptr | _segTree |
vector< _PolyLine * > | _reachableLines |
vector< const SMDS_MeshNode * > | _leftNodes |
vector< const SMDS_MeshNode * > | _rightNodes |
TIDSortedElemSet | _newFaces |
Poly line composed of _Segment's of one EDGE.
It's used to detect intersection of inflated layers by intersecting _Segment's in 2D.
typedef vector< _LayerEdge >::iterator VISCOUS_2D::_PolyLine::TEdgeIterator |
typedef vector< _Segment >::iterator VISCOUS_2D::_PolyLine::TSegIterator |
size_t VISCOUS_2D::_PolyLine::FirstLEdge | ( | ) | const |
bool VISCOUS_2D::_PolyLine::IsAdjacent | ( | const _Segment & | seg, |
const _LayerEdge * | LE = 0 |
||
) | const |
References VISCOUS_2D::_Segment::_uv.
Referenced by VISCOUS_2D::_ViscousBuilder2D::fixCollisions(), and VISCOUS_2D::_ViscousBuilder2D::inflate().
Return true if _LayerEdge at a common VERTEX between EDGEs with and w/o layer is common to the both _PolyLine's.
If this is true, nodes of this _LayerEdge are inflated along a _PolyLine w/o layer, else the nodes are inflated along _normal2D of _LayerEdge of EDGE with layer
References _lEdges, _leftLine, and _rightLine.
Referenced by VISCOUS_2D::_ViscousBuilder2D::inflate(), VISCOUS_2D::_ViscousBuilder2D::refine(), and VISCOUS_2D::_ViscousBuilder2D::shrink().
bool _PolyLine::IsConcave | ( | ) | const |
bool VISCOUS_2D::_PolyLine::_advancable |
int VISCOUS_2D::_PolyLine::_edgeInd |
int VISCOUS_2D::_PolyLine::_firstPntInd |
int VISCOUS_2D::_PolyLine::_index |
bool VISCOUS_2D::_PolyLine::_isStraight2D |
int VISCOUS_2D::_PolyLine::_lastPntInd |
vector< _LayerEdge > VISCOUS_2D::_PolyLine::_lEdges |
Referenced by VISCOUS_2D::_ViscousBuilder2D::adjustCommonEdge(), VISCOUS_2D::_ViscousBuilder2D::fixCollisions(), VISCOUS_2D::_ViscousBuilder2D::inflate(), IsCommonEdgeShared(), IsConcave(), VISCOUS_2D::_ViscousBuilder2D::makePolyLines(), VISCOUS_2D::_ViscousBuilder2D::refine(), and VISCOUS_2D::_ViscousBuilder2D::shrink().
_PolyLine* VISCOUS_2D::_PolyLine::_leftLine |
vector< const SMDS_MeshNode* > VISCOUS_2D::_PolyLine::_leftNodes |
Referenced by VISCOUS_2D::_ViscousBuilder2D::refine(), and VISCOUS_2D::_ViscousBuilder2D::shrink().
TIDSortedElemSet VISCOUS_2D::_PolyLine::_newFaces |
Referenced by VISCOUS_2D::_ViscousBuilder2D::improve(), and VISCOUS_2D::_ViscousBuilder2D::refine().
vector< _PolyLine* > VISCOUS_2D::_PolyLine::_reachableLines |
_PolyLine* VISCOUS_2D::_PolyLine::_rightLine |
vector< const SMDS_MeshNode* > VISCOUS_2D::_PolyLine::_rightNodes |
vector< _Segment > VISCOUS_2D::_PolyLine::_segments |
_SegmentTree::Ptr VISCOUS_2D::_PolyLine::_segTree |
StdMeshers_FaceSide* VISCOUS_2D::_PolyLine::_wire |