vec3 mat3::transformVector(const vec3 &v) const { vec3 temp; temp.x = v.dot(getAxisX()); temp.y = v.dot(getAxisY()); temp.z = v.dot(getAxisZ()); return temp; }
Transform OrientedBox::getTransform_l2p ( void ) const { Transform temp; temp.setLocalFrameIJK_p( getAxisX(), getAxisY(), getAxisZ() ); temp.move_p( m_center ); return temp; }
Vector OrientedBox::rotateToLocal ( Vector const & V ) const { Vector temp; temp.x = V.dot(getAxisX()); temp.y = V.dot(getAxisY()); temp.z = V.dot(getAxisZ()); return temp; }
Vector OrientedBox::rotateToWorld ( Vector const & V ) const { Vector temp = Vector::zero; temp += getAxisX() * V.x; temp += getAxisY() * V.y; temp += getAxisZ() * V.z; return temp; }
void Matr4::translateLocal(AxisType dir, Real trans, bool preTransform) { Vect4 axis; switch (dir) { case Axis_X: axis = getAxisX(); break; case Axis_Y: axis = getAxisY(); break; case Axis_Z: axis = getAxisZ(); break; } axis.scale(trans); translate(axis, preTransform); return; }