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