Changeset 2459
- Timestamp:
- Feb 20, 2013, 1:22:05 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lol/math/geometry.h
r2354 r2459 28 28 namespace lol 29 29 { 30 bool TriangleIsectTriangle(vec3 const &v00, vec3 const &v01, vec3 const &v02, 31 vec3 const &v10, vec3 const &v11, vec3 const &v12, 32 vec3 &iP00, vec3 &iP10); 33 bool RayIsectTriangleSide(vec3 const &v0, vec3 const &v1, vec3 const &v2, 34 vec3 const &iP0, vec3 const &iP1, 35 vec3 &iV0, int &iIdx0, vec3 &iV1, int &iIdx1); 36 bool RayIsectTriangle(vec3 const &rayP, vec3 const &rayD, 37 vec3 const &triV0, vec3 const &triV1, vec3 const &triV2, 38 vec3 &vi); 30 31 struct Box2D 32 { 33 inline Box2D(vec2 a, vec2 b) 34 : A(a), 35 B(b) 36 {} 37 38 vec2 A, B; 39 }; 40 41 struct Box3D 42 { 43 inline Box3D(vec3 a, vec3 b) 44 : A(a), 45 B(b) 46 {} 47 48 vec3 A, B; 49 }; 50 51 bool TriangleIsectTriangle(vec3 const &v00, vec3 const &v01, vec3 const &v02, 52 vec3 const &v10, vec3 const &v11, vec3 const &v12, 53 vec3 &iP00, vec3 &iP10); 54 bool RayIsectTriangleSide(vec3 const &v0, vec3 const &v1, vec3 const &v2, 55 vec3 const &iP0, vec3 const &iP1, 56 vec3 &iV0, int &iIdx0, vec3 &iV1, int &iIdx1); 57 bool RayIsectTriangle(vec3 const &rayP, vec3 const &rayD, 58 vec3 const &triV0, vec3 const &triV1, vec3 const &triV2, 59 vec3 &vi); 39 60 #define RAY_ISECT_NOTHING 0 40 61 #define RAY_ISECT_ALL 1 … … 42 63 #define RAY_ISECT_P0 3 43 64 #define RAY_ISECT_P1 4 44 45 46 47 48 49 50 65 int RayIsectRay(vec3 const &rayP00, vec3 const &rayP01, 66 vec3 const &rayP10, vec3 const &rayP11, 67 vec3 &vIsec); 68 vec3 ProjPointOnPlane(vec3 const &point, vec3 const &planeP, vec3 const &planeN); 69 bool RayIsectPlane(vec3 const &rayP0, vec3 const &rayP1, 70 vec3 const &planeP, vec3 const &planeN, 71 vec3 &vIsec, bool test_line_only = false); 51 72 52 73 } /* namespace lol */
Note: See TracChangeset
for help on using the changeset viewer.