diff options
| author | Don Kjer <don@lindenlab.com> | 2012-09-13 03:30:17 +0000 | 
|---|---|---|
| committer | Don Kjer <don@lindenlab.com> | 2012-09-13 03:30:17 +0000 | 
| commit | 929b7e029513ecbb08c415e945c83ea09dc1b3eb (patch) | |
| tree | 2d83d0f1ee29e1f96ea450897ec53ff29bb986f6 | |
| parent | da1a303fc33b098f133cb72a8bac9d8e886d65df (diff) | |
Instantiated bare-bones LLBakingAvatar concrete class (derived from LLAvatarAppearance).  Moved some LLCharacter funcionality from LLVOAvatar to LLAvatarAppearance.
| -rw-r--r-- | indra/appearance_utility/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | indra/appearance_utility/llbakingavatar.cpp | 104 | ||||
| -rw-r--r-- | indra/appearance_utility/llbakingavatar.h | 59 | ||||
| -rw-r--r-- | indra/appearance_utility/llbakingtexlayer.cpp | 51 | ||||
| -rw-r--r-- | indra/appearance_utility/llbakingtexlayer.h | 43 | ||||
| -rw-r--r-- | indra/appearance_utility/llprocessparams.cpp | 1 | ||||
| -rw-r--r-- | indra/llappearance/llavatarappearance.cpp | 79 | ||||
| -rw-r--r-- | indra/llappearance/llavatarappearance.h | 22 | ||||
| -rwxr-xr-x | indra/newview/llvoavatar.cpp | 72 | ||||
| -rwxr-xr-x | indra/newview/llvoavatar.h | 77 | 
10 files changed, 381 insertions, 129 deletions
| diff --git a/indra/appearance_utility/CMakeLists.txt b/indra/appearance_utility/CMakeLists.txt index dfd552ddc6..dec71feea2 100644 --- a/indra/appearance_utility/CMakeLists.txt +++ b/indra/appearance_utility/CMakeLists.txt @@ -45,6 +45,7 @@ set(appearance_utility_SOURCE_FILES      llbakingjoint.cpp      llbakingjointmesh.cpp      llbakingshadermgr.cpp +    llbakingtexlayer.cpp      llprocessparams.cpp      ) @@ -56,6 +57,7 @@ set(appearance_utility_HEADER_FILES      llbakingjointmesh.h      llbakingprocess.h      llbakingshadermgr.h +    llbakingtexlayer.h      llprocessparams.h      ) diff --git a/indra/appearance_utility/llbakingavatar.cpp b/indra/appearance_utility/llbakingavatar.cpp index bb15a2bf3d..0424e8134b 100644 --- a/indra/appearance_utility/llbakingavatar.cpp +++ b/indra/appearance_utility/llbakingavatar.cpp @@ -24,11 +24,15 @@   * $/LicenseInfo$   */ +// linden includes  #include "linden_common.h" +#include "v3dmath.h" +// project includes  #include "llbakingavatar.h"  #include "llbakingjoint.h"  #include "llbakingjointmesh.h" +#include "llbakingtexlayer.h"  LLBakingAvatar::LLBakingAvatar(LLWearableData* wearable_data) :  	LLAvatarAppearance(wearable_data) @@ -40,22 +44,116 @@ LLBakingAvatar::~LLBakingAvatar()  {  } -// virtual +//----------------------------------------------------------------------------- +// Implemented methods +//----------------------------------------------------------------------------- +  LLAvatarJoint* LLBakingAvatar::createAvatarJoint()  {  	return new LLBakingJoint();  } -// virtual  LLAvatarJoint* LLBakingAvatar::createAvatarJoint(S32 joint_num)  {  	return new LLBakingJoint(joint_num);  } -// virtual  LLAvatarJointMesh* LLBakingAvatar::createAvatarJointMesh()  {  	return new LLBakingJointMesh();  } +LLTexLayerSet* LLBakingAvatar::createTexLayerSet() +{ +	return new LLBakingTexLayerSet(this); +} + +//----------------------------------------------------------------------------- +// (Ignored) Non-implemented methods. +//----------------------------------------------------------------------------- + +void LLBakingAvatar::bodySizeChanged() {} +void LLBakingAvatar::applyMorphMask(U8* tex_data, S32 width, S32 height, S32 num_components, +		LLAvatarAppearanceDefines::EBakedTextureIndex index) {} +void LLBakingAvatar::invalidateComposite(LLTexLayerSet* layerset, BOOL upload_result) {} +void LLBakingAvatar::updateMeshTextures() {} +void LLBakingAvatar::dirtyMesh() {} +void LLBakingAvatar::dirtyMesh(S32 priority) {} +void LLBakingAvatar::onGlobalColorChanged(const LLTexGlobalColor* global_color, BOOL upload_bake) {} + +BOOL LLBakingAvatar::isTextureDefined(LLAvatarAppearanceDefines::ETextureIndex type, U32 index) const +{ +	return TRUE; +} + + +//----------------------------------------------------------------------------- +// (LLERR) Non-implemented methods. +//----------------------------------------------------------------------------- + +LLVector3 LLBakingAvatar::getCharacterPosition() +{ +	LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL; +	return LLVector3::zero; +} + +LLQuaternion LLBakingAvatar::getCharacterRotation() +{ +	LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL; +	return LLQuaternion::DEFAULT; +} + +LLVector3 LLBakingAvatar::getCharacterVelocity() +{ +	LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL; +	return LLVector3::zero; +} + +LLVector3 LLBakingAvatar::getCharacterAngularVelocity() +{ +	LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL; +	return LLVector3::zero; +} + +const LLUUID& LLBakingAvatar::getID() const +{ +	LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL; +	return LLUUID::null; +} + +void LLBakingAvatar::addDebugText(const std::string& text) +{ +	LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL; +} + +F32 LLBakingAvatar::getTimeDilation() +{ +	LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL; +	return 0.0f; +} + +void LLBakingAvatar::getGround(const LLVector3 &inPos, LLVector3 &outPos, LLVector3 &outNorm) +{ +	LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL; +} + +F32 LLBakingAvatar::getPixelArea() const +{ +	LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL; +	return 0.0f; +} + +LLVector3d LLBakingAvatar::getPosGlobalFromAgent(const LLVector3 &position) +{ +	LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL; +	return LLVector3d::zero; +} + +LLVector3 LLBakingAvatar::getPosAgentFromGlobal(const LLVector3d &position) +{ +	LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL; +	return LLVector3::zero; +} + + diff --git a/indra/appearance_utility/llbakingavatar.h b/indra/appearance_utility/llbakingavatar.h index 53eac8162e..65ff65521e 100644 --- a/indra/appearance_utility/llbakingavatar.h +++ b/indra/appearance_utility/llbakingavatar.h @@ -49,26 +49,65 @@ public:  /********************************************************************************   **                                                                            ** - **                    STATE + **                    INHERITED   **/ + +	//-------------------------------------------------------------------- +	// LLCharacter interface +	//--------------------------------------------------------------------  public: -	virtual bool 	isSelf() const { return true; } -	virtual BOOL	isValid() const { return TRUE; } -	virtual BOOL	isUsingBakedTextures() const { return TRUE; } +	/*virtual*/ LLVector3    	getCharacterPosition(); +	/*virtual*/ LLQuaternion 	getCharacterRotation(); +	/*virtual*/ LLVector3    	getCharacterVelocity(); +	/*virtual*/ LLVector3    	getCharacterAngularVelocity(); -/**                    State +	/*virtual*/ const LLUUID&	getID() const; +	/*virtual*/ void			addDebugText(const std::string& text); +	/*virtual*/ F32				getTimeDilation(); +	/*virtual*/ void			getGround(const LLVector3 &inPos, LLVector3 &outPos, LLVector3 &outNorm); +	/*virtual*/ F32				getPixelArea() const; +	/*virtual*/ LLVector3d		getPosGlobalFromAgent(const LLVector3 &position); +	/*virtual*/ LLVector3		getPosAgentFromGlobal(const LLVector3d &position); + +	//-------------------------------------------------------------------- +	// LLAvatarAppearance interface +	//-------------------------------------------------------------------- +public: +	/*virtual*/ void	bodySizeChanged(); +	/*virtual*/ void	applyMorphMask(U8* tex_data, S32 width, S32 height, S32 num_components, +							LLAvatarAppearanceDefines::EBakedTextureIndex index); +	/*virtual*/ void	invalidateComposite(LLTexLayerSet* layerset, BOOL upload_result); +	/*virtual*/ void 	updateMeshTextures(); +	/*virtual*/ void	dirtyMesh(); // Dirty the avatar mesh +	/*virtual*/ void	onGlobalColorChanged(const LLTexGlobalColor* global_color, BOOL upload_bake); +	/*virtual*/ BOOL	isTextureDefined(LLAvatarAppearanceDefines::ETextureIndex type, U32 index = 0) const; +private: +	/*virtual*/ void	dirtyMesh(S32 priority); // Dirty the avatar mesh, with priority + +	// LLAvatarAppearance instance factories: +protected: +	/*virtual*/ LLAvatarJoint*	createAvatarJoint(); +	/*virtual*/ LLAvatarJoint*	createAvatarJoint(S32 joint_num); +	/*virtual*/ LLAvatarJointMesh*	createAvatarJointMesh(); +	/*virtual*/ LLTexLayerSet*	createTexLayerSet(); + + +/**                    Inherited   **                                                                            **   *******************************************************************************/  /********************************************************************************   **                                                                            ** - **                    SKELETON + **                    STATE   **/ +public: +	/*virtual*/ bool 	isSelf() const { return true; } +	/*virtual*/ BOOL	isValid() const { return TRUE; } +	/*virtual*/ BOOL	isUsingBakedTextures() const { return TRUE; } -protected: -	virtual LLAvatarJoint*	createAvatarJoint(); -	virtual LLAvatarJoint*	createAvatarJoint(S32 joint_num); -	virtual LLAvatarJointMesh*	createAvatarJointMesh(); +/**                    State + **                                                                            ** + *******************************************************************************/  }; diff --git a/indra/appearance_utility/llbakingtexlayer.cpp b/indra/appearance_utility/llbakingtexlayer.cpp new file mode 100644 index 0000000000..38fbd7c557 --- /dev/null +++ b/indra/appearance_utility/llbakingtexlayer.cpp @@ -0,0 +1,51 @@ +/**  + * @file llbakingtexlayer.cpp + * @brief Implementation of LLBakingTexLayer class + * + * $LicenseInfo:firstyear=2012&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2012, Linden Research, Inc. + *  + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + *  + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser General Public License for more details. + *  + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA + *  + * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA + * $/LicenseInfo$ + */ + +#include "linden_common.h" + +#include "llbakingtexlayer.h" + +LLBakingTexLayerSet::LLBakingTexLayerSet(LLAvatarAppearance* const appearance) : +	LLTexLayerSet(appearance) +{ +} + +// virtual +LLBakingTexLayerSet::~LLBakingTexLayerSet() +{ +} + +// Ignored. +void LLBakingTexLayerSet::requestUpdate() +{ +} + +void LLBakingTexLayerSet::createComposite() +{ +	llerrs << "TODO: Create a composite." << llendl; +} + + diff --git a/indra/appearance_utility/llbakingtexlayer.h b/indra/appearance_utility/llbakingtexlayer.h new file mode 100644 index 0000000000..2ed9863d4a --- /dev/null +++ b/indra/appearance_utility/llbakingtexlayer.h @@ -0,0 +1,43 @@ +/**  + * @file llbakingtexlayer.h + * @brief Declaration of LLBakingTexLayerSet. + * + * $LicenseInfo:firstyear=2012&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2012, Linden Research, Inc. + *  + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + *  + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser General Public License for more details. + *  + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA + *  + * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA + * $/LicenseInfo$ + */ + +#ifndef LL_LLBAKINGTEXLAYER_H +#define LL_LLBAKINGTEXLAYER_H + +#include "lltexlayer.h" + +class LLBakingTexLayerSet : public LLTexLayerSet +{ +public: +	LLBakingTexLayerSet(LLAvatarAppearance* const appearance); +	virtual ~LLBakingTexLayerSet(); + +	/*virtual*/void				requestUpdate(); +	/*virtual*/void				createComposite(); +}; + +#endif /* LL_LLBAKINGTEXLAYER_H */ + diff --git a/indra/appearance_utility/llprocessparams.cpp b/indra/appearance_utility/llprocessparams.cpp index 71557fa7ba..439c403ded 100644 --- a/indra/appearance_utility/llprocessparams.cpp +++ b/indra/appearance_utility/llprocessparams.cpp @@ -42,6 +42,7 @@  void LLProcessParams::process(LLSD& input, std::ostream& output)  {  	LLWearableData wearable_data; +	LLBakingAvatar avatar(&wearable_data);  	LLSD result;  	result["success"] = true; diff --git a/indra/llappearance/llavatarappearance.cpp b/indra/llappearance/llavatarappearance.cpp index ed8ff1e69e..19c656044c 100644 --- a/indra/llappearance/llavatarappearance.cpp +++ b/indra/llappearance/llavatarappearance.cpp @@ -166,7 +166,7 @@ LLAvatarAppearance::LLAvatarAppearance(LLWearableData* wearable_data) :  	mTexEyeColor( NULL ),  	mPelvisToFoot(0.f),  	mHeadOffset(), - +	mRoot(NULL),  	mWearableData(wearable_data)  {  	LLMemType mt(LLMemType::MTYPE_AVATAR); @@ -287,7 +287,7 @@ LLAvatarAppearance::~LLAvatarAppearance()  		}  	} -	mRoot->removeAllChildren(); +	if (mRoot) mRoot->removeAllChildren();  	mJointMap.clear();  	clearSkeleton(); @@ -1178,6 +1178,81 @@ BOOL LLAvatarAppearance::loadLayersets()  	return success;  } +//----------------------------------------------------------------------------- +// getCharacterJoint() +//----------------------------------------------------------------------------- +LLJoint *LLAvatarAppearance::getCharacterJoint( U32 num ) +{ +	if ((S32)num >= mSkeleton.size() +	    || (S32)num < 0) +	{ +		return NULL; +	} +	return mSkeleton[num]; +} + + +//----------------------------------------------------------------------------- +// getVolumePos() +//----------------------------------------------------------------------------- +LLVector3 LLAvatarAppearance::getVolumePos(S32 joint_index, LLVector3& volume_offset) +{ +	if (joint_index > mNumCollisionVolumes) +	{ +		return LLVector3::zero; +	} + +	return mCollisionVolumes[joint_index].getVolumePos(volume_offset); +} + +//----------------------------------------------------------------------------- +// findCollisionVolume() +//----------------------------------------------------------------------------- +LLJoint* LLAvatarAppearance::findCollisionVolume(U32 volume_id) +{ +	if ((S32)volume_id > mNumCollisionVolumes) +	{ +		return NULL; +	} +	 +	return &mCollisionVolumes[volume_id]; +} + +//----------------------------------------------------------------------------- +// findCollisionVolume() +//----------------------------------------------------------------------------- +S32 LLAvatarAppearance::getCollisionVolumeID(std::string &name) +{ +	for (S32 i = 0; i < mNumCollisionVolumes; i++) +	{ +		if (mCollisionVolumes[i].getName() == name) +		{ +			return i; +		} +	} + +	return -1; +} + +//----------------------------------------------------------------------------- +// LLAvatarAppearance::getHeadMesh() +//----------------------------------------------------------------------------- +LLPolyMesh*	LLAvatarAppearance::getHeadMesh() +{ +	return mMeshLOD[MESH_ID_HEAD]->mMeshParts[0]->getMesh(); +} + + +//----------------------------------------------------------------------------- +// LLAvatarAppearance::getUpperBodyMesh() +//----------------------------------------------------------------------------- +LLPolyMesh*	LLAvatarAppearance::getUpperBodyMesh() +{ +	return mMeshLOD[MESH_ID_UPPER_BODY]->mMeshParts[0]->getMesh(); +} + + +  // virtual  BOOL LLAvatarAppearance::isValid() const  { diff --git a/indra/llappearance/llavatarappearance.h b/indra/llappearance/llavatarappearance.h index b512fd4eda..06607ef899 100644 --- a/indra/llappearance/llavatarappearance.h +++ b/indra/llappearance/llavatarappearance.h @@ -78,6 +78,28 @@ public:  /********************************************************************************   **                                                                            ** + **                    INHERITED + **/ + +	//-------------------------------------------------------------------- +	// LLCharacter interface and related +	//-------------------------------------------------------------------- +public: +	/*virtual*/ LLJoint*		getCharacterJoint(U32 num); + +	/*virtual*/ const char*		getAnimationPrefix() { return "avatar"; } +	/*virtual*/ LLVector3		getVolumePos(S32 joint_index, LLVector3& volume_offset); +	/*virtual*/ LLJoint*		findCollisionVolume(U32 volume_id); +	/*virtual*/ S32				getCollisionVolumeID(std::string &name); +	/*virtual*/ LLPolyMesh*		getHeadMesh(); +	/*virtual*/ LLPolyMesh*		getUpperBodyMesh(); + +/**                    Inherited + **                                                                            ** + *******************************************************************************/ + +/******************************************************************************** + **                                                                            **   **                    STATE   **/  public: diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 8ac39fe5ef..fa1f9c95ab 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -4558,48 +4558,6 @@ void LLVOAvatar::stopMotionFromSource(const LLUUID& source_id)  }  //----------------------------------------------------------------------------- -// getVolumePos() -//----------------------------------------------------------------------------- -LLVector3 LLVOAvatar::getVolumePos(S32 joint_index, LLVector3& volume_offset) -{ -	if (joint_index > mNumCollisionVolumes) -	{ -		return LLVector3::zero; -	} - -	return mCollisionVolumes[joint_index].getVolumePos(volume_offset); -} - -//----------------------------------------------------------------------------- -// findCollisionVolume() -//----------------------------------------------------------------------------- -LLJoint* LLVOAvatar::findCollisionVolume(U32 volume_id) -{ -	if ((S32)volume_id > mNumCollisionVolumes) -	{ -		return NULL; -	} -	 -	return &mCollisionVolumes[volume_id]; -} - -//----------------------------------------------------------------------------- -// findCollisionVolume() -//----------------------------------------------------------------------------- -S32 LLVOAvatar::getCollisionVolumeID(std::string &name) -{ -	for (S32 i = 0; i < mNumCollisionVolumes; i++) -	{ -		if (mCollisionVolumes[i].getName() == name) -		{ -			return i; -		} -	} - -	return -1; -} - -//-----------------------------------------------------------------------------  // addDebugText()  //-----------------------------------------------------------------------------  void LLVOAvatar::addDebugText(const std::string& text) @@ -4790,23 +4748,6 @@ F32 LLVOAvatar::getPixelArea() const  } -//----------------------------------------------------------------------------- -// LLVOAvatar::getHeadMesh() -//----------------------------------------------------------------------------- -LLPolyMesh*	LLVOAvatar::getHeadMesh() -{ -	return mMeshLOD[MESH_ID_HEAD]->mMeshParts[0]->getMesh(); -} - - -//----------------------------------------------------------------------------- -// LLVOAvatar::getUpperBodyMesh() -//----------------------------------------------------------------------------- -LLPolyMesh*	LLVOAvatar::getUpperBodyMesh() -{ -	return mMeshLOD[MESH_ID_UPPER_BODY]->mMeshParts[0]->getMesh(); -} -  //-----------------------------------------------------------------------------  // LLVOAvatar::getPosGlobalFromAgent() @@ -4826,19 +4767,6 @@ LLVector3	LLVOAvatar::getPosAgentFromGlobal(const LLVector3d &position)  //----------------------------------------------------------------------------- -// getCharacterJoint() -//----------------------------------------------------------------------------- -LLJoint *LLVOAvatar::getCharacterJoint( U32 num ) -{ -	if ((S32)num >= mSkeleton.size() -	    || (S32)num < 0) -	{ -		return NULL; -	} -	return mSkeleton[num]; -} - -//-----------------------------------------------------------------------------  // requestStopMotion()  //-----------------------------------------------------------------------------  // virtual diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index 9b59e5f0eb..5335d6fda1 100755 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -122,31 +122,31 @@ protected:  	// LLViewerObject interface and related  	//--------------------------------------------------------------------  public: -	virtual void			updateGL(); -	virtual	LLVOAvatar*		asAvatar(); +	/*virtual*/ void			updateGL(); +	/*virtual*/ LLVOAvatar*		asAvatar();  	virtual U32    	 	 	processUpdateMessage(LLMessageSystem *mesgsys,  													 void **user_data,  													 U32 block_num,  													 const EObjectUpdateType update_type,  													 LLDataPacker *dp);  	virtual void   	 	 	idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time); -	virtual BOOL   	 	 	updateLOD(); +	/*virtual*/ BOOL   	 	 	updateLOD();  	BOOL  	 	 	 	 	updateJointLODs();  	void					updateLODRiggedAttachments( void ); -	virtual BOOL   	 	 	isActive() const; // Whether this object needs to do an idleUpdate. -	virtual void   	 	 	updateTextures(); -	virtual S32    	 	 	setTETexture(const U8 te, const LLUUID& uuid); // If setting a baked texture, need to request it from a non-local sim. -	virtual void   	 	 	onShift(const LLVector4a& shift_vector); -	virtual U32    	 	 	getPartitionType() const; -	virtual const  	 	 	LLVector3 getRenderPosition() const; -	virtual void   	 	 	updateDrawable(BOOL force_damped); -	virtual LLDrawable* 	createDrawable(LLPipeline *pipeline); -	virtual BOOL   	 	 	updateGeometry(LLDrawable *drawable); -	virtual void   	 	 	setPixelAreaAndAngle(LLAgent &agent); -	virtual void   	 	 	updateRegion(LLViewerRegion *regionp); -	virtual void   	 	 	updateSpatialExtents(LLVector4a& newMin, LLVector4a &newMax); -	virtual void   	 	 	getSpatialExtents(LLVector4a& newMin, LLVector4a& newMax); -	virtual BOOL   	 	 	lineSegmentIntersect(const LLVector3& start, const LLVector3& end, +	/*virtual*/ BOOL   	 	 	isActive() const; // Whether this object needs to do an idleUpdate. +	/*virtual*/ void   	 	 	updateTextures(); +	/*virtual*/ S32    	 	 	setTETexture(const U8 te, const LLUUID& uuid); // If setting a baked texture, need to request it from a non-local sim. +	/*virtual*/ void   	 	 	onShift(const LLVector4a& shift_vector); +	/*virtual*/ U32    	 	 	getPartitionType() const; +	/*virtual*/ const  	 	 	LLVector3 getRenderPosition() const; +	/*virtual*/ void   	 	 	updateDrawable(BOOL force_damped); +	/*virtual*/ LLDrawable* 	createDrawable(LLPipeline *pipeline); +	/*virtual*/ BOOL   	 	 	updateGeometry(LLDrawable *drawable); +	/*virtual*/ void   	 	 	setPixelAreaAndAngle(LLAgent &agent); +	/*virtual*/ void   	 	 	updateRegion(LLViewerRegion *regionp); +	/*virtual*/ void   	 	 	updateSpatialExtents(LLVector4a& newMin, LLVector4a &newMax); +	/*virtual*/ void   	 	 	getSpatialExtents(LLVector4a& newMin, LLVector4a& newMax); +	/*virtual*/ BOOL   	 	 	lineSegmentIntersect(const LLVector3& start, const LLVector3& end,  												 S32 face = -1,                    // which face to check, -1 = ALL_SIDES  												 BOOL pick_transparent = FALSE,  												 S32* face_hit = NULL,             // which face was hit @@ -167,15 +167,14 @@ public:  	// LLCharacter interface and related  	//--------------------------------------------------------------------  public: -	virtual LLVector3    	getCharacterPosition(); -	virtual LLQuaternion 	getCharacterRotation(); -	virtual LLVector3    	getCharacterVelocity(); -	virtual LLVector3    	getCharacterAngularVelocity(); -	virtual LLJoint*		getCharacterJoint(U32 num); +	/*virtual*/ LLVector3    	getCharacterPosition(); +	/*virtual*/ LLQuaternion 	getCharacterRotation(); +	/*virtual*/ LLVector3    	getCharacterVelocity(); +	/*virtual*/ LLVector3    	getCharacterAngularVelocity(); -	virtual LLUUID			remapMotionID(const LLUUID& id); -	virtual BOOL			startMotion(const LLUUID& id, F32 time_offset = 0.f); -	virtual BOOL			stopMotion(const LLUUID& id, BOOL stop_immediate = FALSE); +	/*virtual*/ LLUUID			remapMotionID(const LLUUID& id); +	/*virtual*/ BOOL			startMotion(const LLUUID& id, F32 time_offset = 0.f); +	/*virtual*/ BOOL			stopMotion(const LLUUID& id, BOOL stop_immediate = FALSE);  	virtual void			stopMotionFromSource(const LLUUID& source_id);  	virtual void			requestStopMotion(LLMotion* motion);  	LLMotion*				findMotion(const LLUUID& id) const; @@ -188,19 +187,13 @@ public:  	void					resetJointPositionsToDefault( void );  	void					resetSpecificJointPosition( const std::string& name ); -	virtual const char*		getAnimationPrefix() { return "avatar"; } -	virtual const LLUUID&   getID() const; -	virtual LLVector3		getVolumePos(S32 joint_index, LLVector3& volume_offset); -	virtual LLJoint*		findCollisionVolume(U32 volume_id); -	virtual S32				getCollisionVolumeID(std::string &name); -	virtual void			addDebugText(const std::string& text); -	virtual F32          	getTimeDilation(); -	virtual void			getGround(const LLVector3 &inPos, LLVector3 &outPos, LLVector3 &outNorm); -	virtual F32				getPixelArea() const; -	virtual LLPolyMesh*		getHeadMesh(); -	virtual LLPolyMesh*		getUpperBodyMesh(); -	virtual LLVector3d		getPosGlobalFromAgent(const LLVector3 &position); -	virtual LLVector3		getPosAgentFromGlobal(const LLVector3d &position); +	/*virtual*/ const LLUUID&	getID() const; +	/*virtual*/ void			addDebugText(const std::string& text); +	/*virtual*/ F32				getTimeDilation(); +	/*virtual*/ void			getGround(const LLVector3 &inPos, LLVector3 &outPos, LLVector3 &outNorm); +	/*virtual*/ F32				getPixelArea() const; +	/*virtual*/ LLVector3d		getPosGlobalFromAgent(const LLVector3 &position); +	/*virtual*/ LLVector3		getPosAgentFromGlobal(const LLVector3d &position);  	virtual void			updateVisualParams(); @@ -495,7 +488,7 @@ public:  	virtual LLViewerTexture::EBoostLevel 	getAvatarBoostLevel() const { return LLGLTexture::BOOST_AVATAR; }  	virtual LLViewerTexture::EBoostLevel 	getAvatarBakedBoostLevel() const { return LLGLTexture::BOOST_AVATAR_BAKED; }  	virtual S32 						getTexImageSize() const; -	virtual S32 						getTexImageArea() const { return getTexImageSize()*getTexImageSize(); } +	/*virtual*/ S32						getTexImageArea() const { return getTexImageSize()*getTexImageSize(); }  /**                    Rendering   **                                                                            ** @@ -808,9 +801,9 @@ private:   **/  public: -	virtual BOOL 	setParent(LLViewerObject* parent); -	virtual void 	addChild(LLViewerObject *childp); -	virtual void 	removeChild(LLViewerObject *childp); +	/*virtual*/ BOOL 	setParent(LLViewerObject* parent); +	/*virtual*/ void 	addChild(LLViewerObject *childp); +	/*virtual*/ void 	removeChild(LLViewerObject *childp);  	//--------------------------------------------------------------------  	// Sitting | 
