xmsstamper  1.0
XmBathymetryIntersector.h
Go to the documentation of this file.
1 #pragma once
2 //------------------------------------------------------------------------------
7 //------------------------------------------------------------------------------
8 
9 //----- Included files ---------------------------------------------------------
10 
11 // 3. Standard library headers
12 
13 // 4. External library headers
15 #include <xmscore/misc/base_macros.h> // for XM_DISALLOW_COPY_AND_ASSIGN
16 #include <xmscore/stl/vector.h> // VecPt3d
17 
18 // 5. Shared code headers
19 
20 //----- Forward declarations ---------------------------------------------------
21 
22 //----- Namespace declaration --------------------------------------------------
23 
24 namespace xms
25 {
26 //----- Constants / Enumerations -----------------------------------------------
27 
28 //----- Structs / Classes ------------------------------------------------------
29 class XmStamper3dPts;
30 class XmStamperIo;
31 class TrTin;
32 
33 //----- Function prototypes ----------------------------------------------------
34 
39 {
40 public:
41  static BSHP<XmBathymetryIntersector> New(BSHP<TrTin> a_tin, BSHP<TrTin> a_stamp);
42 
44  virtual ~XmBathymetryIntersector();
45 
47  virtual void IntersectCenterLine(XmStamperIo& a_io) = 0;
48  virtual void DecomposeCenterLine(XmStamperIo& a_io, std::vector<XmStamperIo>& a_vIo) = 0;
49  virtual void IntersectXsects(XmStamper3dPts& a_pts) = 0;
50  virtual void IntersectEndCaps(XmStamperIo& a_io, XmStamper3dPts& a_pts) = 0;
51 
52 private:
55 }; // XmBathymetryIntersector
56 
57 } // namespace xms
static BSHP< XmBathymetryIntersector > New(BSHP< TrTin > a_tin, BSHP< TrTin > a_stamp)
Creates a XmStampInterpCrossSection class.
Intersects a feature stamp with a TIN.
class to hold 3d points generated by the stamping operation
#define XM_DISALLOW_COPY_AND_ASSIGN(TypeName)
Stamping inputs/outputs class.
Definition: XmStamperIo.h:171