// test_vector.cc // robert - programme du robot 2005 {{{ // // Copyright (C) 2005 Nicolas Haller // // Robot APB Team/Efrei 2005. // Web: http://assos.efrei.fr/robot/ // Email: robot AT efrei DOT fr // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 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 General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // }}} ///Programme de test de la classe Vector #include "geometry/vector.hh" #include int main(void) { geometry::VectorT vecInt (12,42); geometry::Vector vecDouble(12.12, 42.42); geometry::VectorT testInt (12,42); geometry::Vector testDouble(12.12, 42.42); // Affichage des valeur actuelle std::cout << "Affichage des valeurs actuelle" << std::endl; std::cout << "vecInt:" << std::endl; std::cout << vecInt << std::endl; std::cout << "vecDouble:" << std::endl; std::cout << vecDouble << std::endl; std::cout << "Operator +=" << std::endl; std::cout << "vecInt:" << std::endl; std::cout << (vecInt += testInt) << std::endl; std::cout << "vecDouble:" << std::endl; std::cout << (vecDouble += testDouble) << std::endl; std::cout << "Operator -=" << std::endl; std::cout << "vecInt:" << std::endl; std::cout << (vecInt -= testInt) << std::endl; std::cout << "vecDouble:" << std::endl; std::cout << (vecDouble -= testDouble) << std::endl; std::cout << "Operator *=" << std::endl; std::cout << "vecInt:" << std::endl; std::cout << (vecInt *= 2) << std::endl; std::cout << "vecDouble:" << std::endl; std::cout << (vecDouble *= 2.0) << std::endl; std::cout << "Operator /=" << std::endl; std::cout << "vecInt:" << std::endl; std::cout << (vecInt /= 2) << std::endl; std::cout << "vecDouble:" << std::endl; std::cout << (vecDouble /= 2.0) << std::endl; std::cout << "Operator +" << std::endl; std::cout << "vecInt:" << std::endl; std::cout << (vecInt + testInt) << std::endl; std::cout << "vecDouble:" << std::endl; std::cout << (vecDouble + testDouble) << std::endl; std::cout << "Operator -" << std::endl; std::cout << "vecInt:" << std::endl; std::cout << vecInt - testInt << std::endl; std::cout << "vecDouble:" << std::endl; std::cout << vecDouble - testDouble << std::endl; std::cout << "Operator *" << std::endl; std::cout << "vecInt:" << std::endl; std::cout << vecInt * 2 << std::endl; std::cout << "vecDouble:" << std::endl; std::cout << vecDouble * 2.0 << std::endl; std::cout << "Operator /" << std::endl; std::cout << "vecInt:" << std::endl; std::cout << vecInt / 2 << std::endl; std::cout << "vecDouble:" << std::endl; std::cout << vecDouble / 2.0 << std::endl; std::cout << "Operator / (produit scalaire)" << std::endl; std::cout << "vecInt:" << std::endl; std::cout << vecInt * testInt << std::endl; std::cout << "vecDouble:" << std::endl; std::cout << vecDouble * testDouble << std::endl; std::cout << "Norme" << std::endl; std::cout << "vecInt:" << std::endl; std::cout << vecInt.norm() << std::endl; std::cout << "vecDouble:" << std::endl; std::cout << vecDouble.norm() << std::endl; std::cout << "Normalisation" << std::endl; std::cout << "vecInt:" << std::endl; std::cout << vecInt.normalize() << std::endl; std::cout << "vecDouble:" << std::endl; std::cout << vecDouble.normalize() << std::endl; std::cout << "Rotation pi/2" << std::endl; std::cout << "vecInt:" << std::endl; std::cout << vecInt.rotate() << std::endl; std::cout << "vecDouble:" << std::endl; std::cout << vecDouble.rotate() << std::endl; std::cout << "Rotation 2pi" << std::endl; std::cout << "vecInt:" << std::endl; std::cout << vecInt.rotate(static_cast(2 * M_PI)) << std::endl; std::cout << "vecDouble:" << std::endl; std::cout << vecDouble.rotate(2 * M_PI) << std::endl; std::cout << " distance to" << std::endl; std::cout << "vecInt:" << std::endl; std::cout << vecInt.distTo(testInt) << std::endl; std::cout << "vecDouble:" << std::endl; std::cout << vecDouble.distTo(testDouble) << std::endl; std::cout << "sqDistTo" << std::endl; std::cout << "vecInt:" << std::endl; std::cout << vecInt.sqDistTo(testInt) << std::endl; std::cout << "vecDouble:" << std::endl; std::cout << vecDouble.sqDistTo(testDouble) << std::endl; }