GetAbsOrigin(): Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
| m (Robot: fixing template case.) | TomEdwards (talk | contribs)  No edit summary | ||
| Line 1: | Line 1: | ||
| '''<code>GetAbsOrigin()</code>''' returns the world  | '''<code>GetAbsOrigin()</code>''' returns the absolute (i.e. [[world]]-relative) [[origin]] of an entity as a [[vector]]. Sister function '''<code>SetAbsOrigin()</code>''' sets it. | ||
| The origin is actually stored in local space (i.e [[parent]]-relative), meaning that the Abs functions perform a conversion before returning. If you can, use the more direct <code>[[GetLocalOrigin()]]</code> and <code>[[SetLocalOrigin()]]</code> instead. | |||
| == Alternatives == | == Alternatives == | ||
| A different approach for finding an origin can be useful, particularly when dealing with a [[brush entity]] which might not have one stored. Bear in mind that these alternatives are all significantly slower than <code>GetAbsOrigin()</code>! | |||
| ;<code>WorldSpaceCenter()</code> | ; [[Vector]] <code>WorldSpaceCenter()</code> | ||
| :Returns the centre of an entity's [[object-aligned bounding box]]  | : Returns the centre of an entity's [[object-aligned bounding box]]. | ||
| ;<code>[[CollisionProp()]]->CalcNearestPoint(  | ; void <code>[[CollisionProp()]]->CalcNearestPoint(&vecWorldPt,*pVecNearestWorldPt)</code> | ||
| : | : Finds the nearest point on the entity's [[OBB]] to <code>vecWorldPt</code>. Modifies <code>pVecNearestWorldPt</code> with the result. | ||
| {{TODO| | {{TODO|Do these OBB functions work with vphysics?}} | ||
| [[Category:Functions]] | [[Category:Functions]] | ||
Revision as of 10:57, 14 April 2009
GetAbsOrigin() returns the absolute (i.e. world-relative) origin of an entity as a vector. Sister function SetAbsOrigin() sets it.
The origin is actually stored in local space (i.e parent-relative), meaning that the Abs functions perform a conversion before returning. If you can, use the more direct GetLocalOrigin() and SetLocalOrigin() instead.
Alternatives
A different approach for finding an origin can be useful, particularly when dealing with a brush entity which might not have one stored. Bear in mind that these alternatives are all significantly slower than GetAbsOrigin()!
- Vector WorldSpaceCenter()
- Returns the centre of an entity's object-aligned bounding box.
- void CollisionProp()->CalcNearestPoint(&vecWorldPt,*pVecNearestWorldPt)
- Finds the nearest point on the entity's OBB to vecWorldPt. ModifiespVecNearestWorldPtwith the result.
Todo: Do these OBB functions work with vphysics?