|
Gets a plane equation (Ax+By+Cz+D=0 ) and a point
and returns the following constants
ON_PLANE (if the point is on the plane)
IN_BACK_OF_PLANE
IN_FRONT_OF_PLANE
The side which is called front is the side that the normal of the plane points towards)
(the normal is: N=(pln[0], pln[1], pln[2]);
the argument thickness is the thickness of the plane (actually half of the width of the plane).
If for example thickness==6 than all the points that their distance from the plane
is 6 or less will result a return value of ON_PLANE.
Usually you will call this function with thickness==0
But if you want to check whether a point is on the plane you
should call this function with thickness bigger than 0 (for example 0.0001)
and thats to avoid floating point errors (if the plane was created using
three points and you took only 6 decimal places after the decimal point then the
plane equation wont be 100% accurate, there is also a limit to the accuracy
of floating points numbers in a binary world)
You can also call this function with a negative thickness though
it is not so useful, in this case the half of the space which is considered in front of the plane
will get bigger ... In this case you will never get ON_PLANE)
Note also that this function is extremely fast.
|