diff options
author | Rider Linden <rider@lindenlab.com> | 2018-11-14 11:19:33 -0800 |
---|---|---|
committer | Rider Linden <rider@lindenlab.com> | 2018-11-14 11:19:33 -0800 |
commit | 1d022e86c84039f88c531e91ce857666acd224a1 (patch) | |
tree | 9a8ba45529cb125a2ae5cd4672b3fd093af9b45c /indra/newview/llvovolume.h | |
parent | 18eb4b497fd890118e7da78dcc2eda4bd84c4ede (diff) | |
parent | 34770cbf2ef34b7901552057a0823e502d42be1d (diff) |
Merge
Diffstat (limited to 'indra/newview/llvovolume.h')
-rw-r--r-- | indra/newview/llvovolume.h | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/indra/newview/llvovolume.h b/indra/newview/llvovolume.h index a0342d31a2..0882fc095d 100644 --- a/indra/newview/llvovolume.h +++ b/indra/newview/llvovolume.h @@ -64,6 +64,8 @@ public: } void update(const LLMeshSkinInfo* skin, LLVOAvatar* avatar, const LLVolume* src_volume); + + std::string mExtraDebugText; }; // Base class for implementations of the volume - Primitive, Flexible Object, etc. @@ -136,8 +138,10 @@ public: /*virtual*/ const LLMatrix4 getRenderMatrix() const; typedef std::map<LLUUID, S32> texture_cost_t; U32 getRenderCost(texture_cost_t &textures) const; - F32 getStreamingCost(S32* bytes, S32* visible_bytes, F32* unscaled_value) const; - /*virtual*/ F32 getStreamingCost(S32* bytes = NULL, S32* visible_bytes = NULL) { return getStreamingCost(bytes, visible_bytes, NULL); } + /*virtual*/ F32 getEstTrianglesMax() const; + /*virtual*/ F32 getEstTrianglesStreamingCost() const; + /* virtual*/ F32 getStreamingCost() const; + /*virtual*/ bool getCostData(LLMeshCostData& costs) const; /*virtual*/ U32 getTriangleCount(S32* vcount = NULL) const; /*virtual*/ U32 getHighLODTriangleCount(); @@ -163,7 +167,7 @@ public: /*virtual*/ F32 getRadius() const { return mVObjRadius; }; const LLMatrix4& getWorldMatrix(LLXformMatrix* xform) const; - void markForUpdate(BOOL priority) { LLViewerObject::markForUpdate(priority); mVolumeChanged = TRUE; } + void markForUpdate(BOOL priority); void markForUnload() { LLViewerObject::markForUnload(TRUE); mVolumeChanged = TRUE; } void faceMappingChanged() { mFaceMappingChanged=TRUE; }; @@ -264,12 +268,29 @@ public: virtual BOOL isFlexible() const; virtual BOOL isSculpted() const; virtual BOOL isMesh() const; + virtual BOOL isRiggedMesh() const; virtual BOOL hasLightTexture() const; + BOOL isVolumeGlobal() const; BOOL canBeFlexible() const; BOOL setIsFlexible(BOOL is_flexible); + const LLMeshSkinInfo* getSkinInfo() const; + + // Extended Mesh Properties + U32 getExtendedMeshFlags() const; + void onSetExtendedMeshFlags(U32 flags); + void setExtendedMeshFlags(U32 flags); + bool canBeAnimatedObject() const; + bool isAnimatedObject() const; + virtual void onReparent(LLViewerObject *old_parent, LLViewerObject *new_parent); + virtual void afterReparent(); + + //virtual + void updateRiggingInfo(); + S32 mLastRiggingInfoLOD; + // Functions that deal with media, or media navigation // Update this object's media data with the given media data array @@ -303,7 +324,10 @@ public: bool hasMedia() const; LLVector3 getApproximateFaceNormal(U8 face_id); - + + // Flag any corresponding avatars as needing update. + void updateVisualComplexity(); + void notifyMeshLoaded(); // Returns 'true' iff the media data for this object is in flight @@ -332,7 +356,7 @@ public: void clearRiggedVolume(); protected: - S32 computeLODDetail(F32 distance, F32 radius, F32 lod_factor); + S32 computeLODDetail(F32 distance, F32 radius, F32 lod_factor); BOOL calcLOD(); LLFace* addFace(S32 face_index); void updateTEData(); @@ -356,6 +380,9 @@ public: LLViewerTextureAnim *mTextureAnimp; U8 mTexAnimMode; + F32 mLODDistance; + F32 mLODAdjustedDistance; + F32 mLODRadius; private: friend class LLDrawable; friend class LLFace; |