LLXform Class Reference

#include <xform.h>

Inheritance diagram for LLXform:

Inheritance graph
[legend]
Collaboration diagram for LLXform:

Collaboration graph
[legend]

List of all members.

Public Types

enum  e_changed_flags {
  UNCHANGED = 0x00, TRANSLATED = 0x01, ROTATED = 0x02, SCALED = 0x04,
  SHIFTED = 0x08, GEOMETRY = 0x10, TEXTURE = 0x20, MOVED = TRANSLATED|ROTATED|SCALED,
  SILHOUETTE = 0x40, ALL_CHANGED = 0x7f
}
typedef enum
LLXform::e_changed_flags 
EChangedFlags

Public Member Functions

void init ()
 LLXform ()
virtual ~LLXform ()
void getLocalMat4 (LLMatrix4 &mat) const
BOOL setParent (LLXform *parent)
void setPosition (const LLVector3 &pos)
void setPosition (const F32 x, const F32 y, const F32 z)
void setPositionX (const F32 x)
void setPositionY (const F32 y)
void setPositionZ (const F32 z)
void addPosition (const LLVector3 &pos)
void setScale (const LLVector3 &scale)
void setScale (const F32 x, const F32 y, const F32 z)
void setRotation (const LLQuaternion &rot)
void setRotation (const F32 x, const F32 y, const F32 z)
void setRotation (const F32 x, const F32 y, const F32 z, const F32 s)
void setChanged (const U32 bits)
BOOL isChanged () const
BOOL isChanged (const U32 bits) const
void clearChanged ()
void clearChanged (U32 bits)
void setScaleChildOffset (BOOL scale)
BOOL getScaleChildOffset ()
LLXformgetParent () const
LLXformgetRoot () const
virtual BOOL isRoot () const
virtual BOOL isRootEdit () const
const LLVector3getPosition () const
const LLVector3getScale () const
const LLQuaterniongetRotation () const
const LLVector3getPositionW () const
const LLQuaterniongetWorldRotation () const
const LLVector3getWorldPosition () const

Protected Attributes

LLVector3 mPosition
LLQuaternion mRotation
LLVector3 mScale
LLVector3 mWorldPosition
LLQuaternion mWorldRotation
LLXformmParent
U32 mChanged
BOOL mScaleChildOffset


Detailed Description

Definition at line 45 of file xform.h.


Member Typedef Documentation


Member Enumeration Documentation

Enumerator:
UNCHANGED 
TRANSLATED 
ROTATED 
SCALED 
SHIFTED 
GEOMETRY 
TEXTURE 
MOVED 
SILHOUETTE 
ALL_CHANGED 

Definition at line 63 of file xform.h.


Constructor & Destructor Documentation

LLXform::LLXform (  ) 

Definition at line 35 of file xform.cpp.

References init().

Here is the call graph for this function:

LLXform::~LLXform (  )  [virtual]

Definition at line 40 of file xform.cpp.


Member Function Documentation

void LLXform::init ( void   )  [inline]

Reimplemented in LLXformMatrix, and LLVOSky.

Definition at line 77 of file xform.h.

References LLVector3::clearVec(), FALSE, LLQuaternion::loadIdentity(), mChanged, mParent, mPosition, mRotation, mScale, mScaleChildOffset, mWorldPosition, mWorldRotation, NULL, LLVector3::setVec(), and UNCHANGED.

Referenced by LLXformMatrix::init(), and LLXform().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLXform::getLocalMat4 ( LLMatrix4 mat  )  const [inline]

Definition at line 92 of file xform.h.

References LLMatrix4::initAll(), mPosition, mRotation, and mScale.

Here is the call graph for this function:

BOOL LLXform::setParent ( LLXform parent  )  [inline]

void LLXform::setPosition ( const LLVector3 pos  )  [inline]

Definition at line 185 of file xform.h.

References LLVector3::clearVec(), LLVector3::isFinite(), llendl, llwarns, mPosition, setChanged(), and TRANSLATED.

