1 #ifndef DM_IPOINT_HPP_INCLUDED
2 #define DM_IPOINT_HPP_INCLUDED
8 #include "DM/config.hpp"
9 #include "DM/IAddInfoLayout.hpp"
10 #include "DM/Handle.hpp"
11 #include "DM/IGeometry.hpp"
12 #include "DM/IAddInfo.hpp"
13 #include "DM/IAddInfoContainer.hpp"
14 #include "DM/AutoLink.hpp"
24 static IPoint* New(
double x,
double y);
25 static IPoint* New(
double x,
double y,
double z);
32 virtual double x()
const = 0;
33 virtual double y()
const = 0;
34 virtual double z()
const = 0;
36 virtual void x(
double) = 0;
37 virtual void y(
double) = 0;
38 virtual void z(
double) = 0;
40 virtual const double& operator[](
int)
const = 0;
46 DM_API
bool equal2D(
const IPoint &a,
const IPoint &b,
double eps);
49 DM_API
bool equal3D(
const IPoint &a,
const IPoint &b,
double eps);
51 DM_API
double length2D(
const IPoint &a,
const IPoint &b);
52 DM_API
double length3D(
const IPoint &a,
const IPoint &b);
57 #endif //DM_IPOINT_HPP_INCLUDED