summaryrefslogtreecommitdiff
path: root/indra/newview/llfloatermodelpreview.cpp
diff options
context:
space:
mode:
authorLoren Shih <seraph@lindenlab.com>2011-01-10 11:20:28 -0500
committerLoren Shih <seraph@lindenlab.com>2011-01-10 11:20:28 -0500
commitc4989c17ed3848f676364e1927ccad13fb628e2c (patch)
tree70eef4570212f2a6a3bbeec69442ecc1523b972f /indra/newview/llfloatermodelpreview.cpp
parent6e671281a26089d7cf947236162afc8013d25ec8 (diff)
parente8423f150ffdd965da5b90ee625a8afc1519626f (diff)
Automated merge from mesh-development
Diffstat (limited to 'indra/newview/llfloatermodelpreview.cpp')
-rwxr-xr-xindra/newview/llfloatermodelpreview.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp
index f57d524b46..3ac7f12e4e 100755
--- a/indra/newview/llfloatermodelpreview.cpp
+++ b/indra/newview/llfloatermodelpreview.cpp
@@ -1790,7 +1790,25 @@ void LLModelLoader::processJointNode( domNode* pNode, std::map<std::string,LLMat
daeElement* pTranslateElement = getChildFromElement( pNode, "translate" );
if ( !pTranslateElement || pTranslateElement->typeID() != domTranslate::ID() )
{
- llwarns<< "The found element is not a translate node" <<llendl;
+ //llwarns<< "The found element is not a translate node" <<llendl;
+ daeSIDResolver jointResolver( pNode, "./matrix" );
+ domMatrix* pMatrix = daeSafeCast<domMatrix>( jointResolver.getElement() );
+ if ( pMatrix )
+ {
+ //llinfos<<"A matrix SID was however found!"<<llendl;
+ domFloat4x4 domArray = pMatrix->getValue();
+ for ( int i = 0; i < 4; i++ )
+ {
+ for( int j = 0; j < 4; j++ )
+ {
+ workingTransform.mMatrix[i][j] = domArray[i + j*4];
+ }
+ }
+ }
+ else
+ {
+ llwarns<< "The found element is not translate or matrix node - most likely a corrupt export!" <<llendl;
+ }
}
else
{