Example #1
0
void CurvMap::get_mid_edge_points(Element* e, double2* pt, int n)
{
  Nurbs** nurbs = this->nurbs;
  Transformable tran;
  tran.set_active_element(e);

  if (toplevel == false)
  {
    tran.set_transform(part);
    e = e->cm->parent;
    nurbs = e->cm->nurbs;
  }

  ctm = *(tran.get_ctm());
  double xi_1, xi_2;
  for (int i = 0; i < n; i++)
  {
    xi_1 = ctm.m[0] * pt[i][0] + ctm.t[0];
    xi_2 = ctm.m[1] * pt[i][1] + ctm.t[1];
    calc_ref_map(e, nurbs, xi_1, xi_2, pt[i]);
  }
}