* face, returns the corresponding point in real space, the normal to the
* surface at that point and the min and max curvatures as a tuple.
*/
- std_cxx11::tuple<Point<3>, Point<3>, double, double>
+ std_cxx11::tuple<Point<3>, Tensor<1,3>, double, double>
push_forward_and_differential_forms(const TopoDS_Face &face,
const double u,
const double v,
* and only the closest point is returned. This function will throw an
* exception if the @p in_shape does not contain at least one face.
*/
- std_cxx11::tuple<Point<3>, Point<3>, double, double>
+ std_cxx11::tuple<Point<3>, Tensor<1,3>, double, double>
closest_point_and_differential_forms(const TopoDS_Shape &in_shape,
const Point<3> &origin,
const double tolerance=1e-7);
{
for (unsigned int i=0; i<surrounding_points.size(); ++i)
{
- std_cxx11::tuple<Point<3>, Point<3>, double, double>
+ std_cxx11::tuple<Point<3>, Tensor<1,3>, double, double>
p_and_diff_forms =
closest_point_and_differential_forms(sh,
surrounding_points[i],
return std_cxx11::get<0>(ref);
}
- std_cxx11::tuple<Point<3>, Point<3>, double, double>
+ std_cxx11::tuple<Point<3>, Tensor<1,3>, double, double>
closest_point_and_differential_forms(const TopoDS_Shape &in_shape,
const Point<3> &origin,
const double tolerance)
return Point<3>();
}
- std_cxx11::tuple<Point<3>, Point<3>, double, double>
+ std_cxx11::tuple<Point<3>, Tensor<1,3>, double, double>
push_forward_and_differential_forms(const TopoDS_Face &face,
const double u,
const double v,
Assert(props.IsCurvatureDefined(), ExcMessage("Curvature is not well defined!"));
Standard_Real Min_Curvature = props.MinCurvature();
Standard_Real Max_Curvature = props.MaxCurvature();
- Point<3> normal = Point<3>(Normal.X(),Normal.Y(),Normal.Z());
+ Tensor<1,3> normal = Point<3>(Normal.X(),Normal.Y(),Normal.Z());
// In the case your manifold changes from convex to concave or viceversa
// the normal could jump from "inner" to "outer" normal.
Max_Curvature *= -1;
}
- return std_cxx11::tuple<Point<3>, Point<3>, double, double>(point(Value), normal, Min_Curvature, Max_Curvature);
+ return std_cxx11::tuple<Point<3>, Tensor<1,3>, double, double>(point(Value), normal, Min_Curvature, Max_Curvature);
}