summaryrefslogtreecommitdiff
path: root/indra/newview/llfloatermodelwizard.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfloatermodelwizard.h')
-rw-r--r--indra/newview/llfloatermodelwizard.h36
1 files changed, 33 insertions, 3 deletions
diff --git a/indra/newview/llfloatermodelwizard.h b/indra/newview/llfloatermodelwizard.h
index b7fd28aa9d..eaf188ed40 100644
--- a/indra/newview/llfloatermodelwizard.h
+++ b/indra/newview/llfloatermodelwizard.h
@@ -26,13 +26,35 @@
#ifndef LLFLOATERMODELWIZARD_H
#define LLFLOATERMODELWIZARD_H
+
+#include "llmeshrepository.h"
+#include "llmodel.h"
+#include "llthread.h"
+
+
class LLModelPreview;
+
class LLFloaterModelWizard : 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 LLFloaterModelWizard* sInstance;
+
LLFloaterModelWizard(const LLSD& key);
- virtual ~LLFloaterModelWizard() {};
+ virtual ~LLFloaterModelWizard();
/*virtual*/ BOOL postBuild();
void draw();
@@ -41,6 +63,14 @@ public:
BOOL handleHover(S32 x, S32 y, MASK mask);
BOOL handleScrollWheel(S32 x, S32 y, S32 clicks);
+
+ void initDecompControls();
+
+ LLPhysicsDecomp::decomp_params mDecompParams;
+ std::set<LLPointer<DecompRequest> > mCurRequest;
+ std::string mStatusMessage;
+ static void executePhysicsStage(std::string stage_name);
+
private:
enum EWizardState
{
@@ -59,9 +89,9 @@ private:
bool onEnableNext();
bool onEnableBack();
void loadModel();
- static void onPreviewLODCommit(LLUICtrl*,void*);
+ void onPreviewLODCommit(LLUICtrl*);
void onAccuracyPerformance(const LLSD& data);
- static void onUpload(void* data);
+ void onUpload();
LLModelPreview* mModelPreview;
LLRect mPreviewRect;