HahmannSplitSurf.h
1 /******************************************************************************
2 
3  (c) 2004-2014 Scientific Computation Research Center,
4  Rensselaer Polytechnic Institute. All rights reserved.
5 
6  The LICENSE-SCOREC file included with this distribution describes the terms
7  of the SCOREC Non-Commercial License this program is distributed under.
8 
9 *******************************************************************************/
10 #ifndef CURVEMESHADAPT_HAHMANNSPLITSURF_H
11 #define CURVEMESHADAPT_HAHMANNSPLITSURF_H
12 
13 #include <vector>
14 #include "pumi_mesh.h"
15 
17 
19 
20  public:
21 
23  HahmannSplitSurf(pMeshFace in_face, int in_order, int in_dim=3);
24 
26  void Eval(double u, double v, double *retval);
27 
29  void Setup();
30 
32  void SetupBdryCrv(int i);
33 
36 
37  private:
39  HahmannSplitSurf(const HahmannSplitSurf & hss);
40 
43 
45  pMeshFace m_face_;
46 
48  int m_order_;
49  int m_dim_;
50 
52  double *m_q0_;
53  double *m_q1_;
54  double *m_q2_;
55 
56  double *m_n0_;
57  double *m_n1_;
58  double *m_n2_;
59 
60 };
61 
62 #endif//CURVEMESHADAPT_HAHMANNSPLITSURF_H
double * m_q0_
input data: position and normal vectors of corner control points
Definition: HahmannSplitSurf.h:52
HahmannSplitSurf()
disabled constructor
Definition: HahmannSplitSurf.cc:18
void Eval(double u, double v, double *retval)
Evaluate at parametric location.
Definition: HahmannSplitSurf.cc:98
~HahmannSplitSurf()
destructor
Definition: HahmannSplitSurf.cc:57
pMeshFace m_face_
the mesh face
Definition: HahmannSplitSurf.h:45
int m_order_
stores the order of the Gregory patch
Definition: HahmannSplitSurf.h:48
void Setup()
setup
Definition: HahmannSplitSurf.cc:73
void SetupBdryCrv(int i)
set up the proper boundary curves, i=0, 1, 2 for tri surfaces
Definition: HahmannSplitSurf.cc:82
Define the class that implements Hahmann's 4-split triangular patch of order n.
Definition: HahmannSplitSurf.h:18