xmsstamper
1.0
|
Performs a feature stamp operation The result of the operation is a TIN and a list of breakline segments. More...
Public Member Functions | |
virtual void | DoStamp (XmStamperIo &a_io) override |
Performs the feature stamping operation. More... | |
virtual const VecPt3d & | GetPoints () override |
returns the point locations created by the stamp operation. More... | |
virtual const VecInt2d & | GetSegments () override |
returns breaklines created by the stamp operation. More... | |
virtual const VecInt & | GetBreaklineTypes () 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< Observer > | m_observer |
progress observer | |
XmStamperIo | m_io |
std::vector< XmStamperIo > | m_vIo |
vector of stampers to break up center line where intersections occur | |
BSHP< XmStampInterpCrossSection > | m_interp |
BSHP< XmBathymetryIntersector > | m_intersect |
class to intersect the feature stamp with bathemetry | |
BSHP< XmBreaklines > | m_breaklineCreator |
class to create breaklines | |
BSHP< VecPt3d > | m_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< TrTin > | m_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< VecPt3d > | m_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< XmStamper > | New () |
Creates a XmStamper class. More... | |
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.
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
[in] | a_csPts | Left and right points for cross sections |
[out] | a_pts | The array of points for the TIN |
[out] | a_ptIdx | The 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().
void xms::XmStamperImpl::AppendTinAndBreakLines | ( | bool | a_errors | ) |
appends to the output TIN and breaklines
[in] | a_errors | flag 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().
bool xms::XmStamperImpl::CreateBreakLines | ( | cs3dPtIdx & | a_ptIdx | ) |
Creates breaklines that will be honored in the TIN.
[in] | a_ptIdx | The indexes of the points in the TIN |
Definition at line 495 of file XmStamper.cpp.
References m_blTypes, m_breaklineCreator, m_io, and xms::XmBreaklines::New().
Referenced by CreateOutputs().
bool xms::XmStamperImpl::CreateOutputs | ( | ) |
Creates the output TIN and breaklines.
Definition at line 409 of file XmStamper.cpp.
References Convert3dPtsToVec(), CreateBreakLines(), m_breaklineCreator, m_curPts, m_io, m_observer, xms::XmStamperIo::m_outBreakLines, xms::XmStamperIo::m_outTin, m_ptIdx, xms::TrTin::New(), xms::TrBreaklineAdder::New(), xms::TrOuterTriangleDeleter::New(), and xms::TrTriangulatorPoints::SetObserver().
Referenced by CreateBathymetryIntersector(), and DoStamp().
|
overridevirtual |
Performs the feature stamping operation.
a_io | The stamping input/output class. When sucessful, the m_outTin and m_outBreakLines members of a_io are filled by this method. |
Definition at line 203 of file XmStamper.cpp.
References AppendTinAndBreakLines(), ConvertCrossSectionsTo3d(), ConvertEndCapsTo3d(), CreateBathymetryIntersector(), CreateOutputs(), DecomposeCenterLine(), InputErrorsFound(), InterpolateMissingCrossSections(), IntersectCenterLineWithBathemetry(), IntersectWithTin(), m_3dpts, m_breaklineCreator, m_breaklines, m_error, m_io, xms::XmStamperIo::m_outBreakLines, m_outPts, xms::XmStamperIo::m_outTin, xms::XmStamperIo::m_raster, xms::XmStamperIo::m_stampingType, m_tin, xms::XmStampRaster::m_vals, m_vIo, xmlog::warning, WriteInputsForDebug(), and XM_LOG.
|
inlineoverridevirtual |
returns the type of breakline.
Definition at line 78 of file XmStamper.cpp.
References m_blTypes.
|
inlineoverridevirtual |
returns the point locations created by the stamp operation.
Definition at line 68 of file XmStamper.cpp.
References m_outPts.
|
inlineoverridevirtual |
returns breaklines created by the stamp operation.
Definition at line 73 of file XmStamper.cpp.
References m_breaklines.
bool xms::XmStamperImpl::InputErrorsFound | ( | ) |
Checks for input errors.
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().
sets the observer class to get feedback on the meshing process
[in] | a_ | Observer class to provide feedback. |
Definition at line 84 of file XmStamper.cpp.
References m_observer.
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().
XmStamperIo xms::XmStamperImpl::m_io |
inputs to the stamp operation
Definition at line 87 of file XmStamper.cpp.
Referenced by AppendTinAndBreakLines(), Convert3dPtsToVec(), ConvertCrossSectionsTo3d(), ConvertEndCapsTo3d(), CreateBathymetryIntersector(), CreateBreakLines(), CreateOutputs(), DecomposeCenterLine(), DoStamp(), InputErrorsFound(), InterpolateMissingCrossSections(), IntersectCenterLineWithBathemetry(), IntersectWithTin(), and WriteInputsForDebug().