OpenLexocad  27.0
CurveAPI.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <Geom/Pnt.h>
6 #include <OpenLxApp/Document.h>
8 #include <OpenLxApp/Polyline.h>
10 
11 #include <memory>
12 
16 namespace OpenLxApp
17 {
18 OPENLXAPP_EXPORT std::shared_ptr<CompositeCurveSegment> createLineSegment(std::shared_ptr<Document> aDoc,
19  const Geom::Pnt& fromPnt,
20  const Geom::Pnt& toPnt);
21 OPENLXAPP_EXPORT std::shared_ptr<CompositeCurveSegment> createArc3PointsSegment(std::shared_ptr<Document> aDoc,
22  const Geom::Pnt& startPnt,
23  const Geom::Pnt& passagePnt,
24  const Geom::Pnt& endPnt);
25 OPENLXAPP_EXPORT std::shared_ptr<CompositeCurveSegment> createTangentArcSegment(std::shared_ptr<Document> aDoc,
26  std::shared_ptr<CompositeCurveSegment> lastSegment,
27  const Geom::Pnt& pnt);
28 
29 OPENLXAPP_EXPORT std::shared_ptr<TrimmedCurve> createStraight(std::shared_ptr<Document> aDoc, const Geom::Pnt& fromPnt, const Geom::Pnt& toPnt);
30 OPENLXAPP_EXPORT std::shared_ptr<TrimmedCurve> createArc3Points(std::shared_ptr<Document> aDoc,
31  const Geom::Pnt& startPnt,
32  const Geom::Pnt& passagePnt,
33  const Geom::Pnt& endPnt);
34 OPENLXAPP_EXPORT std::shared_ptr<TrimmedCurve> createTangentArc(std::shared_ptr<Document> aDoc,
35  std::shared_ptr<BoundedCurve> lastCurve,
36  const Geom::Pnt& endPnt);
37 
38 OPENLXAPP_EXPORT std::shared_ptr<Curve> createOffsetCurveFromWire(std::shared_ptr<Document> aDoc,
39  pConstWire wire,
40  const Geom::Dir& refDirection,
41  double offset);
42 OPENLXAPP_EXPORT std::shared_ptr<CompositeCurve> createCompositeCurveFromWire(std::shared_ptr<Document> aDoc, pConstWire wire);
43 OPENLXAPP_EXPORT std::shared_ptr<Polyline> createPolylineFromWire(std::shared_ptr<Document> aDoc, pConstWire wire);
44 OPENLXAPP_EXPORT std::shared_ptr<BoundedCurve> createBoundedCurveFromEdge(std::shared_ptr<Document> aDoc, pConstEdge edge);
45 
47 // OPENLXAPP_EXPORT bool createPyramidEdgesFromWire(Core::CoreDocument* doc, pConstWire wire, const Geom::Dir& refDirection, const std::list<double>&
48 // slopes, std::vector<Part::Curve*>& edges);
50 // OPENLXAPP_EXPORT std::shared_ptr<Clothoid> createClothoidFromEdge(Core::CoreDocument* doc, pConstEdge edge);
52 // OPENLXAPP_EXPORT std::shared_ptr<BSplineCurve> createBSplineCurveFromWire(Core::CoreDocument* doc, pConstWire wire);
53 
54 } // namespace OpenLxApp
std::shared_ptr< Topo::Wire const > pConstWire
Definition: Shape.h:98
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:42
OPENLXAPP_EXPORT std::shared_ptr< CompositeCurveSegment > createTangentArcSegment(std::shared_ptr< Document > aDoc, std::shared_ptr< CompositeCurveSegment > lastSegment, const Geom::Pnt &pnt)
std::shared_ptr< Topo::Edge const > pConstEdge
Definition: Shape.h:99
OPENLXAPP_EXPORT std::shared_ptr< TrimmedCurve > createTangentArc(std::shared_ptr< Document > aDoc, std::shared_ptr< BoundedCurve > lastCurve, const Geom::Pnt &endPnt)
OPENLXAPP_EXPORT std::shared_ptr< CompositeCurveSegment > createLineSegment(std::shared_ptr< Document > aDoc, const Geom::Pnt &fromPnt, const Geom::Pnt &toPnt)
OPENLXAPP_EXPORT std::shared_ptr< TrimmedCurve > createArc3Points(std::shared_ptr< Document > aDoc, const Geom::Pnt &startPnt, const Geom::Pnt &passagePnt, const Geom::Pnt &endPnt)
#define OPENLXAPP_EXPORT
Definition: OpenLxApp_defines.h:12
Definition: Dir.h:46
Definition: ActiveScript.h:9
OPENLXAPP_EXPORT std::shared_ptr< CompositeCurve > createCompositeCurveFromWire(std::shared_ptr< Document > aDoc, pConstWire wire)
OPENLXAPP_EXPORT std::shared_ptr< TrimmedCurve > createStraight(std::shared_ptr< Document > aDoc, const Geom::Pnt &fromPnt, const Geom::Pnt &toPnt)
OPENLXAPP_EXPORT std::shared_ptr< BoundedCurve > createBoundedCurveFromEdge(std::shared_ptr< Document > aDoc, pConstEdge edge)
OPENLXAPP_EXPORT std::shared_ptr< Curve > createOffsetCurveFromWire(std::shared_ptr< Document > aDoc, pConstWire wire, const Geom::Dir &refDirection, double offset)
OPENLXAPP_EXPORT std::shared_ptr< Polyline > createPolylineFromWire(std::shared_ptr< Document > aDoc, pConstWire wire)
OPENLXAPP_EXPORT std::shared_ptr< CompositeCurveSegment > createArc3PointsSegment(std::shared_ptr< Document > aDoc, const Geom::Pnt &startPnt, const Geom::Pnt &passagePnt, const Geom::Pnt &endPnt)