xmsstamper  1.0
xms::XmStamperImpl Class Reference

Performs a feature stamp operation The result of the operation is a TIN and a list of breakline segments. More...

Inheritance diagram for xms::XmStamperImpl:
xms::XmStamper

Public Member Functions

virtual void DoStamp (XmStamperIo &a_io) override
 Performs the feature stamping operation. More...
 
virtual const VecPt3dGetPoints () override
 returns the point locations created by the stamp operation. More...
 
virtual const VecInt2dGetSegments () override
 returns breaklines created by the stamp operation. More...
 
virtual const VecIntGetBreaklineTypes () override
 
virtual void SetObserver (BSHP< Observer > a_) override
 
void WriteInputsForDebug ()
 Writes the XmStamperIo class to a file for debugging.
 
bool InputErrorsFound ()
 Checks for input errors. More...
 
void CreateBathymetryIntersector ()
 Creates the intersector for the bathymetry.
 
void GetStampBounds ()
 Gets the bounds of the stamp.
 
void IntersectCenterLineWithBathemetry ()
 Intersects the center line with the bathemetry.
 
void InterpolateMissingCrossSections ()
 Interpolates cross sections for any points that do not have a cross section specified.
 
void DecomposeCenterLine ()
 Decomposes the centerline (more help needed)
 
void ConvertCrossSectionsTo3d ()
 Converts the cross section data to 3d point locations.
 
void ConvertEndCapsTo3d ()
 Converts the cross section data to 3d point locations.
 
void IntersectWithTin ()
 Intersects the feature stampe with the elevation TIN.
 
bool CreateOutputs ()
 Creates the output TIN and breaklines. More...
 
void AddCrossSectionPointsToArray (stXs3dPts &a_csPts, VecPt3d &a_pts, csPtIdx &a_ptIdx)
 puts cross section points into a single array to be used by a TIN More...
 
bool CreateBreakLines (cs3dPtIdx &a_ptIdx)
 Creates breaklines that will be honored in the TIN. More...
 
void AppendTinAndBreakLines (bool a_errors)
 appends to the output TIN and breaklines More...
 
void Convert3dPtsToVec ()
 puts all of the generated 3d points into one vector
 

Public Attributes

BSHP< Observerm_observer
 progress observer
 
XmStamperIo m_io
 
std::vector< XmStamperIom_vIo
 vector of stampers to break up center line where intersections occur
 
BSHP< XmStampInterpCrossSectionm_interp
 
BSHP< XmBathymetryIntersectorm_intersect
 class to intersect the feature stamp with bathemetry
 
BSHP< XmBreaklinesm_breaklineCreator
 class to create breaklines
 
BSHP< VecPt3dm_outPts
 the output points
 
XmStamper3dPts m_3dpts
 3d locations of the stamp operation
 
VecInt2d m_breaklines
 breaklines
 
bool m_error
 flag to indicate that an error has occurred processing the stamp
 
BSHP< TrTinm_tin
 tin created by the stamp operation
 
Pt3d m_stampBoundsMin
 min x,y,z of stamp
 
Pt3d m_stampBoundsMax
 max x,y,z of stamp
 
BSHP< VecPt3dm_curPts
 the output points
 
cs3dPtIdx m_ptIdx
 indexes of point created from stamp
 
VecInt m_blTypes
 type of breakline
 

Additional Inherited Members

- Static Public Member Functions inherited from xms::XmStamper
static BSHP< XmStamperNew ()
 Creates a XmStamper class. More...
 

Detailed Description

Performs a feature stamp operation The result of the operation is a TIN and a list of breakline segments.

Definition at line 56 of file XmStamper.cpp.

Member Function Documentation

◆ AddCrossSectionPointsToArray()

void xms::XmStamperImpl::AddCrossSectionPointsToArray ( stXs3dPts a_csPts,
VecPt3d a_pts,
csPtIdx a_ptIdx 
)

puts cross section points into a single array to be used by a TIN

Parameters
[in]a_csPtsLeft and right points for cross sections
[out]a_ptsThe array of points for the TIN
[out]a_ptIdxThe indexes of the points in the a_pts array

Definition at line 462 of file XmStamper.cpp.

References xms::stXs3dPts::m_centerLine, xms::csPtIdx::m_centerLine, xms::stXs3dPts::m_left, xms::csPtIdx::m_left, xms::stXs3dPts::m_right, and xms::csPtIdx::m_right.

Referenced by Convert3dPtsToVec().

◆ AppendTinAndBreakLines()

void xms::XmStamperImpl::AppendTinAndBreakLines ( bool  a_errors)

appends to the output TIN and breaklines

Parameters
[in]a_errorsflag indicating if there were errors creating the stamp

Definition at line 507 of file XmStamper.cpp.

References m_breaklines, m_error, m_io, xms::XmStamperIo::m_outBreakLines, m_outPts, xms::XmStamperIo::m_outTin, and m_tin.

Referenced by DoStamp().

◆ CreateBreakLines()

bool xms::XmStamperImpl::CreateBreakLines ( cs3dPtIdx a_ptIdx)

Creates breaklines that will be honored in the TIN.

Parameters
[in]a_ptIdxThe indexes of the points in the TIN
Returns
true if breaklines successfully created.

Definition at line 495 of file XmStamper.cpp.

References m_blTypes, m_breaklineCreator, m_io, and xms::XmBreaklines::New().

Referenced by CreateOutputs().

◆ CreateOutputs()

◆ DoStamp()

◆ GetBreaklineTypes()

virtual const VecInt& xms::XmStamperImpl::GetBreaklineTypes ( )
inlineoverridevirtual

returns the type of breakline.

Returns
breakline types.

Definition at line 78 of file XmStamper.cpp.

References m_blTypes.

◆ GetPoints()

virtual const VecPt3d& xms::XmStamperImpl::GetPoints ( )
inlineoverridevirtual

returns the point locations created by the stamp operation.

Returns
points.

Definition at line 68 of file XmStamper.cpp.

References m_outPts.

◆ GetSegments()

virtual const VecInt2d& xms::XmStamperImpl::GetSegments ( )
inlineoverridevirtual

returns breaklines created by the stamp operation.

Returns
segments.

Definition at line 73 of file XmStamper.cpp.

References m_breaklines.

◆ InputErrorsFound()

bool xms::XmStamperImpl::InputErrorsFound ( )

Checks for input errors.

Returns
true or false.

Definition at line 269 of file XmStamper.cpp.

References xms::XmStamperIo::m_centerLine, xms::XmStamperIo::m_cs, m_interp, m_io, xmlog::warning, XM_ENSURE_TRUE, and XM_LOG.

Referenced by DoStamp().

◆ SetObserver()

virtual void xms::XmStamperImpl::SetObserver ( BSHP< Observer a_)
inlineoverridevirtual

sets the observer class to get feedback on the meshing process

Parameters
[in]a_Observer class to provide feedback.

Definition at line 84 of file XmStamper.cpp.

References m_observer.

Member Data Documentation

◆ m_interp

BSHP<XmStampInterpCrossSection> xms::XmStamperImpl::m_interp

cross section interpolator. Interpolates cross sections to points along the polyline in the XmStamperIo class.

Definition at line 92 of file XmStamper.cpp.

Referenced by InputErrorsFound(), and InterpolateMissingCrossSections().

◆ m_io


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