| 1991 | //---------------------------------------------------------------------------- |
| 1992 | |
| 1993 | void ShapeBase::getRenderMountTransform( F32 delta, S32 mountPoint, const MatrixF &xfm, MatrixF *outMat ) |
| 1994 | { |
| 1995 | // Returns mount point to world space transform |
| 1996 | if ( mountPoint >= 0 && mountPoint < SceneObject::NumMountPoints) { |
| 1997 | S32 ni = mDataBlock->mountPointNode[mountPoint]; |
| 1998 | if (ni != -1) { |
| 1999 | MatrixF mountTransform = mShapeInstance->mNodeTransforms[ni]; |
| 2000 | mountTransform.mul( xfm ); |
| 2001 | const Point3F& scale = getScale(); |
| 2002 | |
| 2003 | // The position of the mount point needs to be scaled. |
| 2004 | Point3F position = mountTransform.getPosition(); |
| 2005 | position.convolve( scale ); |
| 2006 | mountTransform.setPosition( position ); |
| 2007 | |
| 2008 | // Also we would like the object to be scaled to the model. |
| 2009 | mountTransform.scale( scale ); |
| 2010 | outMat->mul(getRenderTransform(), mountTransform); |
| 2011 | return; |
| 2012 | } |
| 2013 | } |
| 2014 | |
| 2015 | // Then let SceneObject handle it. |
| 2016 | Parent::getRenderMountTransform( delta, mountPoint, xfm, outMat ); |
| 2017 | } |
| 2018 | |
| 2019 | |
| 2020 | void ShapeBase::getRenderImageTransform( U32 imageSlot, MatrixF* mat, bool noEyeOffset ) |
no test coverage detected