diff options
| author | Loren Shih <seraph@lindenlab.com> | 2011-03-15 11:40:15 -0400 | 
|---|---|---|
| committer | Loren Shih <seraph@lindenlab.com> | 2011-03-15 11:40:15 -0400 | 
| commit | 27d34b5707934438e2363b5e8702bbbaedb3e2b6 (patch) | |
| tree | 6c2a3acb48ac377252226be529e6b0409e6e2650 /indra | |
| parent | 01600af612df4421a7f095a67db2f135da9fe161 (diff) | |
| parent | 16ff50719055aae202011e4b20aeae41d98493fa (diff) | |
Automated merge from mesh-development
Diffstat (limited to 'indra')
| -rwxr-xr-x | indra/llprimitive/llmodel.cpp | 4 | ||||
| -rwxr-xr-x | indra/llprimitive/llmodel.h | 1 | ||||
| -rwxr-xr-x | indra/newview/llfloatermodelpreview.cpp | 18 | ||||
| -rw-r--r-- | indra/newview/llfloatermodelpreview.h | 1 | ||||
| -rwxr-xr-x | indra/newview/llmeshrepository.cpp | 7 | ||||
| -rw-r--r-- | indra/newview/llmeshrepository.h | 1 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_model_preview.xml | 7 | 
7 files changed, 37 insertions, 2 deletions
| diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp index a9101378a4..eed82f924b 100755 --- a/indra/llprimitive/llmodel.cpp +++ b/indra/llprimitive/llmodel.cpp @@ -57,6 +57,7 @@ const int MODEL_NAMES_LENGTH = sizeof(model_names) / sizeof(std::string);  LLModel::LLModel(LLVolumeParams& params, F32 detail)  	: LLVolume(params, detail), mNormalizedScale(1,1,1), mNormalizedTranslation(0,0,0) +	, mPelvisOffset( 0.0f )  {  	mDecompID = -1;  } @@ -1497,6 +1498,7 @@ LLSD LLModel::writeModel(  			}  		} +		  		if ( upload_joints && high->mAlternateBindMatrix.size() > 0 )  		{  			for (U32 i = 0; i < high->mJointList.size(); ++i) @@ -1509,6 +1511,8 @@ LLSD LLModel::writeModel(  					}  				}  			} + +			mdl["skin"]["pelvis_offset"] = high->mPelvisOffset;  		}  	} diff --git a/indra/llprimitive/llmodel.h b/indra/llprimitive/llmodel.h index c10ca1c11b..e9e33bdee5 100755 --- a/indra/llprimitive/llmodel.h +++ b/indra/llprimitive/llmodel.h @@ -194,6 +194,7 @@ public:  	LLVector3 mNormalizedScale;  	LLVector3 mNormalizedTranslation; +	float	mPelvisOffset;  	// convex hull decomposition  	S32 mDecompID;  	convex_hull_decomposition mConvexHullDecomp; diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index f65fab41e7..d4ba039eeb 100755 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -310,6 +310,7 @@ BOOL LLFloaterModelPreview::postBuild()  	childSetCommitCallback("upload_joints", onUploadJointsCommit, this);  	childSetCommitCallback("import_scale", onImportScaleCommit, this); +	childSetCommitCallback("pelvis_offset", onPelvisOffsetCommit, this);  	childSetCommitCallback("lod_file_or_limit", refresh, this);  	childSetCommitCallback("physics_load_radio", refresh, this); @@ -318,6 +319,9 @@ BOOL LLFloaterModelPreview::postBuild()  	childDisable("upload_skin");  	childDisable("upload_joints"); + +	childDisable("pelvis_offset"); +  	childDisable("ok_btn");  	mViewOptionMenuButton = getChild<LLMenuButton>("options_gear_btn"); @@ -456,6 +460,18 @@ void LLFloaterModelPreview::onImportScaleCommit(LLUICtrl*,void* userdata)  	fp->mModelPreview->calcResourceCost();  	fp->mModelPreview->refresh();  } +//static +void LLFloaterModelPreview::onPelvisOffsetCommit( LLUICtrl*, void* userdata ) +{ +	LLFloaterModelPreview *fp =(LLFloaterModelPreview*)userdata; + +	if (!fp->mModelPreview) +	{ +		return; +	} + +	fp->mModelPreview->refresh(); +}  //static  void LLFloaterModelPreview::onUploadJointsCommit(LLUICtrl*,void* userdata) @@ -3742,7 +3758,7 @@ BOOL LLModelPreview::render()  		if (fmp)  		{  			fmp->enableViewOption("show_skin_weight"); -			fmp->setViewOptionEnabled("show_joint_positions", skin_weight); +			fmp->setViewOptionEnabled("show_joint_positions", skin_weight);	  		}  		mFMP->childEnable("upload_skin");  	} diff --git a/indra/newview/llfloatermodelpreview.h b/indra/newview/llfloatermodelpreview.h index ffda565fef..aac20244cc 100644 --- a/indra/newview/llfloatermodelpreview.h +++ b/indra/newview/llfloatermodelpreview.h @@ -183,6 +183,7 @@ protected:  	friend class LLPhysicsDecomp;  	static void		onImportScaleCommit(LLUICtrl*, void*); +	static void		onPelvisOffsetCommit(LLUICtrl*, void*);  	static void		onUploadJointsCommit(LLUICtrl*,void*);  	static void		onUploadSkinCommit(LLUICtrl*,void*); diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp index e259ee9846..8e869b2d5b 100755 --- a/indra/newview/llmeshrepository.cpp +++ b/indra/newview/llmeshrepository.cpp @@ -1162,7 +1162,12 @@ bool LLMeshRepoThread::skinInfoReceived(const LLUUID& mesh_id, U8* data, S32 dat  				info.mAlternateBindMatrix.push_back(mat);  			}  		} -		 + +		if (skin.has("pelvis_offset")) +		{ +			info.mPelvisOffset = skin["pelvis_offset"].asReal(); +		} +  		mSkinInfoQ.push(info);  	} diff --git a/indra/newview/llmeshrepository.h b/indra/newview/llmeshrepository.h index 0fcb2213de..ccdcc03310 100644 --- a/indra/newview/llmeshrepository.h +++ b/indra/newview/llmeshrepository.h @@ -131,6 +131,7 @@ public:  	std::vector<LLMatrix4> mAlternateBindMatrix;  	LLMatrix4 mBindShapeMatrix; +	float mPelvisOffset;  };  class LLMeshDecomposition diff --git a/indra/newview/skins/default/xui/en/floater_model_preview.xml b/indra/newview/skins/default/xui/en/floater_model_preview.xml index ca4e4a3a2a..e79dfcbc7d 100644 --- a/indra/newview/skins/default/xui/en/floater_model_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_model_preview.xml @@ -388,6 +388,13 @@        <check_box top_pad="5" name="upload_textures" height="15" follows="top|left" label="Textures"/>        <check_box top_pad="5" name="upload_skin" height="15" follows="top|left" label="Skin weight"/>        <check_box top_pad="5" left="20" name="upload_joints" height="15" follows="top|left" label="Joint positions"/> + +      <text left="10" top_pad="4" width="90" bottom="30" follows="top|left" height="15"> +        Pelvis Offset: +      </text> + +      <spinner left="10" top_pad="4" height="20" follows="top|left" width="80" value="0.0" min_val="0.00" max_val="32.0" name="pelvis_offset"/> +      </panel>    </tab_container> | 
