Define the class that implements triangular Gregory patch of order n. More...
#include <GregorySurface.h>
Public Member Functions | |
GregorySurface () | |
default ctor | |
GregorySurface (std::vector< Point3d > in_ordered_nodes, std::vector< Point3d > in_ordered_normals) | |
ctor 2 – where ordered nodes help define coordinate directions | |
~GregorySurface () | |
dtor | |
int | eval (double u, double v, double *retval) |
Evaluate at parametric location. | |
void | deriv1 (Point2d in_xi, Point3d &out_dxyz_dxi1, Point3d &out_dxyz_dxi2) |
Evaluate first derivatives. | |
void | InputPos (double *q0, double *q1, double *q2) |
void | InputNormal (double *n0, double *n1, double *n2) |
void | SetEdgeCtrlPoints (int i, Point3d *ctrl_pts) |
void | Setup () |
setup | |
void | SetupBdryCrv (int i) |
setup boundary curves, i=0,1,2 More... | |
void | print_var () |
helper | |
Public Attributes | |
Point3d | m_G01_ |
surface control point pairs | |
Point3d | m_G02_ |
Point3d | m_G11_ |
Point3d | m_G12_ |
Point3d | m_G21_ |
Point3d | m_G22_ |
Protected Member Functions | |
int | snap_to_model () |
snap the mid-edge control points for the three edges to the closest point on model | |
Protected Attributes | |
int | m_order_ |
stores the order of the Gregory patch | |
int | m_dim_ |
Point3d | m_q0_ |
input data: position and normal vectors of corner control points | |
Point3d | m_q1_ |
Point3d | m_q2_ |
Point3d | m_n0_ |
Point3d | m_n1_ |
Point3d | m_n2_ |
Point3d | P004 |
Point3d | P013 |
Point3d | P103 |
Point3d | P022 |
Point3d | P202 |
Point3d | P031 |
Point3d | P301 |
Point3d | P040 |
Point3d | P130 |
Point3d | P220 |
Point3d | P310 |
Point3d | P400 |
Point3d | W [3][3] |
Point3d | A [3][3] |
std::vector< EdgeCtrlPt * > | edge_ctrl_points |
Define the class that implements triangular Gregory patch of order n.
void GregorySurface::SetupBdryCrv | ( | int | i | ) |
setup boundary curves, i=0,1,2
– edge 0 – ///
– edge 1 – ///
– edge 2 – ///