summaryrefslogtreecommitdiff
path: root/indra/newview/llfloatermodelpreview.h
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2010-10-05 16:49:05 -0500
committerDave Parks <davep@lindenlab.com>2010-10-05 16:49:05 -0500
commit87a9f475756d54d9d98c8cbb6395f89d6fc4606a (patch)
tree1cc74870d3f26adf2245ddef47467c05a3d11275 /indra/newview/llfloatermodelpreview.h
parent478e0927c87338e02e75d3791f51ad2b4e7b8c74 (diff)
Rewrite LLPhysicsDecomp to have a more generic callback system.
Reviewed by prep.
Diffstat (limited to 'indra/newview/llfloatermodelpreview.h')
-rw-r--r--indra/newview/llfloatermodelpreview.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/indra/newview/llfloatermodelpreview.h b/indra/newview/llfloatermodelpreview.h
index 8409249182..7be32663f4 100644
--- a/indra/newview/llfloatermodelpreview.h
+++ b/indra/newview/llfloatermodelpreview.h
@@ -92,6 +92,11 @@ public:
scene mScene;
+ typedef std::queue<LLPointer<LLModel> > model_queue;
+
+ //queue of models that need a physics rep
+ model_queue mPhysicsQ;
+
LLModelLoader(std::string filename, S32 lod, LLModelPreview* preview);
virtual void run();
@@ -189,6 +194,18 @@ class LLModelPreview : public LLViewerDynamicTexture, public LLMutex
class LLFloaterModelPreview : public LLFloater
{
public:
+
+ class DecompRequest : public LLPhysicsDecomp::Request
+ {
+ public:
+ S32 mContinue;
+ LLPointer<LLModel> mModel;
+
+ DecompRequest(const std::string& stage, LLModel* mdl);
+ virtual S32 statusCallback(const char* status, S32 p1, S32 p2);
+ virtual void completed();
+
+ };
static LLFloaterModelPreview* sInstance;
LLFloaterModelPreview(const LLSD& key);
@@ -270,13 +287,18 @@ protected:
LLModelPreview* mModelPreview;
LLFloater* mDecompFloater;
-
+ LLPhysicsDecomp::decomp_params mDecompParams;
+
S32 mLastMouseX;
S32 mLastMouseY;
LLRect mPreviewRect;
U32 mGLName;
BOOL mLoading;
static S32 sUploadAmount;
+
+ LLPointer<DecompRequest> mCurRequest;
+
+
};
#endif // LL_LLFLOATERMODELPREVIEW_H