LLViewerJointAttachment Class Reference

#include <llviewerjointattachment.h>

Inheritance diagram for LLViewerJointAttachment:

Inheritance graph
[legend]
Collaboration diagram for LLViewerJointAttachment:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LLViewerJointAttachment ()
virtual ~LLViewerJointAttachment ()
BOOL isTransparent ()
U32 drawShape (F32 pixelArea, BOOL first_pass)
BOOL updateLOD (F32 pixel_area, BOOL activate)
void setJoint (LLJoint *joint)
void setPieSlice (S32 pie_slice)
void setVisibleInFirstPerson (BOOL visibility)
BOOL getVisibleInFirstPerson ()
void setGroup (S32 group)
void setOriginalPosition (LLVector3 &position)
void setAttachmentVisibility (BOOL visible)
void setIsHUDAttachment (BOOL is_hud)
BOOL getIsHUDAttachment ()
BOOL isAnimatable ()
S32 getGroup ()
S32 getPieSlice ()
BOOL getAttachmentDirty ()
LLViewerObject * getObject ()
S32 getNumObjects ()
const LLUUID & getItemID ()
BOOL addObject (LLViewerObject *object)
void removeObject (LLViewerObject *object)
void lazyAttach ()
void setupDrawable (LLDrawable *drawable)
void clampObjectPosition ()

Protected Member Functions

void calcLOD ()

Protected Attributes

LLJoint * mJoint
LLViewerObject * mAttachedObject
BOOL mAttachmentDirty
BOOL mVisibleInFirst
LLVector3 mOriginalPos
S32 mGroup
BOOL mIsHUDAttachment
S32 mPieSlice
LLUUID mItemID

Detailed Description

Definition at line 48 of file llviewerjointattachment.h.


Constructor & Destructor Documentation

LLViewerJointAttachment::LLViewerJointAttachment (  ) 

Definition at line 56 of file llviewerjointattachment.cpp.

References FALSE, LLJoint::mUpdateXform, and LLViewerJoint::mValid.

LLViewerJointAttachment::~LLViewerJointAttachment (  )  [virtual]

Definition at line 72 of file llviewerjointattachment.cpp.


Member Function Documentation

BOOL LLViewerJointAttachment::addObject ( LLViewerObject *  object  ) 

Definition at line 172 of file llviewerjointattachment.cpp.

References calcLOD(), FALSE, LLViewerObject::getNVPair(), LLNameValue::getString(), lldebugs, llendl, llwarns, mAttachedObject, mAttachmentDirty, LLViewerObject::mChildList, LLViewerObject::mDrawable, mIsHUDAttachment, mItemID, LLViewerObject::mText, LLJoint::mUpdateXform, LLPointer< Type >::notNull(), s, LLUUID::set(), setupDrawable(), and TRUE.

Referenced by LLVOAvatar::attachObject().

void LLViewerJointAttachment::calcLOD (  )  [protected]

Definition at line 349 of file llviewerjointattachment.cpp.

References f, LLViewerObject::getMaxScale(), LLViewerObject::getMidScale(), llclamp(), llmax(), mAttachedObject, LLViewerObject::mChildList, and LLViewerJoint::setLOD().

Referenced by addObject().

void LLViewerJointAttachment::clampObjectPosition (  ) 

Definition at line 333 of file llviewerjointattachment.cpp.

References LLXform::getPosition(), llmin(), mAttachedObject, MAX_ATTACHMENT_DIST, LLVector3::normVec(), and LLViewerObject::setPosition().

U32 LLViewerJointAttachment::drawShape ( F32  pixelArea,
BOOL  first_pass 
) [virtual]

Reimplemented from LLViewerJoint.

Definition at line 87 of file llviewerjointattachment.cpp.

References f, glBegin, glColor4f, glEnd, and LLVOAvatar::sShowAttachmentPoints.

BOOL LLViewerJointAttachment::getAttachmentDirty (  )  [inline]

Definition at line 85 of file llviewerjointattachment.h.

References mAttachedObject, and mAttachmentDirty.

