IRdMatrixfDisp Interface Reference

Inherits IDispatch.

List of all members.

Public Member Functions

HRESULT LoadIdentity (void)
HRESULT LockData ([out, retval] RtFloat **pMatrix)
HRESULT UnlockData (void)
HRESULT GetAt ([in] RtUlong i,[in] RtUlong j,[out, retval] RtFloat *pVal)
HRESULT SetAt ([in] RtUlong i,[in] RtUlong j,[in] RtFloat newVal)
HRESULT RotationAxis ([in] RtFloat x,[in] RtFloat y,[in] RtFloat z,[in] RtFloat angle)
HRESULT Mult ([in] IDispatch *pM)
HRESULT PreMult ([in] IDispatch *pM)
HRESULT GetAxisX ([out, retval] IDispatch **ppVect)
HRESULT GetAxisY ([out, retval] IDispatch **ppVect)
HRESULT GetAxisZ ([out, retval] IDispatch **ppVect)
HRESULT GetTransX ([out, retval] RtFloat *pVal)
HRESULT SetTransX ([in] RtFloat newVal)
HRESULT GetTransY ([out, retval] RtFloat *pVal)
HRESULT SetTransY ([in] RtFloat newVal)
HRESULT GetTransZ ([out, retval] RtFloat *pVal)
HRESULT SetTransZ ([in] RtFloat newVal)
HRESULT GetRoll ([out, retval] RtFloat *pVal)
HRESULT SetRoll ([in] RtFloat newVal)
HRESULT GetPitch ([out, retval] RtFloat *pVal)
HRESULT SetPitch ([in] RtFloat newVal)
HRESULT GetYaw ([out, retval] RtFloat *pVal)
HRESULT SetYaw ([in] RtFloat newVal)
HRESULT GetScaleX ([out, retval] RtFloat *pVal)
HRESULT SetScaleX ([in] RtFloat newVal)
HRESULT GetScaleY ([out, retval] RtFloat *pVal)
HRESULT SetScaleY ([in] RtFloat newVal)
HRESULT GetScaleZ ([out, retval] RtFloat *pVal)
HRESULT SetScaleZ ([in] RtFloat newVal)
HRESULT GetShearX ([out, retval] RtFloat *pVal)
HRESULT SetShearX ([in] RtFloat newVal)
HRESULT GetShearY ([out, retval] RtFloat *pVal)
HRESULT SetShearY ([in] RtFloat newVal)
HRESULT GetShearZ ([out, retval] RtFloat *pVal)
HRESULT SetShearZ ([in] RtFloat newVal)
HRESULT AddScaleShear ([in] RtFloat sx,[in]RtFloat sy,[in] RtFloat sz,[in] RtFloat sxy,[in] RtFloat sxz,[in] RtFloat syz)
HRESULT Rotate ([in] IDispatch *center,[in] IDispatch *axes,[in] RtFloat angle)
HRESULT Decompose ([out, retval] IDispatch **ppComponents)
HRESULT Compose ([in] IDispatch *pComponents)
HRESULT Shift ([in] IDispatch *pShift)
HRESULT LoadMatrix ([in] IDispatch *pM)
HRESULT Invert ([out, retval] IDispatch **pM)
HRESULT Transpose ([out, retval] IDispatch **pM)
HRESULT ScaleLocal ([in] RtFloat x,[in] RtFloat y,[in] RtFloat z)
HRESULT Scale ([in] RtFloat x,[in] RtFloat y,[in] RtFloat z)
HRESULT Shear ([in] RtFloat x,[in] RtFloat y,[in] RtFloat z)
HRESULT TranslateLocal ([in] RtFloat x,[in] RtFloat y,[in] RtFloat z)
HRESULT Translate ([in] RtFloat x,[in] RtFloat y,[in] RtFloat z)
HRESULT RotateEuler ([in] RtFloat x,[in] RtFloat y,[in] RtFloat z)
HRESULT RotateEulerPRY ([in] RtFloat fPitch,[in] RtFloat fRoll,[in] RtFloat fYaw)
HRESULT RotationX ([in] RtFloat x)
HRESULT RotationY ([in] RtFloat y)
HRESULT RotationZ ([in] RtFloat z)
HRESULT TransformPoint ([in] IDispatch *SourcePoint,[out, retval] IDispatch **pDestPoint)
HRESULT TransformVector ([in] IDispatch *SourceVect,[out, retval] IDispatch **pDestVect)
HRESULT LookAt ([in] IDispatch *pEye,[in] IDispatch *pAt,[in] IDispatch *pUp)
HRESULT MakeRotTrans ([in] IDispatch *center,[in] IDispatch *axis,[in] RtFloat angle)
HRESULT GetTrans ([out, retval] IDispatch **ppVect)
HRESULT SetTrans ([in] IDispatch *pVect)


