Add minor adjustments

This commit is contained in:
Wojtek Figat
2025-11-06 21:00:16 +01:00
parent 0f701ec08e
commit 5ec860015d
4 changed files with 7 additions and 13 deletions

View File

@@ -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)

View File

@@ -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);

View File

@@ -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.