Berechnung des Abstands zwischen gp_Pnt und gp_Ax1 in OpenCASCADE

English Deutsch

OCCUtils stellt Bequemerfunktionen zur Berechnung der orthogonalen Richtung zu zwei Richtungen bereit:

axis_distance.cpp
#include <occutils/Axis.hxx>
using namespace OCCUtils;

gp_Ax1 axis = /* ... */;
gp_Pnt pnt = /* ... */;
double distance = Axis::Distance(axis, pnt);

Alternativ kannst du auch Point::Distance() verwenden, das intern nur Axis::Distance() aufruft, aber deinen Code unter bestimmten Umständen lesbarer machen könnte. Beachte, dass die Argumentreihenfolge umgekehrt ist!

point_distance.cpp
#include <occutils/Point.hxx>
using namespace OCCUtils;

gp_Ax1 axis = /* ... */;
gp_Pnt pnt = /* ... */;
double distance = Point::Distance(pnt, axis);

Falls du OCCUtils nicht verwenden kannst, hier ist der Code, um es manuell zu tun:

manual_distance.cpp
double distance = gp_Lin(axis).Distance(pnt);

Check out similar posts by category: C/C++, OpenCASCADE