Version: 8.3.0
VISCOUS_2D::_PolyLine Struct Reference

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
 

Detailed Description

Poly line composed of _Segment's of one EDGE.

It's used to detect intersection of inflated layers by intersecting _Segment's in 2D.

Member Typedef Documentation

typedef vector< _LayerEdge >::iterator VISCOUS_2D::_PolyLine::TEdgeIterator
typedef vector< _Segment >::iterator VISCOUS_2D::_PolyLine::TSegIterator

Member Function Documentation

size_t VISCOUS_2D::_PolyLine::FirstLEdge ( ) const
bool VISCOUS_2D::_PolyLine::IsAdjacent ( const _Segment seg,
const _LayerEdge LE = 0 
) const
bool _PolyLine::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.

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

Return true if the EDGE of this _PolyLine is concave.

References _lEdges.

Field Documentation

bool VISCOUS_2D::_PolyLine::_isStraight2D
vector< const SMDS_MeshNode* > VISCOUS_2D::_PolyLine::_leftNodes