If anybody wants to start early testing, I attached the dll C::B C++ code to this post. Licence is GPLv3.
If you'd prefer a more permissive licence, let me know. Any feedback is appreciated, just keep in mind some minor fixes are still needed.
Now the coder I rented plans on debugging it using Visual Studio because he said it's easier to make a debugging project in it.
I was meaning to create another project for testing (inside the same solution), but I couldn't find a way to do it in CodeBlocks.
Here is a brief description of the content. There should be 2 versions of the same function, one for use in C++ code and a dumber one that's GM compatible.
1) A function that, given a 3d segment and 3d planar convex
_cpp version
- if there is an intersection, returns
-- the coordinates of the intersecting points
-- distance=0
- if there isn't, returns
-- the coordinates of the closest points
-- the distance between the closest points
_gm version
- if there is an intersection, returns
-- the distance from the first point of the segment to the intersection point
- if there isn't, returns
-- the distance from the first point of the segment to the point of the segment that is closest to the convex polygon, as a negative value
2) a function that, given 2 segments
_cpp version
- if there is an intersection, returns
-- the coordinates of the intersecting points
-- distance=0
- if there isn't, returns
-- the coordinates of the closest points
-- the distance between the closest points
_gm version
- if there is an intersection, returns
-- the distance from the first point of the segment to the intersection point
- if there isn't, returns
-- the distance from the first point of the first segment to closest point of the second segment, as a negative value
3) a function that, given 2 points returns
- the distance between them
4) a function that, given a 3d point and a 3d planar convex, returns
- if the point is above the convex or part of it, the distance from the convex
- if the point is under the convex or not part of it, the distance from the convex as a negative value
5) a function that, given a 3d point and a 3d planar convex, returns
_gm version
- the x-y direction (360 degrees) to take to get away from the convex as fast as possible if you are on the point
_cpp version
- a vector pointing the direction to get away from the convex as fast as possible if you are on the point
6) a function that, given a 3d triangle and a 3d axis-aligned rectangular prism, returns
- 1, if the triangle is inside the prism or touches it or contains it
- 0, if the triangle is completely outside the prism
7) a function that, given a 3d convex and the x-y coordinates of one of its points, returns
- the the z value of that point