OpenLexocad  27.0
Curve.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <Geom/Pnt.h>
4 #include <Geom/Trsf.h>
5 #include <Geom/Vec.h>
6 #include <OpenLxApp/Geometry.h>
8 
9 
10 
11 FORWARD_DECL(Part, Curve)
12 
13 namespace OpenLxApp
14 {
24 {
25  PROXY_HEADER_ABSTRACT(Curve, Part::Curve, IFCCURVE)
26 
27 public:
28  pConstWire getWire() const;
29 
30  void translate(const Geom::Vec& v);
31  void transform(const Geom::Trsf& t);
32  void reverse();
33 
34  double firstParameter() const;
35  double lastParameter() const;
36 
37  void d0(double u, Geom::Pnt& p) const;
38  void d1(double u, Geom::Pnt& p, Geom::Vec& v1) const;
39  void d2(double u, Geom::Pnt& p, Geom::Vec& v1, Geom::Vec& v2) const;
40  Geom::Pnt value(double U) const;
41  double transformedParameter(double U, const Geom::Trsf& t) const;
42 
43  virtual ~Curve(void);
44 
45 protected:
46  Curve(void) {}
47 };
48 } // namespace OpenLxApp
std::shared_ptr< Topo::Wire const > pConstWire
Definition: Shape.h:98
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:42
Curve(void)
Definition: Curve.h:46
Super-class of all Geometries (aka GeometricRepresentationItems)
Definition: Geometry.h:26
#define PROXY_HEADER_ABSTRACT(_openlexocadclass_, _corelexocadclass_, _type_)
Definition: Globals.h:140
Definition: Trsf.h:58
#define OPENLXAPP_EXPORT
Definition: OpenLxApp_defines.h:12
Definition: ActiveScript.h:9
Defines a non-persistent vector in 3D space.
Definition: Vec.h:45
#define FORWARD_DECL(x, y)
Definition: Globals.h:96
A curve can be envisioned as the path of a point moving in its coordinate space. (Definition from ISO...
Definition: Curve.h:23