GetElementMatrix: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(int CLuaFunctionDefinitions::GetElementMatrix)
(nnnnp)
Line 1: Line 1:
{{Client function}}
{{Client function}}
__NOTOC__  
__NOTOC__  
// Placeholder article, please fill in details.
This function gets an element's matrix.  This contains various components such as position and rotation.  It is most useful for matrix calculations such as calculating offsets.


==Syntax==
==Syntax==
Line 9: Line 9:


===Required Arguments===  
===Required Arguments===  
*'''theElement:''' TODO
*'''theElement:''' The element which you wish to retrieve the matrix for


===Returns===
===Returns===
TODO
Returns a multi-dimensional array in the format of:
<syntaxhighlight lang="lua">
{
    { rollX,        rollY,        rollZ,        1    },
    { directionX,  directionY,    directionZ,  1    },
    { wasX,        wasY,          wasZ,        1    },
    { posX,        posY,          posZ,        1    },
}
</syntaxhighlight>


==Example==  
==Example==  
TODO
This example creates a utility function that gets the position that is in front of a specified player.  Note that it assumes you have the [http://lua-users.org/wiki/LuaMatrix Lua Matrix] library installed.
<section name="Client" class="client" show="true">
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
-- TODO
function getPositionInFrontOfElement(element)
local posX,posY,posZ = getElementPosition(element)
--Get the position 5 units in front
local transformed = matrix{0,5,0} * matrix(getElementMatrix(element)}
--Get our offset components
local offX,offY,offZ = transformed[1][1],transformed[2][1],transformed[3][1]
--Return absolute coordinates by adding the original position
return posX + offX, posY + offY, posZ + offZ
end
</syntaxhighlight>
</syntaxhighlight>
</section>


==See Also==
==See Also==
{{Client_element_functions}}
{{Client_element_functions}}

Revision as of 19:40, 26 April 2009

This function gets an element's matrix. This contains various components such as position and rotation. It is most useful for matrix calculations such as calculating offsets.

Syntax

int getElementMatrix ( element theElement )       

Required Arguments

  • theElement: The element which you wish to retrieve the matrix for

Returns

Returns a multi-dimensional array in the format of:

{
    { rollX,        rollY,         rollZ,        1    },
    { directionX,   directionY,    directionZ,   1    },
    { wasX,         wasY,          wasZ,         1    },
    { posX,         posY,          posZ,         1    },
}

Example

This example creates a utility function that gets the position that is in front of a specified player. Note that it assumes you have the Lua Matrix library installed.

function getPositionInFrontOfElement(element)
	local posX,posY,posZ = getElementPosition(element)
	--Get the position 5 units in front
	local transformed = matrix{0,5,0} * matrix(getElementMatrix(element)}
	--Get our offset components
	local offX,offY,offZ = transformed[1][1],transformed[2][1],transformed[3][1]
	--Return absolute coordinates by adding the original position
	return posX + offX, posY + offY, posZ + offZ
end

See Also