|
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().