00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef MGCINTRLIN3BOX3_H
00014 #define MGCINTRLIN3BOX3_H
00015
00016 #include "MgcBox3.h"
00017 #include "MgcLine3.h"
00018 #include "MgcRay3.h"
00019 #include "MgcSegment3.h"
00020
00021
00022
00023 bool MgcTestIntersection (const MgcSegment3& rkSegment, const MgcBox3& rkBox);
00024 bool MgcTestIntersection (const MgcRay3& rkRay, const MgcBox3& rkBox);
00025 bool MgcTestIntersection (const MgcLine3& rkLine, const MgcBox3& rkBox);
00026
00027
00028
00029
00030
00031
00032
00033 bool MgcFindIntersection (const MgcVector3& rkOrigin,
00034 const MgcVector3& rkDirection, const MgcReal afExtent[3], MgcReal& rfT0,
00035 MgcReal& rfT1);
00036
00037 bool MgcFindIntersection (const MgcSegment3& rkSegment, const MgcBox3& rkBox,
00038 int& riQuantity, MgcVector3 akPoint[2]);
00039 bool MgcFindIntersection (const MgcRay3& rkRay, const MgcBox3& rkBox,
00040 double &t);
00041 bool MgcFindIntersection (const MgcLine3& rkLine, const MgcBox3& rkBox,
00042 int& riQuantity, MgcVector3 akPoint[2]);
00043
00044 #endif