xmsgrid  1.0
TrBreaklineAdder.h
Go to the documentation of this file.
1 #pragma once
2 //------------------------------------------------------------------------------
7 //------------------------------------------------------------------------------
8 
9 //----- Included files ---------------------------------------------------------
10 
11 // 3. Standard library headers
12 #include <vector>
13 
14 // 4. External library headers
15 #include <boost/shared_ptr.hpp>
16 
17 // 5. Shared code headers
18 #include <xmscore/stl/vector.h>
19 #include <xmscore/misc/base_macros.h> // for XM_DISALLOW_COPY_AND_ASSIGN
20 
21 namespace xms
22 {
23 //----- Forward declarations ---------------------------------------------------
24 
25 class Observer;
26 class TrTin;
27 
30 {
31 public:
32  static boost::shared_ptr<TrBreaklineAdder> New();
34 
35  virtual void SetObserver(boost::shared_ptr<Observer> a) = 0;
36  virtual void SetTin(boost::shared_ptr<TrTin> a_tin, double a_tol = -1) = 0;
37  virtual void AddBreakline(const VecInt& a_line) = 0;
38  virtual void AddBreaklines(const VecInt2d& a_line) = 0;
39  virtual std::string ErrorMessage(int) const = 0;
40 
42 protected:
44  virtual ~TrBreaklineAdder();
45 
46 private:
48 
49 }; // class TrBreaklineAdder
50 
51 } // namespace xms
static boost::shared_ptr< TrBreaklineAdder > New()
Create a TrBreaklineAdderImpl object.
std::vector< int > VecInt
std::vector< VecInt > VecInt2d
Adds breaklines to a tin.
#define XM_DISALLOW_COPY_AND_ASSIGN(TypeName)
XMS Namespace.
Definition: geoms.cpp:34