10 #ifndef CURVEMESHADAPT_GREGORY_H
11 #define CURVEMESHADAPT_GREGORY_H
27 std::vector<Point3d> in_ordered_normals);
33 int eval(
double u,
double v,
double *retval);
37 Point3d & out_dxyz_dxi1,
38 Point3d & out_dxyz_dxi2);
40 void InputPos(
double *q0,
double *q1,
double *q2);
41 void InputNormal(
double *n0,
double *n1,
double *n2);
43 void SetEdgeCtrlPoints(
int i, Point3d *ctrl_pts);
55 Point3d
m_G01_, m_G02_, m_G11_, m_G12_, m_G21_, m_G22_;
79 Point3d P040, P130, P220, P310, P400;
85 std::vector<EdgeCtrlPt*> edge_ctrl_points;
88 #endif//CURVEMESHADAPT_GREGORY_H
int eval(double u, double v, double *retval)
Evaluate at parametric location.
Definition: GregorySurface.cc:268
Point3d m_q0_
input data: position and normal vectors of corner control points
Definition: GregorySurface.h:66
Define the class that implements triangular Gregory patch of order n.
Definition: GregorySurface.h:20
void print_var()
helper
Definition: GregorySurface.cc:14
~GregorySurface()
dtor
Definition: GregorySurface.cc:60
int snap_to_model()
snap the mid-edge control points for the three edges to the closest point on model ...
void Setup()
setup
Definition: GregorySurface.cc:68
void SetupBdryCrv(int i)
setup boundary curves, i=0,1,2
Definition: GregorySurface.cc:125
GregorySurface()
default ctor
Definition: GregorySurface.cc:26
int m_order_
stores the order of the Gregory patch
Definition: GregorySurface.h:62
void deriv1(Point2d in_xi, Point3d &out_dxyz_dxi1, Point3d &out_dxyz_dxi2)
Evaluate first derivatives.
Definition: GregorySurface.cc:319
Point3d m_G01_
surface control point pairs
Definition: GregorySurface.h:55