xmsstamper  1.0
xms::XmBreaklinesImpl Class Reference

Implementaion of XmBreaklines. More...

Inheritance diagram for xms::XmBreaklinesImpl:
xms::XmBreaklines

Public Member Functions

virtual bool CreateBreaklines (XmStamperIo &a_io, cs3dPtIdx &a_ptIdx, VecInt &a_blTypes) override
 Creates breaklines. More...
 
virtual const VecIntGetOuterPolygon () override
 Returns the outer polygon of the stamp operation. More...
 
bool BreaklinesIntersect (const VecInt2d &a_bl, const VecPt3d &a_pts) override
 Check if any breakline segments intersect. More...
 
void CreateOuterPolygonBreakline (cs3dPtIdx &a_ptIdx, VecInt &a_leftCsEndPts, VecInt &a_rightCsEndPts, VecInt &a_firstXsPts, VecInt &a_lastXsPts, XmStamperIo &a_io)
 creates a breakline representing the outer polygon of the stamp More...
 
void GetEndCapEndPoints (cs3dPtIdx &a_ptIdx, VecInt &a_firstEndCapEndPts, VecInt &a_lastEndCapEndPts, XmStamperIo &a_io)
 creates a breakline representing the outer polygon of the stamp More...
 

Public Attributes

VecInt m_outerPoly
 
BSHP< RtreeBoxm_rtree
 spatial index to check intersections of breaklines
 
BSHP< XmSlopedAbutmentUtilm_slopedAbutment
 utility class for Sloped Abutment End Caps
 
BSHP< XmGuideBankUtilm_guideBank
 utility class for Guidebank End Caps
 

Additional Inherited Members

- Public Types inherited from xms::XmBreaklines
enum  { BL_CENTERLINE = 0, BL_XSECT, BL_SHOULDER, BL_END }
 enumeration to identify types of breaklines
 
- Static Public Member Functions inherited from xms::XmBreaklines
static BSHP< XmBreaklinesNew ()
 Creates a XmStampInterpCrossSection class. More...
 

Detailed Description

Implementaion of XmBreaklines.

Creates breaklines for the stamp operation.

Definition at line 53 of file XmBreaklines.cpp.

Member Function Documentation

◆ BreaklinesIntersect()

bool xms::XmBreaklinesImpl::BreaklinesIntersect ( const VecInt2d a_bl,
const VecPt3d a_pts 
)
override

Check if any breakline segments intersect.

Parameters
[in]a_blBreaklines (indexes to the points)
[in]a_ptsThe point locations created in the stamp operation
Returns
true if any breakline segments intersect a segment with a non shared point index

Definition at line 277 of file XmBreaklines.cpp.

References gmLinesIntersect(), m_rtree, xms::Pt3< T >::x, and xms::Pt3< T >::y.

◆ CreateBreaklines()

bool xms::XmBreaklinesImpl::CreateBreaklines ( XmStamperIo a_io,
cs3dPtIdx a_ptIdx,
VecInt a_blTypes 
)
overridevirtual

Creates breaklines.

Parameters
[in,out]a_ioXmamperIo class
[in]a_ptIdxThe indexes of the points in the TIN created by stamping
[out]a_blTypesThe type of breakline (centerline, shoulder, xsect)
Returns
true if breaklines successfully created.

Definition at line 112 of file XmBreaklines.cpp.

References CreateOuterPolygonBreakline(), xms::cs3dPtIdx::m_centerLine, xms::XmStamperIo::m_cs, m_guideBank, xms::csPtIdx::m_left, xms::XmStamperIo::m_outBreakLines, xms::csPtIdx::m_right, m_slopedAbutment, and xms::cs3dPtIdx::m_xsPts.

◆ CreateOuterPolygonBreakline()

void xms::XmBreaklinesImpl::CreateOuterPolygonBreakline ( cs3dPtIdx a_ptIdx,
VecInt a_leftCsEndPts,
VecInt a_rightCsEndPts,
VecInt a_firstXsPts,
VecInt a_lastXsPts,
XmStamperIo a_io 
)

creates a breakline representing the outer polygon of the stamp

Parameters
[in]a_ptIdxThe indexes of the points in the TIN
[in]a_leftCsEndPtsLeft side breakline of the stamp
[in]a_rightCsEndPtsRight side breakline of the stamp
[in]a_firstXsPtsBreakline of the first cross section
[in]a_lastXsPtsBreakline of the last cross section
[in,out]a_ioStamperIo class

Definition at line 220 of file XmBreaklines.cpp.

References GetEndCapEndPoints(), and m_outerPoly.

Referenced by CreateBreaklines().

◆ GetEndCapEndPoints()

void xms::XmBreaklinesImpl::GetEndCapEndPoints ( cs3dPtIdx a_ptIdx,
VecInt a_firstEndCapEndPts,
VecInt a_lastEndCapEndPts,
XmStamperIo a_io 
)

creates a breakline representing the outer polygon of the stamp

Parameters
[in]a_ptIdxThe indexes of the points in the TIN
[out]a_firstEndCapEndPtsfirst end cap ending points
[out]a_lastEndCapEndPtslast end cap ending points
[in,out]a_ioStamperIo class

Definition at line 256 of file XmBreaklines.cpp.

References xms::XmStamperIo::m_firstEndCap, m_guideBank, m_slopedAbutment, and xms::XmStamperEndCap::m_type.

Referenced by CreateOuterPolygonBreakline().

◆ GetOuterPolygon()

virtual const VecInt& xms::XmBreaklinesImpl::GetOuterPolygon ( )
inlineoverridevirtual

Returns the outer polygon of the stamp operation.

Returns
The outer polyogn.

Definition at line 64 of file XmBreaklines.cpp.

References m_outerPoly.

Member Data Documentation

◆ m_outerPoly

VecInt xms::XmBreaklinesImpl::m_outerPoly

outer polygon of the stamp operation

Definition at line 78 of file XmBreaklines.cpp.

Referenced by CreateOuterPolygonBreakline(), and GetOuterPolygon().


The documentation for this class was generated from the following file: