00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #include "ChasteCuboid.hpp"
00030
00031 ChasteCuboid::ChasteCuboid(ChastePoint<3>& rPointA, ChastePoint<3>& rPointB) : mrPointA(rPointA), mrPointB(rPointB)
00032 {
00033 for (unsigned dim=0; dim<3; dim++)
00034 {
00035 if (mrPointA[dim] > mrPointB[dim])
00036 {
00037 EXCEPTION("Attempt to create a cuboid with MinCorner greater than MaxCorner in some dimension");
00038 }
00039 }
00040 }
00041
00042 bool ChasteCuboid::DoesContain(const ChastePoint<3U>& rPointToCheck)
00043 {
00044 bool inside=true;
00045 for (unsigned dim=0; dim<3; dim++)
00046 {
00047 if (rPointToCheck[dim] < mrPointA[dim] - 100*DBL_EPSILON
00048 || mrPointB[dim] + 100* DBL_EPSILON < rPointToCheck[dim])
00049 {
00050 inside=false;
00051 break;
00052 }
00053 }
00054 return inside;
00055 }
00056
00057 bool ChasteCuboid::DoesContain(const ChastePoint<2U>& rPointToCheck)
00058 {
00059
00060 bool inside=true;
00061 for (unsigned dim=0; dim<2; dim++)
00062 {
00063 if (rPointToCheck[dim] < mrPointA[dim] - 100*DBL_EPSILON
00064 || mrPointB[dim] + 100* DBL_EPSILON < rPointToCheck[dim])
00065 {
00066 inside=false;
00067 break;
00068 }
00069 }
00070 return inside;
00071
00072 }
00073
00074 bool ChasteCuboid::DoesContain(const ChastePoint<1U>& rPointToCheck)
00075 {
00076
00077 bool inside=true;
00078 for (unsigned dim=0; dim<1; dim++)
00079 {
00080 if (rPointToCheck[dim] < mrPointA[dim] - 100*DBL_EPSILON
00081 || mrPointB[dim] + 100* DBL_EPSILON < rPointToCheck[dim])
00082 {
00083 inside=false;
00084 break;
00085 }
00086 }
00087 return inside;
00088
00089 }