xmsstamper  1.0
XmBreaklines.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/stl/vector.h>
16 #include <xmscore/misc/base_macros.h> // for XM_DISALLOW_COPY_AND_ASSIGN
17 
18 // 5. Shared code headers
19 
20 //----- Namespace declaration --------------------------------------------------
21 
22 namespace xms
23 {
24 //----- Forward declarations ---------------------------------------------------
25 class XmStamperIo;
26 struct cs3dPtIdx;
27 
28 //----- Constants / Enumerations -----------------------------------------------
29 
30 //----- Structs / Classes ------------------------------------------------------
31 
32 //----- Function prototypes ----------------------------------------------------
33 
38 {
39 public:
40  static BSHP<XmBreaklines> New();
41 
43  enum { BL_CENTERLINE = 0, BL_XSECT, BL_SHOULDER, BL_END };
44 
46  virtual bool CreateBreaklines(XmStamperIo& a_io, cs3dPtIdx& a_ptIdx, VecInt& a_blTypes) = 0;
47 
48  virtual const VecInt& GetOuterPolygon() = 0;
49 
50  virtual bool BreaklinesIntersect(const VecInt2d& a_bl, const VecPt3d& a_pts) = 0;
51 
52 private:
55 
56 protected:
57  XmBreaklines();
58  virtual ~XmBreaklines();
59 }; // XmBathemetryIntersector
60 
61 } // namespace xms
std::vector< int > VecInt
Creates breaklines for the stamp operation.
Definition: XmBreaklines.h:37
std::vector< VecInt > VecInt2d
helper struct to store point indexes
#define XM_DISALLOW_COPY_AND_ASSIGN(TypeName)
Stamping inputs/outputs class.
Definition: XmStamperIo.h:171
static BSHP< XmBreaklines > New()
Creates a XmStampInterpCrossSection class.
std::vector< Pt3d > VecPt3d