math.algebra.linear.d3: Handle case in 'unProject' where 'world_Position (4) = 0.0'.
This commit is contained in:
@@ -880,13 +880,14 @@ is
|
||||
|
||||
if world_Position (4) = 0.0
|
||||
then
|
||||
raise Constraint_Error with "unProject: world_Position (4) = 0.0";
|
||||
else
|
||||
world_Position (1) := world_Position (1) / world_Position (4);
|
||||
world_Position (2) := world_Position (2) / world_Position (4);
|
||||
world_Position (3) := world_Position (3) / world_Position (4);
|
||||
world_Position (4) := Real'Epsilon;
|
||||
-- raise Constraint_Error with "unProject: world_Position (4) = 0.0"; -- TODO: Find out why this happens.
|
||||
end if;
|
||||
|
||||
world_Position (1) := world_Position (1) / world_Position (4);
|
||||
world_Position (2) := world_Position (2) / world_Position (4);
|
||||
world_Position (3) := world_Position (3) / world_Position (4);
|
||||
|
||||
return Vector_3 (world_Position (1 .. 3));
|
||||
end unProject;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user