Main Page | Class Hierarchy | Alphabetical List | Compound List | Compound Members

# IRdMatrixfDisp Struct 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] IRdMatrixfDisp *pM)
HRESULT | PreMult ([in] IRdMatrixfDisp *pM)
HRESULT | GetAxisX ([out, retval] IRdVertex **ppVect)
HRESULT | GetAxisY ([out, retval] IRdVertex **ppVect)
HRESULT | GetAxisZ ([out, retval] IRdVertex **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] IRdVertex *center,[in] IRdVertex *axes,[in] RtFloat angle)
HRESULT | Decompose ([out, retval] IRdComponents **ppComponnets)
HRESULT | Compose ([in] IRdComponents *pComponnets)
HRESULT | Shift ([in] IRdVertex *pShift)

## Detailed Description

The IRdMatrixfDisp object stores the transformation matrix of size 4x4 that encodes the rotation, scale and translation of an object in space This object is generated for example by object into ObjMatrix connector

## 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 Parameters:
  pMatrix | 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 | row number
  j | column number
  pVal | returned value

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

  | Sets the value of one matrix element Parameters:
  i | row number
  j | column number
  newVal | new value to set

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 | x coordinate of rotation axis
  y | y coordinate of rotation axis
  z | z coordinate of rotation axis
  angle | rotation angle in radians

HRESULT IRdMatrixfDisp::Mult | ( | [in] IRdMatrixfDisp * | 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 | matrix to multiply

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

  | Determines the product of an arbitrary matrix and given matrix Parameters:
  pM | matrix to multiply

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

  | Returns the value of x axis for matrix Parameters:
  ppVect | value of x axis

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

  | Returns the value of y axis for matrix Parameters:
  ppVect | value of y axis

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

  | Returns the value of z axis for matrix Parameters:
  ppVect | value of z axis

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

  | Returns the x coordinate of translation Parameters:
  pVal | x coordinate of translation

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

  | Sets the x coordinate of translation Parameters:
  pVal | x coordinate of translation

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

  | Returns the y coordinate of translation Parameters:
  pVal | y coordinate of translation

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

  | Sets the y coordinate of translation Parameters:
  pVal | y coordinate of translation

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

  | Returns the z coordinate of translation Parameters:
  pVal | z coordinate of translation

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

  | Sets the z coordinate of translation Parameters:
  pVal | z coordinate of translation

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

  | Returns the roll value Parameters:
  pVal | roll

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

  | Sets the roll value Parameters:
  pVal | roll

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

  | Returns the pitch value Parameters:
  pVal | pitch

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

  | Sets the pitch value Parameters:
  pVal | pitch

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

  | Returns the yaw value Parameters:
  pVal | yaw

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

  | Sets the yaw value Parameters:
  pVal | yaw

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

  | Returns the scale in x axis Parameters:
  pVal | scale value

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

  | Sets the scale in x axis Parameters:
  pVal | scale value

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

  | Returns the scale in y axis Parameters:
  pVal | scale value

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

  | Sets the scale in y axis Parameters:
  pVal | scale value

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

  | Returns the scale in z axis Parameters:
  pVal | scale value

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

  | Sets the scale in z axis Parameters:
  pVal | scale value

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

  | Returns the shear in xy Parameters:
  pVal | shear value

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

  | Sets the shear in xy Parameters:
  pVal | shear value

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

  | Returns the shear in xz Parameters:
  pVal | shear value

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

  | Sets the shear in xz Parameters:
  pVal | shear value

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

  | Returns the shear in yz Parameters:
  pVal | shear value

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

  | Sets the shear in yz Parameters:
  pVal | shear value

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 | scale in x
  sy | scale in y
  sz | scale in z
  sxy | shear in xy
  sxz | shear in xz
  syz | shear in yz

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

  | Adds rotation to matrix around arbitrary axis and center Parameters:
  center | center of rotation
  axis | axis of rotation
  angle | angle of ration
See also: IRdVertex

HRESULT IRdMatrixfDisp::Decompose | ( | [out, retval] IRdComponents ** | ppComponnets | ) |

  | Decomposes transframtion matrix to translation (x,y,z), rotation (roll, pitch, yaw) and scale (sx, sy, sz, sxy, syz, syz) Parameters:
  ppComponnets | components of transformation matrix
See also: IRdComponents

HRESULT IRdMatrixfDisp::Compose | ( | [in] IRdComponents * | pComponnets | ) |

  | Composes transformtion matrix from translation (x,y,z), rotation (roll, pitch, yaw) and scale (sx, sy, sz, sxy, syz, syz) Parameters:
  pComponnets | components of transformation matrix
See also: IRdComponents

HRESULT IRdMatrixfDisp::Shift | ( | [in] IRdVertex * | pShift | ) |

  | Adds shift to transfomation matrix according to arbitrary vector Parameters:
  pShift | shift vector
See also: IRdVertex