Part: Geometry New Bounded-Trimmed-curve inheritance

====================================================

The new hierarchy is as this:
GeomArcOfConic:GeomTrimmedCurve:GeomBoundedCurve:GeomCurve

A bounded curve is one having a start and endpoint, like an arc, a line segment, or a b-spline

A trimmed curve is one arising from trimming a basis curve, line an arc or a line segment, but NOT a b-spline.

An arc of Conic is one arising from a conic section, line an arc, but neither a line segment, nor a b-spline.

This new hierarchy enables a more consistent handling of geometry and it is closer to the OCCT hierarchy.
This commit is contained in:
Abdullah Tahiri
2018-10-24 07:15:35 +02:00
committed by wmayer
parent 0ed7b1d691
commit 649d115afb
2 changed files with 6 additions and 4 deletions

View File

@@ -1482,7 +1482,7 @@ bool GeomConic::isReversed() const
// -------------------------------------------------
TYPESYSTEM_SOURCE(Part::GeomTrimmedCurve,Part::GeomCurve)
TYPESYSTEM_SOURCE(Part::GeomTrimmedCurve,Part::GeomBoundedCurve)
GeomTrimmedCurve::GeomTrimmedCurve()
{

View File

@@ -333,7 +333,7 @@ public:
const Handle(Geom_Geometry)& handle() const = 0;
};
class PartExport GeomTrimmedCurve : public GeomCurve
class PartExport GeomTrimmedCurve : public GeomBoundedCurve
{
TYPESYSTEM_HEADER();
public:
@@ -373,9 +373,11 @@ public:
virtual ~GeomArcOfConic();
virtual Geometry *copy(void) const = 0;
Base::Vector3d getStartPoint(bool emulateCCWXY=false) const;
Base::Vector3d getEndPoint(bool emulateCCWXY=false) const;
Base::Vector3d getStartPoint(bool emulateCCWXY) const;
Base::Vector3d getEndPoint(bool emulateCCWXY) const;
inline virtual Base::Vector3d getStartPoint() const {return getStartPoint(false);};
inline virtual Base::Vector3d getEndPoint() const {return getEndPoint(false);};
/*!
* \deprecated use getLocation
* \brief getCenter