xmsmesh  1.0
MeRelaxer.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 // 5. Shared code headers
17 #include <xmscore/stl/vector.h>
18 #include <xmscore/misc/base_macros.h> // for XM_DISALLOW_COPY_AND_ASSIGN
20 
21 //----- Forward declarations ---------------------------------------------------
22 
23 namespace xms
24 {
25 //----- Forward declarations ---------------------------------------------------
26 
27 class TrTin;
28 class MePolyRedistributePts;
29 
31 class MeRelaxer
32 {
33 public:
34  static BSHP<MeRelaxer> New();
35 
37  virtual void Relax(const VecInt& a_fixedPoints, boost::shared_ptr<TrTin> a_tin) = 0;
38  virtual bool SetRelaxationMethod(const std::string& a_relaxType) = 0;
39  virtual void SetPointSizer(BSHP<MePolyRedistributePts> a_sizer) = 0;
41 
42 protected:
43  MeRelaxer();
44  virtual ~MeRelaxer();
45 
46 private:
48 }; // MeRelaxer
49 
50 } // namespace xms
std::vector< int > VecInt
static BSHP< MeRelaxer > New()
Creates a new instance of the class.
Definition: MeRelaxer.cpp:559
MeRelaxer()
Constructor.
Definition: MeRelaxer.cpp:569
virtual ~MeRelaxer()
Destructor.
Definition: MeRelaxer.cpp:575
#define XM_DISALLOW_COPY_AND_ASSIGN(TypeName)
Relaxes mesh points.
Definition: MeRelaxer.h:31