22 #ifndef __IPSDKGEOMETRY_LINE2D_H__ 23 #define __IPSDKGEOMETRY_LINE2D_H__ 26 #include <IPSDKGeometry/Entity/2d/BaseTypedGeometryEntity2d.h> 90 inline void setRho(
const ipReal64 rho);
91 inline void setTheta(
const ipReal64 theta);
107 template <
typename T>
109 template <
typename T>
117 template <
typename T>
119 template <
typename T>
125 inline ipReal64 getCosTheta()
const;
126 inline ipReal64 getSinTheta()
const;
155 template <
typename T>
162 template <
typename T>
164 Line2d::Line2d(
const Point2dData<T>& pt0,
const Point2dData<T>& pt1)
169 template <
typename T>
171 Line2d::Line2d(
const Point2d<T>& pt,
const Vector2d& normal)
176 template <
typename T>
178 Line2d::Line2d(
const Point2dData<T>& pt,
const Vector2d& normal)
202 template <
typename T>
209 template <
typename T>
242 template <
typename T>
249 template <
typename T>
256 template <
typename T>
281 #endif // __IPSDKGEOMETRY_LINE2D_H__ ipReal64 getCosTheta() const
access to computation intermediate
Definition: Line2d.h:264
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
void setTheta(const ipReal64 theta)
access to line coordinates
Definition: Line2d.h:223
Point class associated to cartesian 2d coordinates.
Definition: GeometryEntity2dTypes.h:28
ipReal64 signedDistance(const Point2d< T > &pt) const
retrieve signed orthogonal distance between point and line (positive value stands for points located ...
Definition: Line2d.h:258
ipReal64 getRho() const
access to line coordinates
Definition: Line2d.h:231
eCoordinateSystem2dType getCoordinateSystem2dType() const
method allowing to retrieve coordinate system 2d type
Definition: Line2d.h:184
Operators associated to line 2d entities.
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
Line.
Definition: GeometryEntity2dTypes.h:62
Utility functions used to handle angles 2d.
eCoordinateSystem2dType
Enumerate describing coordinate system 2d type.
Definition: GeometryEntity2dTypes.h:76
Polar coordinate system.
Definition: GeometryEntity2dTypes.h:80
IPSDKGEOMETRY_API ipReal64 distance(const Point2d< T > &pt1, const Point2d< T > &pt2)
compute euclidian distance between two points
ipReal64 _rho
rho coordinate of line
Definition: Line2d.h:140
ipReal64 getTheta() const
access to line coordinates
Definition: Line2d.h:237
ipReal64 _cosTheta
computation intermediate
Definition: Line2d.h:147
Definition of import/export macro for library.
#define IPSDKGEOMETRY_API
Import/Export macro for library IPSDKGeometry.
Definition: IPSDKGeometryExports.h:25
Base class for typed 3d geometry entities.
Definition: BaseTypedGeometryEntity2d.h:27
ipReal64 getSinTheta() const
access to computation intermediate
Definition: Line2d.h:270
2d line associated to polar coordinates
Definition: Line2d.h:42
#define IPSDK_DECLARE_GEOMETRY_ENTITY_2D(libraryName, className)
Macro allowing to declare a geometry entity 2d.
Definition: GeometryEntity2dHdrMacros.h:131
eEntity2dType getEntity2dType() const
method allowing to retrieve entity 2d type
Definition: Line2d.h:190
static const eEntity2dType::domain g_entity2dType
type associated to entity
Definition: Line2d.h:53
ipReal64 _theta
theta coordinate of line
Definition: Line2d.h:143
void setCoords(const ipReal64 rho, const ipReal64 theta)
access to line coordinates
Definition: Line2d.h:196
Vector class associated to polar 2d coordinates.
Definition: Vector2d.h:32
ipReal64 distance(const Point2d< T > &pt) const
retrieve orthogonal distance between point and line
Definition: Line2d.h:244
const Point2dData< T > & getCoords() const
access to point coordinates
Definition: Point2d.h:139
boost::numeric::ublas::bounded_vector< ipReal64, 2 > Vector2d
2d vector type associated to library
Definition: LinearAlgebraTypes.h:39
eEntity2dType
Enumerate describing entity 2d type.
Definition: GeometryEntity2dTypes.h:38
void setRho(const ipReal64 rho)
access to line coordinates
Definition: Line2d.h:217
static const eCoordinateSystem2dType::domain g_coordinateSystem2dType
coordinate system associated to entity
Definition: Line2d.h:50
Lightweight structure used to store Point2d data.
Definition: GeometryEntity2dTypes.h:26
ipReal64 _sinTheta
computation intermediate
Definition: Line2d.h:148
IPSDK_FORCEINLINE PackT abs(const PackT &in)
returns the absolute value of a pack
Definition: abs.h:41
IPSDK_FORCEINLINE ipReal64 centerModulo(const ipReal64 angle, const ipReal64 modulo)
function allowing to compute centered modulo of an angle
Definition: Angles.h:57