diff --git a/indra/newview/llcontrolavatar.cpp b/indra/newview/llcontrolavatar.cpp index fc4599dc62370b826628ba2b073b92fc2d5c32a9..2c180f79497d63f2ca2f72073331c780967f77ec 100644 --- a/indra/newview/llcontrolavatar.cpp +++ b/indra/newview/llcontrolavatar.cpp @@ -53,7 +53,6 @@ LLControlAvatar::LLControlAvatar(const LLUUID& id, const LLPCode pcode, LLViewer mRegionChanged(false) { mIsDummy = TRUE; - mIsControlAvatar = true; mEnableDefaultMotions = false; } @@ -172,7 +171,7 @@ void LLControlAvatar::matchVolumeTransform() LLVector3 joint_pos = attach->getWorldPosition(); LLQuaternion joint_rot = attach->getWorldRotation(); LLVector3 obj_pos = mRootVolp->mDrawable->getPosition(); - LLQuaternion obj_rot = mRootVolp->mDrawable->getRotation(); + const LLQuaternion& obj_rot = mRootVolp->mDrawable->getRotation(); obj_pos.rotVec(joint_rot); mRoot->setWorldPosition(obj_pos + joint_pos); mRoot->setWorldRotation(obj_rot * joint_rot); @@ -197,18 +196,8 @@ void LLControlAvatar::matchVolumeTransform() // complexity info and such line up better. Should defer // this until avatars also get fixed. - LLQuaternion obj_rot; - if (mRootVolp->mDrawable) - { - obj_rot = mRootVolp->mDrawable->getRotation(); - } - else - { - obj_rot = mRootVolp->getRotation(); - } + const LLQuaternion& obj_rot = mRootVolp->mDrawable ? mRootVolp->mDrawable->getRotation() : mRootVolp->getRotation(); - LLMatrix3 bind_mat; - LLQuaternion bind_rot; #define MATCH_BIND_SHAPE #ifdef MATCH_BIND_SHAPE diff --git a/indra/newview/llcontrolavatar.h b/indra/newview/llcontrolavatar.h index 288d07cd48aed31bbd261558ff66da4b6db9eb15..f6c599bcaed3e2bb47beb8c15970ee2c4908ddc1 100644 --- a/indra/newview/llcontrolavatar.h +++ b/indra/newview/llcontrolavatar.h @@ -30,14 +30,14 @@ #include "llvoavatar.h" #include "llvovolume.h" -class LLControlAvatar: +class LLControlAvatar final: public LLVOAvatar { LOG_CLASS(LLControlAvatar); public: LLControlAvatar(const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp); - virtual void initInstance(); // Called after construction to initialize the class. + void initInstance() override; // Called after construction to initialize the class. virtual ~LLControlAvatar(); void getNewConstraintFixups(LLVector3& new_pos_constraint, F32& new_scale_constraint) const; @@ -52,13 +52,13 @@ public: // markDead() inside other graphics pipeline operations. void markForDeath(); - virtual void idleUpdate(LLAgent &agent, const F64 &time); - virtual BOOL updateCharacter(LLAgent &agent); + void idleUpdate(LLAgent &agent, const F64 &time) override; + BOOL updateCharacter(LLAgent &agent) override; void getAnimatedVolumes(std::vector<LLVOVolume*>& volumes); void updateAnimations(); - virtual LLViewerObject* lineSegmentIntersectRiggedAttachments( + LLViewerObject* lineSegmentIntersectRiggedAttachments( const LLVector4a& start, const LLVector4a& end, S32 face = -1, // which face to check, -1 = ALL_SIDES BOOL pick_transparent = FALSE, @@ -67,15 +67,17 @@ public: LLVector4a* intersection = NULL, // return the intersection point LLVector2* tex_coord = NULL, // return the texture coordinates of the intersection point LLVector4a* normal = NULL, // return the surface normal at the intersection point - LLVector4a* tangent = NULL); // return the surface tangent at the intersection point + LLVector4a* tangent = NULL) override; // return the surface tangent at the intersection point - virtual void updateDebugText(); + void updateDebugText() override; - virtual std::string getFullname() const; + std::string getFullname() const override; - virtual bool shouldRenderRigged() const; + bool shouldRenderRigged() const override; - virtual BOOL isImpostor(); + bool isControlAvatar() const override { return true; } // True if this avatar is a control av (no associated user) + + BOOL isImpostor() override; bool mPlaying; diff --git a/indra/newview/lluiavatar.cpp b/indra/newview/lluiavatar.cpp index e4e266c92a36f0d14a93f753312bec48db8149b0..068a206d9ebf1bf83a9823e27855cb9f0d3b5ad0 100644 --- a/indra/newview/lluiavatar.cpp +++ b/indra/newview/lluiavatar.cpp @@ -38,12 +38,6 @@ LLUIAvatar::LLUIAvatar(const LLUUID& id, const LLPCode pcode, LLViewerRegion* re LLVOAvatar(id, pcode, regionp) { mIsDummy = TRUE; - mIsUIAvatar = true; -} - -// virtual -LLUIAvatar::~LLUIAvatar() -{ } // virtual diff --git a/indra/newview/lluiavatar.h b/indra/newview/lluiavatar.h index bcdffedef2a5ae833e86f961f5824af9fd7120c7..28ee819987333d33167e43bc5d74e3c487814fe7 100644 --- a/indra/newview/lluiavatar.h +++ b/indra/newview/lluiavatar.h @@ -30,15 +30,17 @@ #include "llvoavatar.h" #include "llvovolume.h" -class LLUIAvatar: +class LLUIAvatar final: public LLVOAvatar { LOG_CLASS(LLUIAvatar); public: LLUIAvatar(const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp); - virtual void initInstance(); // Called after construction to initialize the class. - virtual ~LLUIAvatar(); + void initInstance() override; // Called after construction to initialize the class. + virtual ~LLUIAvatar() = default; + + bool isUIAvatar() const override { return true; } // True if this avatar is a supplemental av used in some UI views (no associated user) }; #endif //LL_CONTROLAVATAR_H diff --git a/indra/newview/llviewerobject.h b/indra/newview/llviewerobject.h index 4c79fcbe362b6a04915a67aa9ba11106de804b24..f71610fc0fbc8c703849c952dc73e228ed528e2e 100644 --- a/indra/newview/llviewerobject.h +++ b/indra/newview/llviewerobject.h @@ -958,7 +958,7 @@ public: : LLViewerObject(id,pcode,regionp, is_global) { } - void updateDrawable(BOOL force_damped) override; + void updateDrawable(BOOL force_damped) final override; }; diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index b360f509d93f8221aefe4ef00353b8f59f67d2e8..5ff25f1ff25cd0b4412b2ed9bc5a616d813d0b2f 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -662,8 +662,6 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id, mCachedInMuteList(false), mCachedMuteListUpdateTime(0), mVisuallyMuteSetting(AV_RENDER_NORMALLY), - mIsControlAvatar(false), - mIsUIAvatar(false), mEnableDefaultMotions(true), mVisibilityRank(0), mVisible(FALSE), diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index c4e417833e405405f33718d64c3a6083b077396e..d9a1b353f651e5b87398605b9356b5bdff895722 100644 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -225,7 +225,7 @@ public: size_t mLastRiggingInfoKeyHash = 0; std::set<LLUUID> mActiveOverrideMeshes; - virtual void onActiveOverrideMeshesChanged(); + void onActiveOverrideMeshesChanged(); /*virtual*/ const LLUUID& getID() const override; /*virtual*/ void addDebugText(const std::string& text) override; @@ -248,8 +248,8 @@ public: public: bool isSelf() const override { return false; } // True if this avatar is for this viewer's agent - virtual bool isControlAvatar() const { return mIsControlAvatar; } // True if this avatar is a control av (no associated user) - virtual bool isUIAvatar() const { return mIsUIAvatar; } // True if this avatar is a supplemental av used in some UI views (no associated user) + virtual bool isControlAvatar() const { return false; } // True if this avatar is a control av (no associated user) + virtual bool isUIAvatar() const { return false; } // True if this avatar is a supplemental av used in some UI views (no associated user) private: //aligned members LL_ALIGN_16(LLVector4a mImpostorExtents[2]); @@ -476,8 +476,6 @@ public: // animated object status //-------------------------------------------------------------------- public: - bool mIsControlAvatar; - bool mIsUIAvatar; bool mEnableDefaultMotions; //-------------------------------------------------------------------- diff --git a/indra/newview/llvoavatarself.h b/indra/newview/llvoavatarself.h index 06764376e55c49da72d338b9e28e92ef5bbd992d..008c90c6a7d6f9e99d72a81bfe42db8f67f30212 100644 --- a/indra/newview/llvoavatarself.h +++ b/indra/newview/llvoavatarself.h @@ -42,7 +42,7 @@ class LLInventoryCallback; // LLVOAvatarSelf // //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -class LLVOAvatarSelf : +class LLVOAvatarSelf final: public LLVOAvatar { LOG_CLASS(LLVOAvatarSelf); diff --git a/indra/newview/llvograss.h b/indra/newview/llvograss.h index 10c314ace929b6e6ee23b1f2909bb1dba442e0bf..d8f16eafc9bd1b5856767ad2cf83cc1ee67db2bd 100644 --- a/indra/newview/llvograss.h +++ b/indra/newview/llvograss.h @@ -33,7 +33,7 @@ class LLSurfacePatch; class LLViewerTexture; -class LLVOGrass : public LLAlphaObject +class LLVOGrass final : public LLAlphaObject { public: LLVOGrass(const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp); diff --git a/indra/newview/llvoground.h b/indra/newview/llvoground.h index 1dd133dcd8d0b72a6392527a1c595ea0438ffd37..846e9afe477914370bf6cd6db5168e7edbc3d92b 100644 --- a/indra/newview/llvoground.h +++ b/indra/newview/llvoground.h @@ -33,7 +33,7 @@ #include "llviewertexture.h" #include "llviewerobject.h" -class LLVOGround : public LLStaticViewerObject +class LLVOGround final : public LLStaticViewerObject { protected: ~LLVOGround() = default; diff --git a/indra/newview/llvopartgroup.h b/indra/newview/llvopartgroup.h index a42efa8d6891953463b2a6968ea108a2bff566dc..d356721248118621cbbfb642f01fade744e51682 100644 --- a/indra/newview/llvopartgroup.h +++ b/indra/newview/llvopartgroup.h @@ -63,11 +63,11 @@ public: LLVOPartGroup(const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp); - /*virtual*/ BOOL isActive() const override; // Whether this object needs to do an idleUpdate. - void idleUpdate(LLAgent &agent, const F64 &time) override; + /*virtual*/ BOOL isActive() const final override; // Whether this object needs to do an idleUpdate. + void idleUpdate(LLAgent &agent, const F64 &time) final override; - F32 getBinRadius() override; - void updateSpatialExtents(LLVector4a& newMin, LLVector4a& newMax) override; + F32 getBinRadius() final override; + void updateSpatialExtents(LLVector4a& newMin, LLVector4a& newMax) final override; U32 getPartitionType() const override; /*virtual*/ BOOL lineSegmentIntersect(const LLVector4a& start, const LLVector4a& end, @@ -78,13 +78,13 @@ public: LLVector4a* intersection, LLVector2* tex_coord, LLVector4a* normal, - LLVector4a* tangent) override; + LLVector4a* tangent) final override; - /*virtual*/ void setPixelAreaAndAngle(LLAgent &agent) override; - /*virtual*/ void updateTextures() override; + /*virtual*/ void setPixelAreaAndAngle(LLAgent &agent) final override; + /*virtual*/ void updateTextures() final override; /*virtual*/ LLDrawable* createDrawable(LLPipeline *pipeline) override; - /*virtual*/ BOOL updateGeometry(LLDrawable *drawable) override; + /*virtual*/ BOOL updateGeometry(LLDrawable *drawable) final override; void getGeometry(const LLViewerPart& part, LLStrider<LLVector4a>& verticesp); @@ -94,11 +94,11 @@ public: LLStrider<LLVector2>& texcoordsp, LLStrider<LLColor4U>& colorsp, LLStrider<LLColor4U>& emissivep, - LLStrider<U16>& indicesp) override; + LLStrider<U16>& indicesp) final override; - void updateFaceSize(S32 idx) override { } - F32 getPartSize(S32 idx) override; - void getBlendFunc(S32 idx, U32& src, U32& dst) override; + void updateFaceSize(S32 idx) final override { } + F32 getPartSize(S32 idx) final override; + void getBlendFunc(S32 idx, U32& src, U32& dst) final override; LLUUID getPartOwner(S32 idx); LLUUID getPartSource(S32 idx); @@ -115,7 +115,7 @@ protected: }; -class LLVOHUDPartGroup : public LLVOPartGroup +class LLVOHUDPartGroup final : public LLVOPartGroup { public: LLVOHUDPartGroup(const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp) : diff --git a/indra/newview/llvosky.h b/indra/newview/llvosky.h index 3d9de9e1eed6a0456da80f5aec4a4884357b0cd6..7795598e7a1b5f3f3a103de29c4806e81c410ad2 100644 --- a/indra/newview/llvosky.h +++ b/indra/newview/llvosky.h @@ -387,7 +387,7 @@ protected: class LLCubeMap; -class LLVOSky : public LLStaticViewerObject +class LLVOSky final : public LLStaticViewerObject { public: /// WL PARAMS diff --git a/indra/newview/llvosurfacepatch.h b/indra/newview/llvosurfacepatch.h index 8c30879f87109d6e0dcbd00e65eb4b079332c421..89c731a8eafbe93247e18ce58285de5a537609ce 100644 --- a/indra/newview/llvosurfacepatch.h +++ b/indra/newview/llvosurfacepatch.h @@ -36,7 +36,7 @@ class LLVector2; class LLFacePool; class LLFace; -class LLVOSurfacePatch : public LLStaticViewerObject +class LLVOSurfacePatch final : public LLStaticViewerObject { public: static F32 sLODFactor; diff --git a/indra/newview/llvotree.h b/indra/newview/llvotree.h index 267abfac3eae14dc0be25465072deeb159127286..781717e298841b0da685c2b618a4b79ecc35a227 100644 --- a/indra/newview/llvotree.h +++ b/indra/newview/llvotree.h @@ -34,7 +34,7 @@ class LLFace; class LLDrawPool; class LLViewerFetchedTexture; -class LLVOTree : public LLViewerObject +class LLVOTree final : public LLViewerObject { protected: ~LLVOTree(); diff --git a/indra/newview/llvovolume.h b/indra/newview/llvovolume.h index a4a1d87f84834bb6f12b3be50e22e2909c7d4ec5..55ec6f4324ebf987eb575615eba304319e79e1d2 100644 --- a/indra/newview/llvovolume.h +++ b/indra/newview/llvovolume.h @@ -57,7 +57,7 @@ enum LLVolumeInterfaceType const F32 MAX_LOD_FACTOR = 4.0f; -class LLRiggedVolume : public LLVolume +class LLRiggedVolume final : public LLVolume { public: LLRiggedVolume(const LLVolumeParams& params) @@ -93,7 +93,7 @@ public: }; // Class which embodies all Volume objects (with pcode LL_PCODE_VOLUME) -class LLVOVolume : public LLViewerObject +class LLVOVolume final : public LLViewerObject { LOG_CLASS(LLVOVolume); protected: @@ -221,10 +221,6 @@ public: void updateSculptTexture(); void setIndexInTex(U32 ch, S32 index) { mIndexInTex[ch] = index ;} void sculpt(); - static void rebuildMeshAssetCallback(LLVFS *vfs, - const LLUUID& asset_uuid, - LLAssetType::EType type, - void* user_data, S32 status, LLExtStat ext_status); void updateRelativeXform(bool force_identity = false); /*virtual*/ BOOL updateGeometry(LLDrawable *drawable) override; diff --git a/indra/newview/llvowater.h b/indra/newview/llvowater.h index 239109801d9eaab7e5d4c3633003b07fa79195cc..1a01c64aa0c5ac89aa5b4e98982374d9ae7172de 100644 --- a/indra/newview/llvowater.h +++ b/indra/newview/llvowater.h @@ -52,23 +52,23 @@ public: LLVOWater(const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp); - /*virtual*/ void markDead() override; + /*virtual*/ void markDead() final override; // Initialize data that's only inited once per class. static void initClass(); static void cleanupClass(); - /*virtual*/ void idleUpdate(LLAgent &agent, const F64 &time) override; - /*virtual*/ LLDrawable* createDrawable(LLPipeline *pipeline) override; - /*virtual*/ BOOL updateGeometry(LLDrawable *drawable) override; - /*virtual*/ void updateSpatialExtents(LLVector4a& newMin, LLVector4a& newMax) override; + /*virtual*/ void idleUpdate(LLAgent &agent, const F64 &time) final override; + /*virtual*/ LLDrawable* createDrawable(LLPipeline *pipeline) final override; + /*virtual*/ BOOL updateGeometry(LLDrawable *drawable) final override; + /*virtual*/ void updateSpatialExtents(LLVector4a& newMin, LLVector4a& newMax) final override; - /*virtual*/ void updateTextures() override; - /*virtual*/ void setPixelAreaAndAngle(LLAgent &agent) override; // generate accurate apparent angle and area + /*virtual*/ void updateTextures() final override; + /*virtual*/ void setPixelAreaAndAngle(LLAgent &agent) final override; // generate accurate apparent angle and area U32 getPartitionType() const override; - /*virtual*/ BOOL isActive() const override; // Whether this object needs to do an idleUpdate. + /*virtual*/ BOOL isActive() const final override; // Whether this object needs to do an idleUpdate. void setUseTexture(const BOOL use_texture); void setIsEdgePatch(const BOOL edge_patch); @@ -81,7 +81,7 @@ protected: S32 mRenderType; }; -class LLVOVoidWater : public LLVOWater +class LLVOVoidWater final : public LLVOWater { public: LLVOVoidWater(LLUUID const& id, LLPCode pcode, LLViewerRegion* regionp) : LLVOWater(id, pcode, regionp) diff --git a/indra/newview/llvowlsky.h b/indra/newview/llvowlsky.h index 90a24fb49abd4826e87817f5ffab28ed22c135de..21aff1b3c9bca82dc509b3096fa3db20986db0cb 100644 --- a/indra/newview/llvowlsky.h +++ b/indra/newview/llvowlsky.h @@ -29,7 +29,7 @@ #include "llviewerobject.h" -class LLVOWLSky : public LLStaticViewerObject { +class LLVOWLSky final : public LLStaticViewerObject { private: static const F32 DISTANCE_TO_STARS;