xmsmesh  1.0
MePolyCleaner.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
6 //------------------------------------------------------------------------------
7 #pragma once
8 
9 //----- Included files ---------------------------------------------------------
10 #include <xmscore/stl/vector.h>
13 
14 //----- Forward declarations ---------------------------------------------------
15 
16 //----- Namespace declaration --------------------------------------------------
17 namespace xms
18 {
19 //----- Constants / Enumerations -----------------------------------------------
20 
21 //----- Structs / Classes ------------------------------------------------------
22 class MePolyOffsetterOutput;
23 
27 {
28 public:
29  static BSHP<MePolyCleaner> New();
30 
32  virtual void CleanPolyOffset(const VecPt3d& a_input,
33  int a_pType,
34  double a_tol,
35  MePolyOffsetterOutput& a_out) = 0;
36  virtual void SetOriginalOutsidePolygon(const VecPt3d& a_origOutPoly) = 0;
37 
38  virtual void IntersectCleanInPolys(const std::vector<MePolyOffsetterOutput>& a_offsets,
39  MePolyOffsetterOutput& a_out,
40  double a_xyTol) = 0;
41 
42  virtual void IntersectCleanInOutPolys(const MePolyOffsetterOutput& a_offsets,
43  MePolyOffsetterOutput& a_out,
44  double a_xyTol) = 0;
45 
46 protected:
47  MePolyCleaner() {}
48  virtual ~MePolyCleaner() {}
49 
50 private:
53 };
54 //----- Function prototypes ----------------------------------------------------
55 
56 } // namespace xms
convenience class for holding output data from the MePolyOffsetter
static BSHP< MePolyCleaner > New()
Creates a new instance of this class.
#define XM_DISALLOW_COPY_AND_ASSIGN(TypeName)
cleans the output produced by MePolyOffsetter
Definition: MePolyCleaner.h:26
std::vector< Pt3d > VecPt3d