#include <llhudeffectlookat.h>
Inheritance diagram for LLHUDEffectLookAt:
Public Member Functions | |
void | markDead () |
void | setSourceObject (LLViewerObject *objectp) |
BOOL | setLookAt (ELookAtType target_type, LLViewerObject *object, LLVector3 position) |
void | clearLookAtTarget () |
ELookAtType | getLookAtType () |
const LLVector3 & | getTargetPos () |
const LLVector3d & | getTargetOffset () |
void | calcTargetPosition () |
Static Public Attributes | |
static BOOL | sDebugLookAt = FALSE |
Protected Member Functions | |
LLHUDEffectLookAt (const U8 type) | |
~LLHUDEffectLookAt () | |
void | update () |
void | render () |
void | packData (LLMessageSystem *mesgsys) |
void | unpackData (LLMessageSystem *mesgsys, S32 blocknum) |
void | setTargetObjectAndOffset (LLViewerObject *objp, LLVector3d offset) |
void | setTargetPosGlobal (const LLVector3d &target_pos_global) |
Private Attributes | |
ELookAtType | mTargetType |
LLVector3d | mTargetOffsetGlobal |
LLVector3 | mLastSentOffsetGlobal |
F32 | mKillTime |
LLFrameTimer | mTimer |
LLVector3 | mTargetPos |
F32 | mLastSendTime |
LLAttentionSet * | mAttentions |
Friends | |
class | LLHUDObject |
Definition at line 58 of file llhudeffectlookat.h.
LLHUDEffectLookAt::LLHUDEffectLookAt | ( | const U8 | type | ) | [protected] |
Definition at line 241 of file llhudeffectlookat.cpp.
References clearLookAtTarget(), gGirlAttentions, loadAttentions(), and mAttentions.
LLHUDEffectLookAt::~LLHUDEffectLookAt | ( | ) | [protected] |
Definition at line 256 of file llhudeffectlookat.cpp.
void LLHUDEffectLookAt::calcTargetPosition | ( | ) |
Initializes the mTargetPos member from the current mSourceObjec and mTargetObject (and possibly mTargetOffsetGlobal). When mTargetObject is another avatar, it sets mTargetPos to be their eyes.
Has the side-effect of also calling setAnimationData("LookAtPoint") with the new mTargetPos on the source object which is assumed to be an avatar.
Definition at line 581 of file llhudeffectlookat.cpp.
References LLAgent::cameraCustomizeAvatar(), LLQuaternion::DEFAULT, gAgent, LLAgent::getPosAgentFromGlobal(), LLViewerObject::getPositionAgent(), LLViewerObject::getRenderPosition(), LLViewerObject::getRenderRotation(), LLJoint::getWorldPosition(), LLXform::getWorldRotation(), gNoRender, LLPrimitive::isAvatar(), LLVOAvatar::isSelf(), LOOKAT_TARGET_FREELOOK, LOOKAT_TARGET_MOUSELOOK, LLVector3d::magVecSquared(), LLViewerObject::mDrawable, LLVOAvatar::mHeadp, MIN_TARGET_OFFSET_SQUARED, LLHUDObject::mSourceObject, LLHUDObject::mTargetObject, mTargetOffsetGlobal, mTargetPos, mTargetType, LLPointer< Type >::notNull(), LLCharacter::setAnimationData(), LLVector3d::setVec(), and LLVector3::setVec().
Referenced by update().
void LLHUDEffectLookAt::clearLookAtTarget | ( | ) |
Definition at line 452 of file llhudeffectlookat.cpp.
References ANIM_AGENT_HEAD_ROT, LLVector3d::clearVec(), LOOKAT_TARGET_NONE, LLHUDObject::mSourceObject, LLHUDObject::mTargetObject, mTargetOffsetGlobal, mTargetType, LLPointer< Type >::notNull(), and NULL.
Referenced by LLHUDEffectLookAt(), markDead(), setLookAt(), unpackData(), and update().
ELookAtType LLHUDEffectLookAt::getLookAtType | ( | ) | [inline] |
const LLVector3d& LLHUDEffectLookAt::getTargetOffset | ( | ) | [inline] |
const LLVector3& LLHUDEffectLookAt::getTargetPos | ( | ) | [inline] |
void LLHUDEffectLookAt::markDead | ( | ) | [virtual] |
Reimplemented from LLHUDObject.
Definition at line 466 of file llhudeffectlookat.cpp.
References clearLookAtTarget(), LLHUDObject::markDead(), LLHUDObject::mSourceObject, LLPointer< Type >::notNull(), and NULL.
Referenced by update().
void LLHUDEffectLookAt::packData | ( | LLMessageSystem * | mesgsys | ) | [protected, virtual] |
Reimplemented from LLHUDEffect.
Definition at line 263 of file llhudeffectlookat.cpp.
References _PREHASH_TypeData, LLMessageSystem::addBinaryDataFast(), LLFrameTimer::getElapsedTimeF32(), htonmemcpy(), LOOKAT_TYPE, mData, LLVector3d::mdV, mLastSendTime, LLHUDObject::mSourceObject, LLHUDObject::mTargetObject, mTargetOffsetGlobal, mTargetType, mTimer, MVT_LLUUID, MVT_LLVector3d, MVT_U8, LLUUID::null, LLHUDEffect::packData(), PKT_SIZE, SOURCE_AVATAR, TARGET_OBJECT, and TARGET_POS.
void LLHUDEffectLookAt::render | ( | ) | [protected, virtual] |
Reimplemented from LLHUDEffect.
Definition at line 490 of file llhudeffectlookat.cpp.
References f, glBegin, glEnd, glPopMatrix, glTranslatef, LLHUDObject::mSourceObject, mTargetPos, mTargetType, LLColor3::mV, LLPointer< Type >::notNull(), sDebugLookAt, target, VBLUE, VGREEN, VRED, VX, VY, and VZ.
BOOL LLHUDEffectLookAt::setLookAt | ( | ELookAtType | target_type, | |
LLViewerObject * | object, | |||
LLVector3 | position | |||
) |
Definition at line 394 of file llhudeffectlookat.cpp.
References clearLookAtTarget(), dist_vec(), f, FALSE, gAgent, LLFrameTimer::getElapsedTimeF32(), LLAgent::getPosGlobalFromAgent(), llassert, LOOKAT_NUM_TARGETS, LOOKAT_TARGET_CLEAR, mAttentions, MAX_SENDS_PER_SEC, LLHUDEffect::mDuration, MIN_DELTAPOS_FOR_UPDATE, mKillTime, mLastSendTime, mLastSentOffsetGlobal, LLHUDObject::mSourceObject, LLHUDObject::mTargetObject, mTargetOffsetGlobal, mTargetType, mTimer, LLHUDEffect::setDuration(), LLHUDEffect::setNeedsSendToSim(), LLVector3d::setVec(), TRUE, and update().
void LLHUDEffectLookAt::setSourceObject | ( | LLViewerObject * | objectp | ) | [virtual] |
Reimplemented from LLHUDObject.
Definition at line 478 of file llhudeffectlookat.cpp.
References LLPrimitive::isAvatar(), and LLHUDObject::setSourceObject().
Referenced by unpackData().
void LLHUDEffectLookAt::setTargetObjectAndOffset | ( | LLViewerObject * | objp, | |
LLVector3d | offset | |||
) | [protected] |
Definition at line 375 of file llhudeffectlookat.cpp.
References LLHUDObject::mTargetObject, and mTargetOffsetGlobal.
Referenced by unpackData().
void LLHUDEffectLookAt::setTargetPosGlobal | ( | const LLVector3d & | target_pos_global | ) | [protected] |
Definition at line 384 of file llhudeffectlookat.cpp.
References LLHUDObject::mTargetObject, mTargetOffsetGlobal, and NULL.
Referenced by unpackData().
void LLHUDEffectLookAt::unpackData | ( | LLMessageSystem * | mesgsys, | |
S32 | blocknum | |||
) | [protected, virtual] |
Reimplemented from LLHUDEffect.
Definition at line 306 of file llhudeffectlookat.cpp.
References _PREHASH_Effect, _PREHASH_ID, _PREHASH_TypeData, clearLookAtTarget(), LLViewerObjectList::findObject(), gAgent, LLMessageSystem::getUUIDFast(), gObjectList, htonmemcpy(), LLPrimitive::isAvatar(), LLUUID::isNull(), LLPointer< Type >::isNull(), llendl, llwarns, LOOKAT_TARGET_NONE, LOOKAT_TYPE, LLUUID::mData, LLVector3d::mdV, LLAgent::mLookAt, mTargetType, MVT_LLUUID, MVT_LLVector3d, MVT_U8, PKT_SIZE, S32, setSourceObject(), setTargetObjectAndOffset(), setTargetPosGlobal(), size, SOURCE_AVATAR, TARGET_OBJECT, TARGET_POS, and LLHUDEffect::unpackData().
void LLHUDEffectLookAt::update | ( | ) | [protected, virtual] |
Reimplemented from LLHUDEffect.
Definition at line 521 of file llhudeffectlookat.cpp.
References ANIM_AGENT_HEAD_ROT, calcTargetPosition(), clearLookAtTarget(), f, gBoyAttentions, LLFrameTimer::getElapsedTimeF32(), LLCharacter::getSex(), gGirlAttentions, LLPointer< Type >::isNull(), LLMotion::isStopped(), LOOKAT_TARGET_NONE, markDead(), mAttentions, mKillTime, LLHUDObject::mSourceObject, LLHUDObject::mTargetObject, mTargetType, mTimer, sDebugLookAt, LLHUDEffect::setNeedsSendToSim(), SEX_MALE, and TRUE.
Referenced by setLookAt().
friend class LLHUDObject [friend] |
Definition at line 61 of file llhudeffectlookat.h.
LLAttentionSet* LLHUDEffectLookAt::mAttentions [private] |
Definition at line 98 of file llhudeffectlookat.h.
Referenced by LLHUDEffectLookAt(), setLookAt(), and update().
F32 LLHUDEffectLookAt::mKillTime [private] |
F32 LLHUDEffectLookAt::mLastSendTime [private] |
Definition at line 92 of file llhudeffectlookat.h.
Referenced by calcTargetPosition(), clearLookAtTarget(), getTargetOffset(), packData(), setLookAt(), setTargetObjectAndOffset(), and setTargetPosGlobal().
LLVector3 LLHUDEffectLookAt::mTargetPos [private] |
Definition at line 96 of file llhudeffectlookat.h.
Referenced by calcTargetPosition(), getTargetPos(), and render().
ELookAtType LLHUDEffectLookAt::mTargetType [private] |
Definition at line 91 of file llhudeffectlookat.h.
Referenced by calcTargetPosition(), clearLookAtTarget(), getLookAtType(), packData(), render(), setLookAt(), unpackData(), and update().
LLFrameTimer LLHUDEffectLookAt::mTimer [private] |
Definition at line 95 of file llhudeffectlookat.h.
Referenced by packData(), setLookAt(), and update().
BOOL LLHUDEffectLookAt::sDebugLookAt = FALSE [static] |
Definition at line 88 of file llhudeffectlookat.h.
Referenced by init_debug_avatar_menu(), render(), and update().