S32 LLViewerJointAttachment::getGroup (  )  [inline]

Definition at line 83 of file llviewerjointattachment.h.

References mGroup.

BOOL LLViewerJointAttachment::getIsHUDAttachment (  )  [inline]

Definition at line 79 of file llviewerjointattachment.h.

References mIsHUDAttachment.

Referenced by LLPipeline::renderForSelect(), and LLViewerObjectList::renderObjectsForSelect().

const LLUUID& LLViewerJointAttachment::getItemID (  )  [inline]

Definition at line 88 of file llviewerjointattachment.h.

References mItemID.

Referenced by LLVOAvatar::attachObject(), and LLAgent::makeNewOutfit().

S32 LLViewerJointAttachment::getNumObjects (  )  [inline]

Definition at line 87 of file llviewerjointattachment.h.

References mAttachedObject.

LLViewerObject* LLViewerJointAttachment::getObject (  )  [inline]

Definition at line 86 of file llviewerjointattachment.h.

References mAttachedObject.

Referenced by handle_detach_from_avatar(), LLAgent::makeNewOutfit(), object_attached(), LLPipeline::renderForSelect(), LLViewerObjectList::renderObjectsForSelect(), rez_attachment(), and LLAgent::userRemoveAllAttachments().

S32 LLViewerJointAttachment::getPieSlice (  )  [inline]

Definition at line 84 of file llviewerjointattachment.h.

References mPieSlice.

BOOL LLViewerJointAttachment::getVisibleInFirstPerson (  )  [inline]

Definition at line 74 of file llviewerjointattachment.h.

References mVisibleInFirst.

BOOL LLViewerJointAttachment::isAnimatable (  )  [inline, virtual]

Reimplemented from LLJoint.

Definition at line 81 of file llviewerjointattachment.h.

References FALSE.

BOOL LLViewerJointAttachment::isTransparent (  )  [virtual]

Reimplemented from LLViewerJoint.

Definition at line 79 of file llviewerjointattachment.cpp.

References FALSE.

void LLViewerJointAttachment::lazyAttach (  ) 

Definition at line 108 of file llviewerjointattachment.cpp.

References FALSE, mAttachedObject, mAttachmentDirty, LLViewerObject::mDrawable, and setupDrawable().

void LLViewerJointAttachment::removeObject ( LLViewerObject *  object  ) 

Definition at line 234 of file llviewerjointattachment.cpp.

References FALSE, LLViewerObject::getRenderPosition(), LLViewerObject::getRenderRotation(), gPipeline, LLFace::HUD_RENDER, LLPipeline::markMoved(), LLPipeline::markTextured(), mAttachedObject, LLViewerObject::mChildList, LLViewerObject::mDrawable, mIsHUDAttachment, mItemID, LLViewerObject::mText, LLJoint::mUpdateXform, LLPointer< Type >::notNull(), NULL, S32, setAttachmentVisibility(), LLUUID::setNull(), TRUE, and LLDrawable::USE_BACKLIGHT.

void LLViewerJointAttachment::setAttachmentVisibility ( BOOL  visible  ) 

Definition at line 302 of file llviewerjointattachment.cpp.

References LLViewerObject::isHUDAttachment(), LLPointer< Type >::isNull(), mAttachedObject, LLViewerObject::mDrawable, LLPipeline::RENDER_TYPE_HUD, and LLPipeline::RENDER_TYPE_VOLUME.

Referenced by removeObject().

void LLViewerJointAttachment::setGroup ( S32  group  )  [inline]

Definition at line 75 of file llviewerjointattachment.h.

References mGroup.

Referenced by LLVOAvatar::loadSkeletonNode().

void LLViewerJointAttachment::setIsHUDAttachment ( BOOL  is_hud  )  [inline]

Definition at line 78 of file llviewerjointattachment.h.

References mIsHUDAttachment.

Referenced by LLVOAvatar::loadSkeletonNode().

void LLViewerJointAttachment::setJoint ( LLJoint *  joint  )  [inline]

Definition at line 71 of file llviewerjointattachment.h.

