xmsgrid  1.0
TrOuterTriangleDeleter.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 
16 #include <boost/shared_ptr.hpp>
17 
18 // 5. Shared code headers
19 
20 #include <xmscore/stl/vector.h> // for VecInt2d
21 #include <xmscore/misc/base_macros.h> // for XM_DISALLOW_COPY_AND_ASSIGN
22 
23 //----- Forward declarations ---------------------------------------------------
24 
25 //----- Namespace declaration --------------------------------------------------
26 
27 namespace xms
28 {
29 class TrTin;
30 class Observer;
31 
32 //----- Constants / Enumerations -----------------------------------------------
33 
34 //----- Structs / Classes ------------------------------------------------------
35 
36 //----- Function prototypes ----------------------------------------------------
37 
40 {
41 public:
42  static boost::shared_ptr<TrOuterTriangleDeleter> New();
44 
45  virtual void Delete(const VecInt2d& a_polys, boost::shared_ptr<TrTin> a_tin) = 0;
46  virtual void SetObserver(boost::shared_ptr<Observer> a) = 0;
47 
49 protected:
51  virtual ~TrOuterTriangleDeleter();
52 
53 private:
55 }; // TrOuterTriangleDeleter
56 
57 } // namespace xms
std::vector< VecInt > VecInt2d
#define XM_DISALLOW_COPY_AND_ASSIGN(TypeName)
XMS Namespace.
Definition: geoms.cpp:34
static boost::shared_ptr< TrOuterTriangleDeleter > New()
Creates a TrOuterTriangleDeleterImpl object.