vpQuaternionVector.h
Go to the documentation of this file.
00001 /****************************************************************************
00002  *
00003  * $Id: vpQuaternionVector.h 3506 2011-11-29 19:29:31Z fspindle $
00004  *
00005  * This file is part of the ViSP software.
00006  * Copyright (C) 2005 - 2011 by INRIA. All rights reserved.
00007  * 
00008  * This software is free software; you can redistribute it and/or
00009  * modify it under the terms of the GNU General Public License
00010  * ("GPL") version 2 as published by the Free Software Foundation.
00011  * See the file LICENSE.txt at the root directory of this source
00012  * distribution for additional information about the GNU GPL.
00013  *
00014  * For using ViSP with software that can not be combined with the GNU
00015  * GPL, please contact INRIA about acquiring a ViSP Professional 
00016  * Edition License.
00017  *
00018  * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
00019  * 
00020  * This software was developed at:
00021  * INRIA Rennes - Bretagne Atlantique
00022  * Campus Universitaire de Beaulieu
00023  * 35042 Rennes Cedex
00024  * France
00025  * http://www.irisa.fr/lagadic
00026  *
00027  * If you have questions regarding the use of this file, please contact
00028  * INRIA at visp@inria.fr
00029  * 
00030  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00031  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00032  *
00033  *
00034  * Description:
00035  * Quaternion definition.
00036  *
00037  * Authors:
00038  * Filip Novotny
00039  *
00040  *****************************************************************************/
00041 
00042 
00043 
00044 #ifndef __QUATERNIONVECTOR_H__
00045 #define __QUATERNIONVECTOR_H__
00046 
00055 #include <visp/vpConfig.h>
00056 #include <visp/vpRotationMatrix.h>
00057 #include <visp/vpColVector.h>
00058 
00059 
00077 class VISP_EXPORT vpQuaternionVector : public vpColVector
00078 {
00079 private:        
00080   static const double minimum;
00081   double r[4];
00082 public:
00083 
00084   vpQuaternionVector() ;    
00085   vpQuaternionVector(const double x, const double y, const double z,const double w) ;    
00086   vpQuaternionVector(const vpQuaternionVector &q);
00087   vpQuaternionVector(const vpRotationMatrix &R);
00088 
00089   void buildFrom(const vpRotationMatrix& R);
00090 
00091   void set(const double x, const double y, const double z,const double w) ;
00092   unsigned int size(){return 4;}
00094   inline double x() const {return r[0];}
00096   inline double y() const {return r[1];}
00098   inline double z() const {return r[2];}
00100   inline double w() const {return r[3];}
00101 
00102   vpQuaternionVector operator+( vpQuaternionVector &q)  ;
00103   vpQuaternionVector operator-( vpQuaternionVector &q)  ;
00104   vpQuaternionVector operator-()  ;
00105   vpQuaternionVector operator*(const double l) ;
00106   vpQuaternionVector operator* ( vpQuaternionVector &rq) ;
00107   vpQuaternionVector &operator=( vpQuaternionVector &q);
00108   
00109     
00110 } ;
00111 
00112 #endif
00113 
00114 /*
00115  * Local variables:
00116  * c-basic-offset: 4
00117  * End:
00118  */


visp_bridge
Author(s): Filip Novotny
autogenerated on Sat Dec 28 2013 17:45:37