IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Segment3d.h
Go to the documentation of this file.
1 // Segment3d.h:
3 // ------------
4 //
14 
15 #ifndef __IPSDKMATH_SEGMENT3D_H__
16 #define __IPSDKMATH_SEGMENT3D_H__
17 
19 #include <IPSDKUtil/BaseTypes.h>
20 
21 namespace ipsdk {
22 namespace math {
23 
26 
29 template <typename T>
31 pointSegmentDistance(const T xPt, const T yPt, const T zPt,
32  const T xSegStart, const T ySegStart, const T zSegStart,
33  const T xSegEnd, const T ySegEnd, const T zSegEnd);
34 template <typename T>
36 pointSegmentDistance(const T xPt, const T yPt, const T zPt,
37  const T xSegStart, const T ySegStart, const T zSegStart,
38  const T xSegEnd, const T ySegEnd, const T zSegEnd,
39  ipReal64& xMinDistPt, ipReal64& yMinDistPtSeg, ipReal64& zMinDistPtSeg);
41 
43 template <typename T>
44 IPSDKMATH_API bool
45 segmentsIntersects(const T xSegStart0, const T ySegStart0, const T zSegStart0,
46  const T xSegEnd0, const T ySegEnd0, const T zSegEnd0,
47  const T xSegStart1, const T ySegStart1, const T zSegStart1,
48  const T xSegEnd1, const T ySegEnd1, const T zSegEnd1);
49 
52 template <typename T>
54 segmentsDistance(const T xSegStart0, const T ySegStart0, const T zSegStart0,
55  const T xSegEnd0, const T ySegEnd0, const T zSegEnd0,
56  const T xSegStart1, const T ySegStart1, const T zSegStart1,
57  const T xSegEnd1, const T ySegEnd1, const T zSegEnd1);
58 template <typename T>
60 segmentsDistance(const T xSegStart0, const T ySegStart0, const T zSegStart0,
61  const T xSegEnd0, const T ySegEnd0, const T zSegEnd0,
62  const T xSegStart1, const T ySegStart1, const T zSegStart1,
63  const T xSegEnd1, const T ySegEnd1, const T zSegEnd1,
64  ipReal64& xMinDistPtSeg0, ipReal64& yMinDistPtSeg0, ipReal64& zMinDistPtSeg0,
65  ipReal64& xMinDistPtSeg1, ipReal64& yMinDistPtSeg1, ipReal64& zMinDistPtSeg1);
67 
70 
71 } // end of namespace math
72 } // end of namespace ipsdk
73 
74 #endif // __IPSDKMATH_SEGMENT3D_H__
Definition of import/export macro for library.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
Base types for multiplatform compatibility.
#define IPSDKMATH_API
Import/Export macro for library IPSDKMath.
Definition: IPSDKMathExports.h:27
IPSDKMATH_API ipReal64 pointSegmentDistance(const T xPt, const T yPt, const T xSegStart, const T ySegStart, const T xSegEnd, const T ySegEnd)
Euclidian distance between a point and a segment.
IPSDKMATH_API ipReal64 segmentsDistance(const T xSegStart0, const T ySegStart0, const T xSegEnd0, const T ySegEnd0, const T xSegStart1, const T ySegStart1, const T xSegEnd1, const T ySegEnd1)
Euclidian distance between two segments.
IPSDKMATH_API bool segmentsIntersects(const T xSegStart0, const T ySegStart0, const T xSegEnd0, const T ySegEnd0, const T xSegStart1, const T ySegStart1, const T xSegEnd1, const T ySegEnd1)
check whether two segments intersect