Difference between revisions of "NiAVObjectSetLocalTransform"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>DragoonWraith
imported>DragoonWraith
Line 2: Line 2:


'''Syntax'''
'''Syntax'''
  (bool:success) NifSetNthChildLocalTransformTEMP float:a11 float:a12 float:a13 float:a14 \
  (bool:success) NiAVObjectSetLocalTransformTEMP float:a11 float:a12 float:a13 float:a14 \
                                                float:a21 float:a22 float:a23 float:a24 \
                                                float:a21 float:a22 float:a23 float:a24 \
                                                float:a31 float:a32 float:a33 float:a34 \
                                                float:a31 float:a32 float:a33 float:a34 \
                                                float:a41 float:a42 float:a43 float:a44 short:ChildID short:NifID
                                                float:a41 float:a42 float:a43 float:a44 short:nifID ''short:blockID''
(bool:success) NiAVObjSetLocTransfT float:a11 float:a12 float:a13 float:a14 \
                                    float:a21 float:a22 float:a23 float:a24 \
                                    float:a31 float:a32 float:a33 float:a34 \
                                    float:a41 float:a42 float:a43 float:a44 short:nifID ''short:blockID''


Sets the local transform of the specified Child of the root node.
Sets the local transform matrix of the specified <tt>NiAVObject</tt>-derived block. The default value of <tt>blockID</tt>, 0, refers to the NIF's root, a <tt>NiNode</tt>, and so this function can be used without an explicit <tt>blockID</tt> to set the local transform of the root.


== Notes ==
== Notes ==
* Because OBSE Plug-Ins cannot currently accept arrays as arguments, this function takes 16 floats instead of one 4x4 matrix of floats. OBSE v1900 is expected to enable the acceptance of arrays, in which case this function will be deprecated in favor of the version that accepts the matrix. Backwards compatibility ''will'' be maintained however.
* Because OBSE Plug-Ins cannot currently accept arrays as arguments, <tt>NiAVObjectSetLocalRotation</tt>, as it would properly exist, cannot be implemented. <tt>NiAVObjectSetLocalRotationTEMP</tt> is provided as an alternative; it will be deprecated in favor of <tt>NiAVObjectSetLocalRotation</tt> when OBSE adds the ability to take array arguments, but backwards compatibility will be maintained.
* Due to Wiki software limitations, the syntax section cannot be written on one line. Furthermore, it would be hideous to attempt to read that way in any case. However, the CS '''requires''' that all 18 arguments appear on a single line.
** Due to Wiki software limitations, the syntax for <tt>NiAVObjectSetLocalRotationTEMP</tt> cannot be written on one line. Furthermore, it would be hideous to attempt to read that way in any case. However, the CS '''requires''' that all 11 arguments appear on a single line.
* This function is untested, due solely to the fact that the author does not fully understand how this matrix works and would not be able to judge whether or not it works correctly even if it were tested. Feedback on it from someone who knows how it works would be appreciated.


== See Also ==
== See Also ==
* [[NifGetNthChildLocalTransform]]
* [[NiAVObjectGetLocalTransform]]




* [[NifSetNthChildLocalTranslationTEMP]]
* [[NiAVObjectSetLocalTranslation]]
* [[NifSetNthChildLocalRotationTEMP]]
* [[NiAVObjectSetLocalRotation]]
* [[NifSetNthChildLocalScale]]
* [[NiAVObjectSetLocalScale]]


[[Category:NifSE|SetNthChildTransform]]
[[Category:NifSE|AVObjectSetTransform]]
[[Category:NifSE (Children)|SetNthChildTransform]]
[[Category:NifSE (NiAVObject)|SetTransform]]

Revision as of 19:45, 29 August 2010

This is a command from NifSE.

Syntax

(bool:success) NiAVObjectSetLocalTransformTEMP float:a11 float:a12 float:a13 float:a14 \
                                               float:a21 float:a22 float:a23 float:a24 \
                                               float:a31 float:a32 float:a33 float:a34 \
                                               float:a41 float:a42 float:a43 float:a44 short:nifID short:blockID

(bool:success) NiAVObjSetLocTransfT float:a11 float:a12 float:a13 float:a14 \
                                    float:a21 float:a22 float:a23 float:a24 \
                                    float:a31 float:a32 float:a33 float:a34 \
                                    float:a41 float:a42 float:a43 float:a44 short:nifID short:blockID

Sets the local transform matrix of the specified NiAVObject-derived block. The default value of blockID, 0, refers to the NIF's root, a NiNode, and so this function can be used without an explicit blockID to set the local transform of the root.

Notes

  • Because OBSE Plug-Ins cannot currently accept arrays as arguments, NiAVObjectSetLocalRotation, as it would properly exist, cannot be implemented. NiAVObjectSetLocalRotationTEMP is provided as an alternative; it will be deprecated in favor of NiAVObjectSetLocalRotation when OBSE adds the ability to take array arguments, but backwards compatibility will be maintained.
    • Due to Wiki software limitations, the syntax for NiAVObjectSetLocalRotationTEMP cannot be written on one line. Furthermore, it would be hideous to attempt to read that way in any case. However, the CS requires that all 11 arguments appear on a single line.

See Also