Detailed Description

The IRdMatrixfDisp object:

Member Function Documentation

HRESULT IRdMatrixfDisp::LoadIdentity ( void   ) 

Initializes indentity matrix.

HRESULT IRdMatrixfDisp::LockData ( [out, retval] RtFloat **  pMatrix  ) 

Locks matrix and returns access pointer to matrix data.

Returns:
pMatrix [out,retval] Returned locked matrix.

HRESULT IRdMatrixfDisp::UnlockData ( void   ) 

Unlocks matrix data.

HRESULT IRdMatrixfDisp::GetAt ( [in] RtUlong  i,
[in] RtUlong  j,
[out, retval] RtFloat *  pVal 
)

Returns the value of one matrix element.

Parameters:
i [in] Row number.
j [in] Column number.
Returns:
pVal [out, retval] Returned value of matrix element.

HRESULT IRdMatrixfDisp::SetAt ( [in] RtUlong  i,
[in] RtUlong  j,
[in] RtFloat  newVal 
)

Sets the value of one matrix element.

Parameters:
i [in] Row number.
j [in] Column number.
newVal [in] New value to set for matrix element.

HRESULT IRdMatrixfDisp::RotationAxis ( [in] RtFloat  x,
[in] RtFloat  y,
[in] RtFloat  z,
[in] RtFloat  angle 
)

Rotates matrix around arbitrary axis and arbitrary angle.

Parameters:
x [in] X coordinate of rotation axis.
y [in] Y coordinate of rotation axis.
z [in] Z coordinate of rotation axis.
angle [in] Rotation angle in radians.

HRESULT IRdMatrixfDisp::Mult ( [in] IDispatch *  pM  ) 

Determines the product of given matrix and an arbitrary matrix.

  • The result represents the current transformation followed by the transformation given by arbitrary matrix.
Parameters:
pM [in] Matrix to multiply.

HRESULT IRdMatrixfDisp::PreMult ( [in] IDispatch *  pM  ) 

Determines the product of an arbitrary matrix and given matrix.

Parameters:
pM [in] Matrix to multiply.

HRESULT IRdMatrixfDisp::GetAxisX ( [out, retval] IDispatch **  ppVect  ) 

Returns the value of x axis for matrix.

Returns:
ppVect [out, retval] Value of x axis.

HRESULT IRdMatrixfDisp::GetAxisY ( [out, retval] IDispatch **  ppVect  ) 

Returns the value of y axis for matrix.

Returns:
ppVect [out, retval] Value of y axis.

HRESULT IRdMatrixfDisp::GetAxisZ ( [out, retval] IDispatch **  ppVect  ) 

Returns the value of z axis for matrix.

Returns:
ppVect [out, retval] Value of z axis.

HRESULT IRdMatrixfDisp::GetTransX ( [out, retval] RtFloat *  pVal  ) 

Returns the x coordinate of translation.

Returns:
pVal [out, retval] X coordinate of translation.

HRESULT IRdMatrixfDisp::SetTransX ( [in] RtFloat  newVal  ) 

Sets the x coordinate of translation.

Parameters:
pVal [in] X coordinate of translation to set.

HRESULT IRdMatrixfDisp::GetTransY ( [out, retval] RtFloat *  pVal  ) 

Returns the y coordinate of translation.

Returns:
pVal [out, retval] Y coordinate of translation.

HRESULT IRdMatrixfDisp::SetTransY ( [in] RtFloat  newVal  ) 

Sets the y coordinate of translation.

Parameters:
pVal [in] Y coordinate of translation to set.

HRESULT IRdMatrixfDisp::GetTransZ ( [out, retval] RtFloat *  pVal  ) 

Returns the z coordinate of translation.

Returns:
pVal [out, retval] Z coordinate of translation.

HRESULT IRdMatrixfDisp::SetTransZ ( [in] RtFloat  newVal  ) 

Sets the z coordinate of translation.

Parameters:
pVal [in] Z coordinate of translation to set.

HRESULT IRdMatrixfDisp::GetRoll ( [out, retval] RtFloat *  pVal  ) 

Returns the roll value.

Returns:
pVal [out, retval] Roll value.

HRESULT IRdMatrixfDisp::SetRoll ( [in] RtFloat  newVal  ) 

Sets the roll value.

Parameters:
pVal [in] Roll value to set.

HRESULT IRdMatrixfDisp::GetPitch ( [out, retval] RtFloat *  pVal  ) 

Returns the pitch value.

Returns:
pVal [out, retval] Pitch.

HRESULT IRdMatrixfDisp::SetPitch ( [in] RtFloat  newVal  ) 