Referenced by LLManipRotate::drag(), LLViewerObject::setPosition(), LLJoint::setPosition(), LLViewerJointAttachment::setupDrawable(), LLDrawable::shiftPos(), and LLDrawable::updateXform().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLXform::setPosition ( const F32  x,
const F32  y,
const F32  z 
) [inline]

Definition at line 197 of file xform.h.

References LLVector3::clearVec(), llendl, llfinite, llwarns, mPosition, setChanged(), LLVector3::setVec(), and TRANSLATED.

Here is the call graph for this function:

void LLXform::setPositionX ( const F32  x  )  [inline]

Definition at line 209 of file xform.h.

References llendl, llfinite, llwarns, mPosition, LLVector3::mV, setChanged(), TRANSLATED, and VX.

Here is the call graph for this function:

void LLXform::setPositionY ( const F32  y  )  [inline]

Definition at line 221 of file xform.h.

References llendl, llfinite, llwarns, mPosition, LLVector3::mV, setChanged(), TRANSLATED, and VY.

Here is the call graph for this function:

void LLXform::setPositionZ ( const F32  z  )  [inline]

Definition at line 233 of file xform.h.

References llendl, llfinite, llwarns, mPosition, LLVector3::mV, setChanged(), TRANSLATED, and VZ.

Here is the call graph for this function:

void LLXform::addPosition ( const LLVector3 pos  )  [inline]

Definition at line 245 of file xform.h.

References LLVector3::isFinite(), llendl, llwarns, mPosition, setChanged(), and TRANSLATED.

Here is the call graph for this function:

void LLXform::setScale ( const LLVector3 scale  )  [inline]

Definition at line 254 of file xform.h.

References LLVector3::isFinite(), llendl, llwarns, mScale, SCALED, setChanged(), and LLVector3::setVec().

Referenced by LLJoint::LLJoint(), LLViewerObject::setScale(), LLJoint::setScale(), LLDrawable::shiftPos(), and LLDrawable::updateXform().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLXform::setScale ( const F32  x,
const F32  y,
const F32  z 
) [inline]

Definition at line 265 of file xform.h.

References llendl, llfinite, llwarns, mScale, SCALED, setChanged(), and LLVector3::setVec().

Here is the call graph for this function:

void LLXform::setRotation ( const LLQuaternion rot  )  [inline]

Definition at line 276 of file xform.h.

References LLQuaternion::isFinite(), llendl, llwarns, LLQuaternion::loadIdentity(), mRotation, ROTATED, and setChanged().

Referenced by LLViewerObject::setRotation(), LLJoint::setRotation(), LLViewerJointAttachment::setupDrawable(), LLDrawable::shiftPos(), and LLDrawable::updateXform().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLXform::setRotation ( const F32  x,
const F32  y,
const F32  z 
) [inline]

Definition at line 287 of file xform.h.

References llendl, llfinite, llwarns, LLQuaternion::loadIdentity(), mRotation, ROTATED, setChanged(), and LLQuaternion::setQuat().

Here is the call graph for this function:

void LLXform::setRotation ( const F32  x,
const F32  y,
const F32  z,
const F32  s 
) [inline]

Definition at line 300 of file xform.h.

References llendl, llfinite, llwarns, LLQuaternion::loadIdentity(), LLQuaternion::mQ, mRotation, ROTATED, setChanged(), VS, VX, VY, and VZ.

Here is the call graph for this function:

void LLXform::setChanged ( const U32  bits  )  [inline]

BOOL LLXform::isChanged (  )  const [inline]

Definition at line 111 of file xform.h.

References mChanged.

Referenced by LLViewerObject::updateDrawable(), and LLSelectMgr::updateSilhouettes().

Here is the caller graph for this function:

BOOL LLXform::isChanged ( const U32  bits  )  const [inline]

Definition at line 112 of file xform.h.

References mChanged.

void LLXform::clearChanged (  )  [inline]

void LLXform::clearChanged ( U32  bits  )  [inline]

Definition at line 114 of file xform.h.

References mChanged.

void LLXform::setScaleChildOffset ( BOOL  scale  )  [inline]

Definition at line 116 of file xform.h.

References mScaleChildOffset.

Referenced by LLJoint::LLJoint().

Here is the caller graph for this function:

BOOL LLXform::getScaleChildOffset (  )  [inline]

