CrvEdge2.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 CURVEMESH_CRVEDGE2_H
11 #define CURVEMESH_CRVEDGE2_H
12 
13 #include <assert.h>
14 #include "CrvEdge.h"
15 
16 typedef class mEntity * pMeshEdge;
17 typedef class mMesh * pMeshMdl;
18 
21 class CrvEdge2 : public CrvEdge {
22  public:
25  CrvEdge2(pMeshEdge pin_edge);
26 
29  CrvEdge2(VtxPtrVec in_vert_vec);
30 
33  ~CrvEdge2();
34 
35 /* ---- evaluation functions ---- */
36 
41  int GetNodeDisp(double * dout_disp);
42 
45  int geom_order();
46 
49  bool is_nodes_colinear();
50 
53  int compute_nodal_laplacian_smoothing(double * out_nodal_disp);
54 
55  inline std::string v_tag_name() const
56  {
57  return std::string("quadratic_edge_ctrl_pts_tag");
58  }
59 
60  inline int v_data_size() const
61  {
62  return 3;
63  }
64 };
65 #endif//CURVEMESH_CRVEDGE2_H
std::string v_tag_name() const
Get the tag name of the attached data.
Definition: CrvEdge2.h:55
bool is_nodes_colinear()
return true if edge is linear
Definition: CrvEdge2.cc:170
int compute_nodal_laplacian_smoothing(double *out_nodal_disp)
Laplacian smoothing by averaging the nodal displacements.
Definition: CrvEdge2.cc:176
CrvEdge2(pMeshEdge pin_edge)
ctor 1
Definition: CrvEdge2.cc:19
base class for curved edge curve edge provides basic evaluation based on barycentric coordinate syste...
Definition: CrvEdge.h:28
int v_data_size() const
Get the size of the data attached to the edge entity.
Definition: CrvEdge2.h:60
curved edge class representing curved edges with quadratic geom shape
Definition: CrvEdge2.h:21
int GetNodeDisp(double *dout_disp)
get nodal displacement
Definition: CrvEdge2.cc:128
int geom_order()
get geometric shape order
Definition: CrvEdge2.cc:227
~CrvEdge2()
dtor
Definition: CrvEdge2.cc:119