Sets the pitch value.

Parameters:
pVal [in] Pitch value to set.

HRESULT IRdMatrixfDisp::GetYaw ( [out, retval] RtFloat *  pVal  ) 

Returns the yaw value.

Returns:
pVal [out, retval] Yaw.

HRESULT IRdMatrixfDisp::SetYaw ( [in] RtFloat  newVal  ) 

Sets the yaw value.

Parameters:
pVal [in] Yaw value to set.

HRESULT IRdMatrixfDisp::GetScaleX ( [out, retval] RtFloat *  pVal  ) 

Returns the scale in x axis.

Returns:
pVal [out, retval] X scale value.

HRESULT IRdMatrixfDisp::SetScaleX ( [in] RtFloat  newVal  ) 

Sets the scale in x axis.

Parameters:
pVal [in] X scale value to set.

HRESULT IRdMatrixfDisp::GetScaleY ( [out, retval] RtFloat *  pVal  ) 

Returns the scale in y axis.

Returns:
pVal [out, retval] Y scale value.

HRESULT IRdMatrixfDisp::SetScaleY ( [in] RtFloat  newVal  ) 

Sets the scale in y axis.

Parameters:
pVal [in] Y scale value to set.

HRESULT IRdMatrixfDisp::GetScaleZ ( [out, retval] RtFloat *  pVal  ) 

Returns the scale in z axis.

Parameters:
pVal [out, retval] Z scale value.

HRESULT IRdMatrixfDisp::SetScaleZ ( [in] RtFloat  newVal  ) 

Sets the scale in z axis.

Parameters:
pVal [in] Z scale value to set.

HRESULT IRdMatrixfDisp::GetShearX ( [out, retval] RtFloat *  pVal  ) 

Returns the shear in xy.

Returns:
pVal [out, retval] XY shear value.

HRESULT IRdMatrixfDisp::SetShearX ( [in] RtFloat  newVal  ) 

Sets the shear in xy.

Parameters:
pVal [in] XY shear value to set.

HRESULT IRdMatrixfDisp::GetShearY ( [out, retval] RtFloat *  pVal  ) 

Returns the shear in xz.

Returns:
pVal [out, retval] XZ shear value.

HRESULT IRdMatrixfDisp::SetShearY ( [in] RtFloat  newVal  ) 

Sets the shear in xz.

Parameters:
pVal [in] XZ shear value to set.

HRESULT IRdMatrixfDisp::GetShearZ ( [out, retval] RtFloat *  pVal  ) 

Returns the shear in yz.

Returns:
pVal [out, retval] YZ shear value.

HRESULT IRdMatrixfDisp::SetShearZ ( [in] RtFloat  newVal  ) 

Sets the shear in yz.

Parameters:
pVal [in] YZ shear value to set.

HRESULT IRdMatrixfDisp::AddScaleShear ( [in] RtFloat  sx,
[in] RtFloat  sy,
[in] RtFloat  sz,
[in] RtFloat  sxy,
[in] RtFloat  sxz,
[in] RtFloat  syz 
)

Adds the scale and shear transformation to matrix.

Parameters:
sx [in] Scale in x.
sy [in] Scale in y.
sz [in] Scale in z.
sxy [in] Shear in xy.
sxz [in] Shear in xz.
syz [in] Shear in yz.

HRESULT IRdMatrixfDisp::Rotate ( [in] IDispatch *  center,
[in] IDispatch *  axes,
[in] RtFloat  angle 
)

Adds rotation to matrix around arbitrary axis and center.

Parameters:
center [in] Center of rotation.
axis [in] Axis of rotation.
angle [in] Angle of rotation.
See also:
IRdVertex

HRESULT IRdMatrixfDisp::Decompose ( [out, retval] IDispatch **  ppComponents  ) 

Decomposes transframtion matrix to translation (x,y,z), rotation (roll, pitch, yaw) and scale (sx, sy, sz, sxy, syz, syz).

Returns:
ppComponents [out, retval] Components of transformation matrix.
See also:
IRdComponents

HRESULT IRdMatrixfDisp::Compose ( [in] IDispatch *  pComponents  ) 

Composes transformtion matrix from translation (x,y,z), rotation (roll, pitch, yaw) and scale (sx, sy, sz, sxy, syz, syz).

Parameters:
pComponents [in] Components of transformation matrix.
See also:
IRdComponents

HRESULT IRdMatrixfDisp::Shift ( [in] IDispatch *  pShift  ) 

Adds shift to transfomation matrix according to arbitrary vector.

Parameters:
pShift [in] Shift vector to add.
See also:
IRdVertex

HRESULT IRdMatrixfDisp::LoadMatrix ( [in] IDispatch *  pM  ) 

