// NeL - MMORPG Framework // Copyright (C) 2010 Winch Gate Property Limited // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . #include "std3d.h" #include "nel/3d/u_transformable.h" #include "nel/3d/transformable.h" namespace NL3D { // *************************************************************************** const char *UTransformable::getPosValueName () { return ITransformable::getPosValueName (); } // *************************************************************************** const char *UTransformable::getRotEulerValueName() { return ITransformable::getRotEulerValueName(); } // *************************************************************************** const char *UTransformable::getRotQuatValueName() { return ITransformable::getRotQuatValueName(); } // *************************************************************************** const char *UTransformable::getScaleValueName() { return ITransformable::getScaleValueName(); } // *************************************************************************** const char *UTransformable::getPivotValueName() { return ITransformable::getPivotValueName(); } // *************************************************************************** void UTransformable::setMatrix(const CMatrix &mat) { _Object->setMatrix(mat); } // *************************************************************************** const CMatrix &UTransformable::getMatrix() const { return _Object->getMatrix(); } // *************************************************************************** void UTransformable::setTransformMode(TTransformMode mode, CMatrix::TRotOrder ro) { _Object->setTransformMode((ITransformable::TTransformMode)(uint)mode, ro); } // *************************************************************************** void UTransformable::setPos(const CVector &pos) { _Object->setPos(pos); } // *************************************************************************** void UTransformable::setRotEuler(const CVector &rot) { _Object->setRotEuler(rot); } // *************************************************************************** void UTransformable::setRotQuat(const CQuat &quat) { _Object->setRotQuat(quat); } // *************************************************************************** void UTransformable::setRotQuat(const CVector &jdir) { CMatrix mat; mat.setRot(CVector::I, jdir, CVector::K); mat.normalize(CMatrix::YZX); setRotQuat(mat.getRot()); } // *************************************************************************** void UTransformable::setRotQuat(const CVector &jdir, const CVector &vup) { CMatrix mat; mat.setRot(CVector::I, jdir, vup); mat.normalize(CMatrix::YZX); setRotQuat(mat.getRot()); } // *************************************************************************** void UTransformable::setScale(const CVector &scale) { _Object->setScale(scale); } // *************************************************************************** void UTransformable::setPivot(const CVector &pivot) { _Object->setPivot(pivot); } // *************************************************************************** UTransformable::TTransformMode UTransformable::getTransformMode() { return (TTransformMode)(uint)_Object->getTransformMode(); } // *************************************************************************** CMatrix::TRotOrder UTransformable::getRotOrder() { return _Object->getRotOrder(); } // *************************************************************************** void UTransformable::getPos(CVector &pos) { _Object->getPos(pos); } // *************************************************************************** void UTransformable::getRotEuler(CVector &rot) { _Object->getRotEuler(rot); } // *************************************************************************** void UTransformable::getRotQuat(CQuat &quat) { _Object->getRotQuat(quat); } // *************************************************************************** void UTransformable::getScale(CVector &scale) { _Object->getScale(scale); } // *************************************************************************** void UTransformable::getPivot(CVector &pivot) { _Object->getPivot(pivot); } // *************************************************************************** CVector UTransformable::getPos() { return _Object->getPos(); } // *************************************************************************** CVector UTransformable::getRotEuler() { return _Object->getRotEuler(); } // *************************************************************************** CQuat UTransformable::getRotQuat() { return _Object->getRotQuat(); } // *************************************************************************** CVector UTransformable::getScale() { return _Object->getScale(); } // *************************************************************************** CVector UTransformable::getPivot() { return _Object->getPivot(); } // *************************************************************************** void UTransformable::lookAt (const CVector& eye, const CVector& target, float roll) { _Object->lookAt(eye, target, roll); } // *************************************************************************** } // NL3D