Salome HOME
projects
/
modules
/
shaper.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix for issue #1000
[modules/shaper.git]
/
src
/
GeomAPI
/
GeomAPI_Lin2d.h
diff --git
a/src/GeomAPI/GeomAPI_Lin2d.h
b/src/GeomAPI/GeomAPI_Lin2d.h
index 5f6a02244d33033e2552701ae1c16600984cdd9a..e5556ec9f058fe99044f43531f65ca6aad3287b8 100644
(file)
--- a/
src/GeomAPI/GeomAPI_Lin2d.h
+++ b/
src/GeomAPI/GeomAPI_Lin2d.h
@@
-10,6
+10,7
@@
#include <GeomAPI_Interface.h>
#include <memory>
#include <GeomAPI_Interface.h>
#include <memory>
+class GeomAPI_Dir2d;
class GeomAPI_Pnt2d;
/**\class GeomAPI_Lin2d
class GeomAPI_Pnt2d;
/**\class GeomAPI_Lin2d
@@
-17,28
+18,43
@@
class GeomAPI_Pnt2d;
* \brief Line in 2D
*/
* \brief Line in 2D
*/
-class G
EOMAPI_EXPORT G
eomAPI_Lin2d : public GeomAPI_Interface
+class GeomAPI_Lin2d : public GeomAPI_Interface
{
public:
/// Creation of line defined by cordinates of start and end points
{
public:
/// Creation of line defined by cordinates of start and end points
+ GEOMAPI_EXPORT
GeomAPI_Lin2d(const double theStartX, const double theStartY, const double theEndX,
const double theEndY);
/// Creation of line defined by start and end points
GeomAPI_Lin2d(const double theStartX, const double theStartY, const double theEndX,
const double theEndY);
/// Creation of line defined by start and end points
+ GEOMAPI_EXPORT
GeomAPI_Lin2d(const std::shared_ptr<GeomAPI_Pnt2d>& theStart,
const std::shared_ptr<GeomAPI_Pnt2d>& theEnd);
GeomAPI_Lin2d(const std::shared_ptr<GeomAPI_Pnt2d>& theStart,
const std::shared_ptr<GeomAPI_Pnt2d>& theEnd);
+ /// Returns point on the line (first point)
+ GEOMAPI_EXPORT
+ std::shared_ptr<GeomAPI_Pnt2d> location();
+
+ /// Returns a line direction
+ GEOMAPI_EXPORT
+ std::shared_ptr<GeomAPI_Dir2d> direction();
+
/// Distance between two points
/// Distance between two points
+ GEOMAPI_EXPORT
double distance(const std::shared_ptr<GeomAPI_Pnt2d>& theOther) const;
/// Intersection of two lines
double distance(const std::shared_ptr<GeomAPI_Pnt2d>& theOther) const;
/// Intersection of two lines
+ GEOMAPI_EXPORT
const std::shared_ptr<GeomAPI_Pnt2d> intersect(
const std::shared_ptr<GeomAPI_Lin2d>& theLine) const;
/// Project point on line
const std::shared_ptr<GeomAPI_Pnt2d> intersect(
const std::shared_ptr<GeomAPI_Lin2d>& theLine) const;
/// Project point on line
+ GEOMAPI_EXPORT
const std::shared_ptr<GeomAPI_Pnt2d> project(
const std::shared_ptr<GeomAPI_Pnt2d>& thePoint) const;
/// Computes the cross product of the line direction and a vector from the line start point to the point
const std::shared_ptr<GeomAPI_Pnt2d> project(
const std::shared_ptr<GeomAPI_Pnt2d>& thePoint) const;
/// Computes the cross product of the line direction and a vector from the line start point to the point
+ GEOMAPI_EXPORT
bool isRight(const std::shared_ptr<GeomAPI_Pnt2d>& thePoint) const;
/// Returns a location point shifted on theShift in perpendicular direction
bool isRight(const std::shared_ptr<GeomAPI_Pnt2d>& thePoint) const;
/// Returns a location point shifted on theShift in perpendicular direction
+ GEOMAPI_EXPORT
std::shared_ptr<GeomAPI_Pnt2d> shiftedLocation(double theShift) const;
};
std::shared_ptr<GeomAPI_Pnt2d> shiftedLocation(double theShift) const;
};