LoadMatrix.

Parameters:
pM [in] .

HRESULT IRdMatrixfDisp::Invert ( [out, retval] IDispatch **  pM  ) 

Invert Matrix.

Parameters:
pM [in] Matrix to invert.

HRESULT IRdMatrixfDisp::Transpose ( [out, retval] IDispatch **  pM  ) 

Transpose Matrix.

Parameters:
pM [in] Matrix to transpose.

HRESULT IRdMatrixfDisp::ScaleLocal ( [in] RtFloat  x,
[in] RtFloat  y,
[in] RtFloat  z 
)

ScaleLocal.

Parameters:
x [in] Set local scale for x axis.
y [in] Set local scale for y axis.
z [in] Set local scale for z axis.

HRESULT IRdMatrixfDisp::Scale ( [in] RtFloat  x,
[in] RtFloat  y,
[in] RtFloat  z 
)

Scale.

Parameters:
x [in] Set scale for x axis.
y [in] Set scale for y axis.
z [in] Set scale for z axis.

HRESULT IRdMatrixfDisp::Shear ( [in] RtFloat  x,
[in] RtFloat  y,
[in] RtFloat  z 
)

Shear.

Parameters:
x [in] Set shear in x axis.
y [in] Set shear in y axis.
z [in] Set shear in z axis.

HRESULT IRdMatrixfDisp::TranslateLocal ( [in] RtFloat  x,
[in] RtFloat  y,
[in] RtFloat  z 
)

TranslateLocal.

Parameters:
x [in] Set local translation value for x.
y [in] Set local translation value for y.
z [in] Set local translation value for z.

HRESULT IRdMatrixfDisp::Translate ( [in] RtFloat  x,
[in] RtFloat  y,
[in] RtFloat  z 
)

Translate.

Parameters:
x [in] Set translation value for x.
y [in] Set translation value for y.
z [in] Set translation value for z.

HRESULT IRdMatrixfDisp::RotateEuler ( [in] RtFloat  x,
[in] RtFloat  y,
[in] RtFloat  z 
)

RotateEuler.

Parameters:
x [in] Set euler rotation value for x.
y [in] Set euler rotation value for y.
z [in] Set euler rotation value for z.

HRESULT IRdMatrixfDisp::RotateEulerPRY ( [in] RtFloat  fPitch,
[in] RtFloat  fRoll,
[in] RtFloat  fYaw 
)

RotateEulerPRY {pitch/roll/yaw).

Parameters:
x [in] Set eulerPRY rotation value for x.
y [in] Set eulerPRY rotation value for y.
z [in] Set eulerPRY rotation value for z.

HRESULT IRdMatrixfDisp::RotationX ( [in] RtFloat  x  ) 

RotationX.

Parameters:
x [in] Set x rotation value.

HRESULT IRdMatrixfDisp::RotationY ( [in] RtFloat  y  ) 

RotationY.

Parameters:
y [in] Set y rotation value.

HRESULT IRdMatrixfDisp::RotationZ ( [in] RtFloat  z  ) 

RotationZ.

Parameters:
z [in] Set z rotation value.

HRESULT IRdMatrixfDisp::TransformPoint ( [in] IDispatch *  SourcePoint,
[out, retval] IDispatch **  pDestPoint 
)

TransformPoint.

Parameters:
SourcePoint [in] Source point.
Returns:
pDestPoint [out,retval] Returns destination point.

HRESULT IRdMatrixfDisp::TransformVector ( [in] IDispatch *  SourceVect,
[out, retval] IDispatch **  pDestVect 
)

TransformVector.

Parameters:
SourceVect [in] Source vector.
Returns:
pDestVect [out,retval] Destination vector.

HRESULT IRdMatrixfDisp::LookAt ( [in] IDispatch *  pEye,
[in] IDispatch *  pAt,
[in] IDispatch *  pUp 
)

LookAt.

Parameters:
pEye [in] .
pAt [in] .
pUp [in] .

HRESULT IRdMatrixfDisp::MakeRotTrans ( [in] IDispatch *  center,
[in] IDispatch *  axis,
[in] RtFloat  angle 
)

MakeRotTrans.

Parameters:
center [in] .
axis [in] .
angle [in] .

HRESULT IRdMatrixfDisp::GetTrans ( [out, retval] IDispatch **  ppVect  ) 

Returns the translation vector.

Returns:
pVal [out, retval] Translation vector.

HRESULT IRdMatrixfDisp::SetTrans ( [in] IDispatch *  pVect  ) 

Sets the translation vector.

Parameters:
pVect [in] Translation vector.


Generated on Wed May 20 21:32:01 2009 for trueSpace7.6 SDK by  doxygen 1.5.5