triRayCheck.h
Engine/source/util/triRayCheck.h
Public Functions
bool
bool
Detailed Description
Public Functions
castRayTriangle(const Point3D & orig, const Point3D & dir, const Point3D & vert0, const Point3D & vert1, const Point3D & vert2)
castRayTriangle(const Point3F & orig, const Point3F & dir, const Point3F & vert0, const Point3F & vert1, const Point3F & vert2, F32 & t, Point2F & bary)
intersect_triangle(Point3F orig, Point3F dir, Point3F vert0, Point3F vert1, Point3F vert2, F32 & t, F32 & u, F32 & v)
1 2//----------------------------------------------------------------------------- 3// Copyright (c) 2012 GarageGames, LLC 4// 5// Permission is hereby granted, free of charge, to any person obtaining a copy 6// of this software and associated documentation files (the "Software"), to 7// deal in the Software without restriction, including without limitation the 8// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9// sell copies of the Software, and to permit persons to whom the Software is 10// furnished to do so, subject to the following conditions: 11// 12// The above copyright notice and this permission notice shall be included in 13// all copies or substantial portions of the Software. 14// 15// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21// IN THE SOFTWARE. 22//----------------------------------------------------------------------------- 23 24//----------------------------------------------------------------------------- 25// Ray to triangle intersection test code originally by Tomas Akenine-Möller 26// and Ben Trumbore. 27// http://www.cs.lth.se/home/Tomas_Akenine_Moller/code/ 28// Ported to TGE by DAW, 2005-7-15 29//----------------------------------------------------------------------------- 30 31#ifndef _TRIRAYCHECK_H_ 32#define _TRIRAYCHECK_H_ 33 34#include "math/mPoint2.h" 35#include "math/mPoint3.h" 36 37bool intersect_triangle(Point3F orig, Point3F dir, 38 Point3F vert0, Point3F vert1, Point3F vert2, 39 F32& t, F32& u, F32& v); 40 41//*** Taken from TSE, but based on the above 42bool castRayTriangle(const Point3F& orig, const Point3F& dir, const Point3F& vert0, const Point3F& vert1, const Point3F& vert2, F32 &t, Point2F &bary); 43bool castRayTriangle(const Point3D &orig, const Point3D &dir, const Point3D &vert0, const Point3D &vert1, const Point3D &vert2); 44 45#endif // _TRIRAYCHECK_H_ 46