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