xmsmesh  1.0
MeMultiPolyMesher.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
14 
15 #include <boost/shared_ptr.hpp>
16 
17 // 5. Shared code headers
18 
19 #include <xmscore/misc/base_macros.h> // for XM_DISALLOW_COPY_AND_ASSIGN
20 
21 //----- Forward declarations ---------------------------------------------------
22 
23 //----- Namespace declaration --------------------------------------------------
24 
25 namespace xms
26 {
27 class MeMultiPolyMesherIo;
28 
29 //----- Constants / Enumerations -----------------------------------------------
30 
31 //----- Structs / Classes ------------------------------------------------------
32 
33 //----- Function prototypes ----------------------------------------------------
34 
37 {
38 public:
39  static boost::shared_ptr<MeMultiPolyMesher> New();
41 
42  virtual bool MeshIt(MeMultiPolyMesherIo& a_io) = 0;
43  virtual void CheckForIntersections(const MeMultiPolyMesherIo& a_io,
44  std::string& a_errors) const = 0;
45  virtual ~MeMultiPolyMesher() {}
46 
48 protected:
50 
51 private:
53 }; // MeMultiPolyMesher
54 
55 } // namespace xms
#define XM_DISALLOW_COPY_AND_ASSIGN(TypeName)
Provides the input to meshing multiple polygons and holds the output.
static boost::shared_ptr< MeMultiPolyMesher > New()
Creates a class.