Länge einer Kurve in OpenCASCADE ermitteln

English Deutsch

OCCUtils stellt eine Bequemerfunktion zur Ermittlung der Länge einer Kurve in OpenCASCADE bereit:

occutils_curve_length.cpp
#include <occutils/Curve.hxx>

using namespace OCCUtils;

GeomAdaptor_Curve curve = /* ... */;

double length = Curve::Length(curve);

Du kannst sie mit GeomAdaptor_Curve oder Geom_TrimmedCurve aufrufen. Während du sie auch mit Handle(Geom_Curve) aufrufen kannst, ist dies normalerweise nicht das, was du tun möchtest, da Geom_Curve typischerweise eine unendliche Kurve beschreibt (wie eine unendlich lange Linie) und nicht weiß, welcher Abschnitt der Kurve tatsächlich verwendet wird (GeomAdaptor_Curve und Geom_TrimmedCurve haben beide die erforderlichen Umin/Umax-Informationen gespeichert).

Falls du es manuell tun musst (ohne OCCUtils), verwende dieses Snippet:

manual_curve_length.cpp
#include <GCPnts_AbscissaPoint.hxx>

GeomAdaptor_Curve curve = /* ... */;

GCPnts_AbscissaPoint::Length(curve);

Für einen Geom_TrimmedCurve musst du ihn zuerst in einen GeomAdaptor_Curve konvertieren. Siehe How to convert Geom_TrimmedCurve to GeomAdaptor_Curve in OpenCASCADE für Details, wie man das tut.


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