References mJoint.

void LLViewerJointAttachment::setOriginalPosition ( LLVector3 &  position  ) 

Definition at line 324 of file llviewerjointattachment.cpp.

References mOriginalPos, and LLJoint::setPosition().

Referenced by LLVOAvatar::loadSkeletonNode().

void LLViewerJointAttachment::setPieSlice ( S32  pie_slice  )  [inline]

Definition at line 72 of file llviewerjointattachment.h.

References mPieSlice.

Referenced by LLVOAvatar::loadSkeletonNode().

void LLViewerJointAttachment::setupDrawable ( LLDrawable *  drawable  ) 

Definition at line 123 of file llviewerjointattachment.cpp.

References LLDrawable::getFace(), LLDrawable::getNumFaces(), LLViewerObject::getRenderPosition(), LLViewerObject::getRenderRotation(), LLJoint::getWorldPosition(), LLJoint::getWorldRotation(), gPipeline, LLFace::HUD_RENDER, LLDrawable::makeActive(), LLPipeline::markMoved(), LLPipeline::markTextured(), mAttachedObject, LLViewerObject::mChildList, mIsHUDAttachment, LLJoint::mXform, LLDrawable::mXform, LLVector3::rotVec(), S32, LLXform::setParent(), LLXform::setPosition(), LLXform::setRotation(), LLFace::setState(), LLDrawable::setState(), and LLDrawable::USE_BACKLIGHT.

Referenced by addObject(), and lazyAttach().

void LLViewerJointAttachment::setVisibleInFirstPerson ( BOOL  visibility  )  [inline]

Definition at line 73 of file llviewerjointattachment.h.

References mVisibleInFirst.

Referenced by LLVOAvatar::loadSkeletonNode().

BOOL LLViewerJointAttachment::updateLOD ( F32  pixel_area,
BOOL  activate 
) [virtual]

Reimplemented from LLViewerJoint.

Definition at line 368 of file llviewerjointattachment.cpp.

References FALSE, LLViewerJoint::mValid, LLViewerJoint::setValid(), and TRUE.


Member Data Documentation

LLViewerObject* LLViewerJointAttachment::mAttachedObject [protected]

Definition at line 106 of file llviewerjointattachment.h.

Referenced by addObject(), calcLOD(), clampObjectPosition(), getAttachmentDirty(), getNumObjects(), getObject(), lazyAttach(), removeObject(), setAttachmentVisibility(), and setupDrawable().

BOOL LLViewerJointAttachment::mAttachmentDirty [protected]

Definition at line 107 of file llviewerjointattachment.h.

Referenced by addObject(), getAttachmentDirty(), and lazyAttach().

S32 LLViewerJointAttachment::mGroup [protected]

Definition at line 110 of file llviewerjointattachment.h.

Referenced by getGroup(), and setGroup().

BOOL LLViewerJointAttachment::mIsHUDAttachment [protected]

Definition at line 111 of file llviewerjointattachment.h.

Referenced by addObject(), getIsHUDAttachment(), removeObject(), setIsHUDAttachment(), and setupDrawable().

LLUUID LLViewerJointAttachment::mItemID [protected]

Definition at line 113 of file llviewerjointattachment.h.

Referenced by addObject(), getItemID(), and removeObject().

LLJoint* LLViewerJointAttachment::mJoint [protected]

Definition at line 104 of file llviewerjointattachment.h.

Referenced by setJoint().

LLVector3 LLViewerJointAttachment::mOriginalPos [protected]

Definition at line 109 of file llviewerjointattachment.h.

Referenced by setOriginalPosition().

S32 LLViewerJointAttachment::mPieSlice [protected]

Definition at line 112 of file llviewerjointattachment.h.

Referenced by getPieSlice(), and setPieSlice().

BOOL LLViewerJointAttachment::mVisibleInFirst [protected]

Definition at line 108 of file llviewerjointattachment.h.

Referenced by getVisibleInFirstPerson(), and setVisibleInFirstPerson().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:57 2010 for Second Life Viewer by  doxygen 1.4.7