diff options
author | Dave Parks <davep@lindenlab.com> | 2011-03-29 11:50:02 -0500 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2011-03-29 11:50:02 -0500 |
commit | 719610e68ba8275f08f51d127ab760799cb1d1c3 (patch) | |
tree | 3417bdc24d707e13f9eb4fe08792b5c11205b24f /indra/newview/llmeshrepository.h | |
parent | c44fe35125b075b53bc13b38b5771ee38d65934d (diff) |
SH-1225 Import convex hull data from .slm
Diffstat (limited to 'indra/newview/llmeshrepository.h')
-rw-r--r-- | indra/newview/llmeshrepository.h | 28 |
1 files changed, 7 insertions, 21 deletions
diff --git a/indra/newview/llmeshrepository.h b/indra/newview/llmeshrepository.h index 5960fe2949..31c2049c32 100644 --- a/indra/newview/llmeshrepository.h +++ b/indra/newview/llmeshrepository.h @@ -132,22 +132,6 @@ public: LLSD asLLSD(); }; -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: @@ -166,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 @@ -301,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; @@ -465,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, @@ -489,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; |