diff options
| -rw-r--r-- | indra/newview/llfloatermodelpreview.cpp | 30 | ||||
| -rw-r--r-- | indra/newview/llfloatermodelpreview.h | 2 | 
2 files changed, 30 insertions, 2 deletions
| diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index 2a3bd37129..46327a6211 100644 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -314,7 +314,7 @@ BOOL LLFloaterModelPreview::postBuild()  	childSetCommitCallback("pelvis_offset", onPelvisOffsetCommit, this);  	childSetCommitCallback("lod_file_or_limit", refresh, this); -	childSetCommitCallback("physics_load_radio", refresh, this); +	childSetCommitCallback("physics_load_radio", onPhysicsLoadRadioCommit, this);  	//childSetCommitCallback("physics_optimize", refresh, this);  	//childSetCommitCallback("physics_use_hull", refresh, this); @@ -470,6 +470,29 @@ void LLFloaterModelPreview::onPelvisOffsetCommit( LLUICtrl*, void* userdata )  }  //static +void LLFloaterModelPreview::onPhysicsLoadRadioCommit( LLUICtrl*, void *userdata) +{ +	LLFloaterModelPreview* fmp = LLFloaterModelPreview::sInstance; +	if (fmp) +	{ +		if (fmp->childGetValue("physics_use_lod").asBoolean()) +		{ +			onPhysicsUseLOD(NULL,NULL); +		} +		if (fmp->childGetValue("physics_load_from_file").asBoolean()) +		{ +			 +		} +		LLModelPreview *model_preview = fmp->mModelPreview; +		if (model_preview) +		{ +			model_preview->refresh(); +			model_preview->updateStatusMessages(); +		} +	} +} + +//static  void LLFloaterModelPreview::onUploadJointsCommit(LLUICtrl*,void* userdata)  {  	LLFloaterModelPreview *fp =(LLFloaterModelPreview *)userdata; @@ -2296,8 +2319,11 @@ void LLModelLoader::processElement(daeElement* element)  	{  		domFloat3 dom_value = scale->getValue(); + +		LLVector3 scale_vector = LLVector3(dom_value[0], dom_value[1], dom_value[2]); +		scale_vector.abs(); // Set all values positive, since we don't currently support mirrored meshes  		LLMatrix4 scaling; -		scaling.initScale(LLVector3(dom_value[0], dom_value[1], dom_value[2])); +		scaling.initScale(scale_vector);  		scaling *= mTransform;  		mTransform = scaling; diff --git a/indra/newview/llfloatermodelpreview.h b/indra/newview/llfloatermodelpreview.h index f6d4a08d1f..ed7cbe6d1e 100644 --- a/indra/newview/llfloatermodelpreview.h +++ b/indra/newview/llfloatermodelpreview.h @@ -199,6 +199,8 @@ protected:  	static void		onUploadJointsCommit(LLUICtrl*,void*);  	static void		onUploadSkinCommit(LLUICtrl*,void*); +	static void		onPhysicsLoadRadioCommit(LLUICtrl*,void *data); +  	static void		onPreviewLODCommit(LLUICtrl*,void*);  	static void		onGenerateNormalsCommit(LLUICtrl*,void*); | 
