10 #ifndef PARAMETRICFACE_H_
11 #define PARAMETRICFACE_H_
23 inline void eval(Point2d in_xi,
25 v_eval(in_xi, out_xyz);
28 inline int order(
void) {
32 inline void deriv1(Point2d in_xi,
33 Point3d & out_dxyz_dxi1,
34 Point3d & out_dxyz_dxi2) {
35 v_deriv1(in_xi, out_dxyz_dxi1, out_dxyz_dxi2);
43 double step = 1.0e-3) {
44 Point3d pt3, pt2, pt1;
49 this->eval(xi + Point2d(step, 0.0), pt2);
51 this->eval(xi + Point2d(0.0, step), pt3);
52 dxyz_dxi1 = (pt2 - pt1) / step;
53 dxyz_dxi2 = (pt3 - pt1) / step;
58 virtual void v_eval(Point2d in_xi, Point3d & out_xyz) = 0;
59 virtual int v_order(
void) = 0;
60 virtual void v_deriv1(Point2d in_xi,
62 Point3d & out_xyz2) = 0;
71 CADTri(pMeshEnt in_vtx0, pMeshEnt in_vtx1, pMeshEnt in_vtx2);
76 inline int eval(Point2d in_xi,
78 return v_eval(in_xi, out_xyz);
81 inline int order(
void) {
85 inline int deriv1(Point2d in_xi,
86 Point3d & out_dxyz_dxi1,
87 Point3d & out_dxyz_dxi2) {
88 return v_deriv1(in_xi, out_dxyz_dxi1, out_dxyz_dxi2);
96 double step = 1.0e-3) {
97 Point3d pt3, pt2, pt1;
102 this->eval(xi + Point2d(step, 0.0), pt2);
104 this->eval(xi + Point2d(0.0, step), pt3);
105 dxyz_dxi1 = (pt2 - pt1) / step;
106 dxyz_dxi2 = (pt3 - pt1) / step;
110 int v_eval(Point2d in_xi, Point3d & out_xyz);
112 int v_deriv1(Point2d in_xi,
125 #endif // PARAMETRICFACE_H_
interface class for all parametric faces
Definition: ParametricFace.h:16
std::vector< Point3d > m_ordered_nodes
the container for storing ordered nodes
Definition: ParametricFace.h:65
triangular face with shape represented by the underlying CAD model
Definition: ParametricFace.h:69
CADTri(pMeshEnt in_vtx0, pMeshEnt in_vtx1, pMeshEnt in_vtx2)
Definition: CADTri.cc:26
void deriv1_fd(const Point2d in_xi, Point3d &dxyz_dxi1, Point3d &dxyz_dxi2, double step=1.0e-3)
Evaluate first derivative numerically by finite difference.
Definition: ParametricFace.h:40
void deriv1_fd(const Point2d in_xi, Point3d &dxyz_dxi1, Point3d &dxyz_dxi2, double step=1.0e-3)
Evaluate first derivative numerically by finite difference.
Definition: ParametricFace.h:93