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 
00057 #if VISP_VERSION_INT <= (2<<16 | 6<<8 | 1)
00058 
00059 #include <visp/vpRotationMatrix.h>
00060 #include <visp/vpColVector.h>
00061 
00062 
00080 class VISP_EXPORT vpQuaternionVector : public vpColVector
00081 {
00082 private:        
00083   static const double minimum;
00084   double r[4];
00085 public:
00086 
00087   vpQuaternionVector() ;    
00088   vpQuaternionVector(const double x, const double y, const double z,const double w) ;    
00089   vpQuaternionVector(const vpQuaternionVector &q);
00090   vpQuaternionVector(const vpRotationMatrix &R);
00091 
00092   void buildFrom(const vpRotationMatrix& R);
00093 
00094   void set(const double x, const double y, const double z,const double w) ;
00095   unsigned int size(){return 4;}
00097   inline double x() const {return r[0];}
00099   inline double y() const {return r[1];}
00101   inline double z() const {return r[2];}
00103   inline double w() const {return r[3];}
00104 
00105   vpQuaternionVector operator+( vpQuaternionVector &q)  ;
00106   vpQuaternionVector operator-( vpQuaternionVector &q)  ;
00107   vpQuaternionVector operator-()  ;
00108   vpQuaternionVector operator*(const double l) ;
00109   vpQuaternionVector operator* ( vpQuaternionVector &rq) ;
00110   vpQuaternionVector &operator=( vpQuaternionVector &q);
00111   
00112     
00113 } ;
00114 
00115 #endif
00116 #endif
00117 
00118 /*
00119  * Local variables:
00120  * c-basic-offset: 4
00121  * End:
00122  */


visp_bridge
Author(s): Filip Novotny
autogenerated on Thu Jul 4 2019 19:30:54