00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef MGCDISTLIN3LIN3_H
00014 #define MGCDISTLIN3LIN3_H
00015
00016 #include "MgcLine3.h"
00017 #include "MgcRay3.h"
00018 #include "MgcSegment3.h"
00019
00020
00021
00022 MgcReal MgcSqrDistance (const MgcLine3& rkLine0, const MgcLine3& rkLine1,
00023 MgcReal* pfLinP0 = 0, MgcReal* pfLinP1 = 0);
00024
00025 MgcReal MgcSqrDistance (const MgcLine3& rkLine, const MgcRay3& rkRay,
00026 MgcReal* pfLinP = 0, MgcReal* pfRayP = 0);
00027
00028 MgcReal MgcSqrDistance (const MgcLine3& rkLine, const MgcSegment3& rkSeg,
00029 MgcReal* pfLinP = 0, MgcReal* pfSegP = 0);
00030
00031 MgcReal MgcSqrDistance (const MgcRay3& rkRay0, const MgcRay3& rkRay1,
00032 MgcReal* pfRayP0 = 0, MgcReal* pfRayP1 = 0);
00033
00034 MgcReal MgcSqrDistance (const MgcRay3& rkRay, const MgcSegment3& rkSeg,
00035 MgcReal* pfRayP = 0, MgcReal* pfSegP = 0);
00036
00037 MgcReal MgcSqrDistance (const MgcSegment3& rkSeg0, const MgcSegment3& rkSeg1,
00038 MgcReal* pfSegP0 = 0, MgcReal* pfSegP1 = 0);
00039
00040
00041
00042
00043 MgcReal MgcDistance (const MgcLine3& rkLine0, const MgcLine3& rkLine1,
00044 MgcReal* pfLinP0 = 0, MgcReal* pfLinP1 = 0);
00045
00046 MgcReal MgcDistance (const MgcLine3& rkLine, const MgcRay3& rkRay,
00047 MgcReal* pfLinP = 0, MgcReal* pfRayP = 0);
00048
00049 MgcReal MgcDistance (const MgcLine3& rkLine, const MgcSegment3& rkSeg,
00050 MgcReal* pfLinP = 0, MgcReal* pfSegP = 0);
00051
00052 MgcReal MgcDistance (const MgcRay3& rkRay0, const MgcRay3& rkRay1,
00053 MgcReal* pfRayP0 = 0, MgcReal* pfRayP1 = 0);
00054
00055 MgcReal MgcDistance (const MgcRay3& rkRay, const MgcSegment3& rkSeg,
00056 MgcReal* pfRayP = 0, MgcReal* pfSegP = 0);
00057
00058 MgcReal MgcDistance (const MgcSegment3& rkSeg0, const MgcSegment3& rkSeg1,
00059 MgcReal* pfSegP0 = 0, MgcReal* pfSegP1 = 0);
00060
00061 #endif