xmsmesh  1.0
MeQuadBlossom.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
19 #include <xmscore/stl/vector.h>
20 
21 //----- Forward declarations ---------------------------------------------------
22 
23 //----- Namespace declaration --------------------------------------------------
24 
25 namespace xms
26 {
27 //----- Constants / Enumerations -----------------------------------------------
28 
29 //----- Forward declarations ---------------------------------------------------
30 class XmUGrid;
31 
32 //----- Structs / Classes ------------------------------------------------------
33 
35 {
36 public:
37  static BSHP<MeQuadBlossom> New(BSHP<XmUGrid> a_ugrid);
38  MeQuadBlossom();
39  virtual ~MeQuadBlossom();
40 
42  virtual int PreMakeQuads() = 0;
43  virtual BSHP<XmUGrid> MakeQuads(bool a_splitBoundaryPoints,
44  bool a_useAngle) = 0;
46 
47  static double EstimatedRunTimeInMinutes(int a_numPoints);
48  static BSHP<XmUGrid> SplitToQuads(BSHP<XmUGrid> a_ugrid);
49 
50 private:
54 }; // class MeQuadBlossom
55 
56 //----- Function prototypes ----------------------------------------------------
57 
58 } // namespace xms
static double EstimatedRunTimeInMinutes(int a_numPoints)
Get the estimated time to run the Quad Blossom algorithm in minutes.
virtual ~MeQuadBlossom()
Destructor.
Class to convert 2D grid of triangles to quads.
Definition: MeQuadBlossom.h:34
static BSHP< MeQuadBlossom > New(BSHP< XmUGrid > a_ugrid)
Create new MeQuadBlossom.
MeQuadBlossom()
Constructor.
#define XM_DISALLOW_COPY_AND_ASSIGN(TypeName)
static BSHP< XmUGrid > SplitToQuads(BSHP< XmUGrid > a_ugrid)
Splits UGrid with 2D cells into quads by adding midpoints for each edge and creating a quad by attach...