diff options
author | Dave Parks <davep@lindenlab.com> | 2010-10-06 12:55:22 -0500 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2010-10-06 12:55:22 -0500 |
commit | 9fa00ed52d634bf2c1023a886d228ae8f4640b32 (patch) | |
tree | 27bcd36a31c570c4e21d430e0b9d5605b94c967d /indra/newview/llmeshrepository.h | |
parent | adc73f48471330617cc1e52902abd8123920ada3 (diff) | |
parent | 24e0d62a5eb3299a877d7a6b37e1881ec3d1ca0c (diff) |
merge
Diffstat (limited to 'indra/newview/llmeshrepository.h')
-rw-r--r-- | indra/newview/llmeshrepository.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/indra/newview/llmeshrepository.h b/indra/newview/llmeshrepository.h index e7270cc47d..4f790227b1 100644 --- a/indra/newview/llmeshrepository.h +++ b/indra/newview/llmeshrepository.h @@ -144,8 +144,10 @@ public: LLUUID mMeshID; LLModel::physics_shape mHull; + LLModel::hull mBaseHull; std::vector<LLPointer<LLVertexBuffer> > mMesh; + LLPointer<LLVertexBuffer> mBaseHullMesh; }; class LLPhysicsDecomp : public LLThread @@ -189,6 +191,10 @@ public: static S32 llcdCallback(const char*, S32, S32); void cancel(); + void setMeshData(LLCDMeshData& mesh); + void doDecomposition(); + void doDecompositionSingleHull(); + virtual void run(); std::map<std::string, S32> mStageID; @@ -337,6 +343,26 @@ public: class LLMeshUploadThread : public LLThread { public: + class DecompRequest : public LLPhysicsDecomp::Request + { + public: + LLPointer<LLModel> mModel; + LLPointer<LLModel> mBaseModel; + + LLMeshUploadThread* mThread; + + DecompRequest(LLModel* mdl, LLModel* base_model, LLMeshUploadThread* thread); + + S32 statusCallback(const char* status, S32 p1, S32 p2) { return 1; } + void completed(); + }; + + LLPointer<DecompRequest> mFinalDecomp; + bool mPhysicsComplete; + + typedef std::map<LLPointer<LLModel>, std::vector<LLVector3> > hull_map; + hull_map mHullMap; + typedef std::vector<LLModelInstance> instance_list; instance_list mInstanceList; |