xmsmesh  1.0
MePolyRedistributePts.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
6 //------------------------------------------------------------------------------
7 #pragma once
8 
9 //----- Included files ---------------------------------------------------------
10 #include <vector>
11 #include <xmscore/stl/vector.h>
14 
15 //----- Forward declarations ---------------------------------------------------
16 
17 //----- Namespace declaration --------------------------------------------------
18 namespace xms
19 {
20 class MePolyOffsetterOutput;
21 class InterpBase;
22 //----- Constants / Enumerations -----------------------------------------------
23 
24 //----- Structs / Classes ------------------------------------------------------
29 {
30 public:
31  static BSHP<MePolyRedistributePts> New();
32  virtual ~MePolyRedistributePts();
33 
35  virtual void SetSizeFunc(BSHP<InterpBase> a_interp) = 0;
36  virtual void SetSizeFuncFromPoly(const VecPt3d& a_outPoly,
37  const VecPt3d2d& a_inPolys,
38  double a_sizeBias) = 0;
39  virtual void SetConstantSizeFunc(double a_size) = 0;
40  virtual void SetConstantSizeBias(double a_sizeBias) = 0;
41  virtual void SetUseCurvatureRedistribution(double a_featureSize,
42  double a_meanSpacing,
43  double a_minimumCurvature,
44  bool a_smooth) = 0;
45  virtual VecPt3d Redistribute(const VecPt3d& a_polyLine) = 0;
46  virtual double SizeFromLocation(const Pt3d& a_location) = 0;
47 
48  virtual std::string ToPyRepr() const = 0;
49 
50 private:
53 
54 protected:
56 };
57 //----- Function prototypes ----------------------------------------------------
58 
59 } // namespace xms
Redistributes the point locations on a polygon based on a size function.
static BSHP< MePolyRedistributePts > New()
Creates an instance of this class.
virtual ~MePolyRedistributePts()
destructor
#define XM_DISALLOW_COPY_AND_ASSIGN(TypeName)
std::vector< VecPt3d > VecPt3d2d
std::vector< Pt3d > VecPt3d