diff options
author | Leyla Farazha <leyla@lindenlab.com> | 2011-03-29 16:33:47 -0700 |
---|---|---|
committer | Leyla Farazha <leyla@lindenlab.com> | 2011-03-29 16:33:47 -0700 |
commit | ac4e4607b8bde0fa05af75da5f873ef42e3c5918 (patch) | |
tree | d7c4e24a69d2b4e3a8d5bbe333795db98c4cb156 /indra/newview/llmeshrepository.h | |
parent | e69aa18c0dfbef2fa3bbefeba08fa1c258c69fb3 (diff) | |
parent | 1aecac62eb88125546057be2a2a70a6b2eba1a57 (diff) |
Merge
Diffstat (limited to 'indra/newview/llmeshrepository.h')
-rw-r--r-- | indra/newview/llmeshrepository.h | 40 |
1 files changed, 7 insertions, 33 deletions
diff --git a/indra/newview/llmeshrepository.h b/indra/newview/llmeshrepository.h index 4e349a1270..31c2049c32 100644 --- a/indra/newview/llmeshrepository.h +++ b/indra/newview/llmeshrepository.h @@ -132,34 +132,6 @@ public: LLSD asLLSD(); }; -class LLMeshSkinInfo -{ -public: - LLUUID mMeshID; - std::vector<std::string> mJointNames; - std::vector<LLMatrix4> mInvBindMatrix; - std::vector<LLMatrix4> mAlternateBindMatrix; - - LLMatrix4 mBindShapeMatrix; - float mPelvisOffset; -}; - -class LLMeshDecomposition -{ -public: - LLMeshDecomposition() { } - - void merge(const LLMeshDecomposition* rhs); - - LLUUID mMeshID; - LLModel::convex_hull_decomposition mHull; - LLModel::hull mBaseHull; - - std::vector<LLPointer<LLVertexBuffer> > mMesh; - LLPointer<LLVertexBuffer> mBaseHullMesh; - LLPointer<LLVertexBuffer> mPhysicsShapeMesh; -}; - class LLPhysicsDecomp : public LLThread { public: @@ -178,7 +150,7 @@ public: //output state std::string mStatusMessage; - std::vector<LLPointer<LLVertexBuffer> > mHullMesh; + std::vector<LLModel::PhysicsMesh> mHullMesh; LLModel::convex_hull_decomposition mHull; //status message callback, called from decomposition thread @@ -313,7 +285,7 @@ public: std::set<LLUUID> mPhysicsShapeRequests; //queue of completed Decomposition info requests - std::queue<LLMeshDecomposition*> mDecompositionQ; + std::queue<LLModel::Decomposition*> mDecompositionQ; //queue of requested headers std::queue<HeaderRequest> mHeaderReqQ; @@ -477,17 +449,19 @@ public: void notifyMeshLoaded(const LLVolumeParams& mesh_params, LLVolume* volume); void notifyMeshUnavailable(const LLVolumeParams& mesh_params, S32 lod); void notifySkinInfoReceived(LLMeshSkinInfo& info); - void notifyDecompositionReceived(LLMeshDecomposition* info); + void notifyDecompositionReceived(LLModel::Decomposition* info); S32 getActualMeshLOD(const LLVolumeParams& mesh_params, S32 lod); U32 calcResourceCost(LLSD& header); U32 getResourceCost(const LLUUID& mesh_params); const LLMeshSkinInfo* getSkinInfo(const LLUUID& mesh_id); - const LLMeshDecomposition* getDecomposition(const LLUUID& mesh_id); + LLModel::Decomposition* getDecomposition(const LLUUID& mesh_id); void fetchPhysicsShape(const LLUUID& mesh_id); bool hasPhysicsShape(const LLUUID& mesh_id); void buildHull(const LLVolumeParams& params, S32 detail); + void buildPhysicsMesh(LLModel::Decomposition& decomp); + const LLSD& getMeshHeader(const LLUUID& mesh_id); void uploadModel(std::vector<LLModelInstance>& data, LLVector3& scale, bool upload_textures, @@ -501,7 +475,7 @@ public: typedef std::map<LLUUID, LLMeshSkinInfo> skin_map; skin_map mSkinMap; - typedef std::map<LLUUID, LLMeshDecomposition*> decomposition_map; + typedef std::map<LLUUID, LLModel::Decomposition*> decomposition_map; decomposition_map mDecompositionMap; LLMutex* mMeshMutex; |