xmsstamper  1.0
XmStamper.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>
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 XmStamperIo;
30 class Observer;
31 
32 //----- Function prototypes ----------------------------------------------------
33 
38 class XmStamper
39 {
40 public:
41  static BSHP<XmStamper> New();
42 
43  XmStamper();
44  virtual ~XmStamper();
46  virtual void DoStamp(XmStamperIo& a_) = 0;
47 
48  virtual const VecPt3d& GetPoints() = 0;
49  virtual const VecInt2d& GetSegments() = 0;
50  virtual const VecInt& GetBreaklineTypes() = 0;
51 
52  virtual void SetObserver(BSHP<Observer> a) = 0;
53 
54 private:
57 }; // XmStamper
58 
59 } // namespace xms
static BSHP< XmStamper > New()
Creates a XmStamper class.
Definition: XmStamper.cpp:558
std::vector< int > VecInt
std::vector< VecInt > VecInt2d
#define XM_DISALLOW_COPY_AND_ASSIGN(TypeName)
Stamping inputs/outputs class.
Definition: XmStamperIo.h:171
Performs a feature stamp operation.
Definition: XmStamper.h:38
std::vector< Pt3d > VecPt3d