Definition at line 117 of file xform.h.

References mScaleChildOffset.

Referenced by LLXformMatrix::update().

Here is the caller graph for this function:

LLXform* LLXform::getParent (  )  const [inline]

Definition at line 119 of file xform.h.

References mParent.

Referenced by LLPipeline::addObject(), LLSelectionPayable::apply(), complete_give_money(), LLToolDragAndDrop::dad3dRezScript(), LLToolDragAndDrop::dad3dUpdateInventory(), LLToolDragAndDrop::dad3dUpdateInventoryCategory(), LLSelectMgr::deselectObjectAndFamily(), LLVolumeImplFlexible::doIdleUpdate(), LLVolumeImplFlexible::doUpdateGeometry(), LLManipRotate::drag(), LLViewerObject::dump(), enable_detach(), find_avatar(), find_avatar_from_object(), LLVOAvatar::findAvatarFromAttachment(), LLViewerObject::getBoundingBoxAgent(), LLVOAvatar::getOffObject(), LLViewerObject::getPositionAgent(), LLViewerObject::getPositionEdit(), LLViewerObject::getPositionRegion(), LLViewerObject::getRotationEdit(), LLViewerObject::getRotationRegion(), getSelectedParentObject(), LLViewerObject::getSubParent(), LLAttachmentDetach::handleEvent(), LLAttachmentDrop::handleEvent(), LLEnablePayObject::handleEvent(), LLManipTranslate::handleHover(), LLVOAvatar::idleUpdate(), LLViewerObject::idleUpdate(), LLMuteList::isMuted(), LLViewerObject::markDead(), LLViewerObjectList::orphanize(), LLViewerWindow::performPick(), LLViewerObject::permAnyOwner(), LLViewerObject::permCopy(), LLViewerObject::permGroupOwner(), LLViewerObject::permModify(), LLViewerObject::permMove(), LLViewerObject::permOwnerModify(), LLViewerObject::permTransfer(), LLViewerObject::permYouOwner(), LLToolPie::pickAndShowMenu(), LLViewerObject::processUpdateMessage(), LLSelectMgr::promoteSelectionToRoot(), renderScriptedBeacons(), renderScriptedTouchBeacons(), LLSelectMgr::saveSelectedObjectTransform(), LLSelectMgr::selectObjectAndFamily(), LLAgent::setLookAt(), LLVOVolume::setParent(), LLViewerObject::setPositionAbsoluteGlobal(), LLViewerObject::setPositionEdit(), LLViewerObject::setPositionGlobal(), LLViewerObject::setPositionRegion(), LLVOAvatar::updateCharacter(), LLViewerObject::updateDrawable(), LLAudioSourceVO::updateGain(), LLViewerObject::updatePositionCaches(), LLSelectMgr::updateSilhouettes(), and LLHoverView::updateText().

LLXform * LLXform::getRoot (  )  const

BOOL LLXform::isRoot (  )  const [virtual]

BOOL LLXform::isRootEdit (  )  const [virtual]

const LLVector3& LLXform::getPosition ( void   )  const [inline]

const LLVector3& LLXform::getScale (  )  const [inline]

const LLQuaternion& LLXform::getRotation (  )  const [inline]

const LLVector3& LLXform::getPositionW (  )  const [inline]

Definition at line 127 of file xform.h.

References mWorldPosition.

Referenced by LLDrawable::getBounds(), and LLDrawable::getWorldPosition().

Here is the caller graph for this function:

const LLQuaternion& LLXform::getWorldRotation (  )  const [inline]

const LLVector3& LLXform::getWorldPosition (  )  const [inline]


Member Data Documentation

Definition at line 55 of file xform.h.

Referenced by getWorldRotation(), init(), LLXformMatrix::update(), and LLXformMatrix::updateMatrix().

LLXform* LLXform::mParent [protected]

U32 LLXform::mChanged [protected]

Definition at line 60 of file xform.h.

Referenced by getScaleChildOffset(), init(), and setScaleChildOffset().


The documentation for this class was generated from the following files:

Generated on Fri May 16 09:41:06 2008 for SecondLife by  doxygen 1.5.5