Revision Difference
Vector:DistToSqr#529300
<function name="DistToSqr" parent="Vector" type="classfunc">
	<description>Returns the squared distance of 2 vectors, this is faster than <page>Vector:Distance</page> as calculating the square root is an expensive process.</description>⤶
	<description>Returns the squared distance of 2 vectors, this is faster than <page>Vector:Distance</page> as calculating the square root is an expensive process.⤶
<note>Squared distances should not be summed. If you need to sum distances, use <page>Vector:Distance</page>.</note>⤶
<note>When peforming a distance check, ensure the distance being checked against is squared. See example code below.</note>⤶
</description>⤶
	<realm>Shared</realm>
	<args>
		<arg name="otherVec" type="Vector">The vector to calculate the distance to.</arg>
	</args>
	<rets>
		<ret name="" type="number">Squared distance to the vector</ret>
	</rets>
</function>
<example>
	<description>Checks if a player is within `dist` units of another player in the most efficient way possible.</description>
	<code>
function PlayerWithinBounds(ply,otherPly, dist)
	return ply:GetPos():DistToSqr(otherPly:GetPos()) < (dist*dist)
	-- This is computationally faster than:⤶
	-- ply:GetPos():Distance(otherPly:GetPos()) < dist⤶
function PlayerWithinBounds(ply, otherPly, dist)
	-- Square the input distance in order to perform our distance check on Source units.
	local distsqr = dist * dist⤶
⤶
	return ply:GetPos():DistToSqr(otherPly:GetPos()) < distsqr⤶
end
print(PlayerWithinBounds(Entity(1),Entity(2),500))
⤶
print(PlayerWithinBounds(Entity(1), Entity(2), 500))
	</code>
	<output>true</output>
</example>
			Garry's Mod 
		
			Rust 
		
			Steamworks 
		
			Wiki Help