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