Add minor adjustments
This commit is contained in:
@@ -620,14 +620,9 @@ bool Collision::RayIntersectsTriangle(const Ray& ray, const Vector3& a, const Ve
|
||||
Real rayDistance = edge2.X * distanceCrossEdge1.X + edge2.Y * distanceCrossEdge1.Y + edge2.Z * distanceCrossEdge1.Z;
|
||||
rayDistance *= inverseDeterminant;
|
||||
|
||||
// Check if the triangle is behind the ray origin
|
||||
if (rayDistance < 0.0f)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check if the triangle is in front the ray origin
|
||||
distance = rayDistance;
|
||||
return true;
|
||||
return rayDistance >= 0.0f;
|
||||
}
|
||||
|
||||
bool CollisionsHelper::RayIntersectsTriangle(const Ray& ray, const Vector3& vertex1, const Vector3& vertex2, const Vector3& vertex3, Real& distance, Vector3& normal)
|
||||
|
||||
@@ -12,11 +12,6 @@ String Ray::ToString() const
|
||||
return String::Format(TEXT("{}"), *this);
|
||||
}
|
||||
|
||||
Vector3 Ray::GetPoint(Real distance) const
|
||||
{
|
||||
return Position + Direction * distance;
|
||||
}
|
||||
|
||||
Ray Ray::GetPickRay(float x, float y, const Viewport& viewport, const Matrix& vp)
|
||||
{
|
||||
Vector3 nearPoint(x, y, 0.0f);
|
||||
|
||||
@@ -79,7 +79,10 @@ public:
|
||||
/// </summary>
|
||||
/// <param name="distance">The distance from ray origin.</param>
|
||||
/// <returns>The calculated point.</returns>
|
||||
Vector3 GetPoint(Real distance) const;
|
||||
FORCE_INLINE Vector3 GetPoint(Real distance) const
|
||||
{
|
||||
return Position + Direction * distance;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Determines if there is an intersection between ray and a point.
|
||||
|
||||
Reference in New Issue
Block a user