openrave_ik.h
Go to the documentation of this file.
00001 /*
00002  * Ik.h
00003  *
00004  *  Created on: 12.01.2012
00005  *      Author: hess
00006  */
00007 
00008 #ifndef OPENRAVE_IK_H_
00009 #define OPENRAVE_IK_H_
00010 
00011 typedef double IKReal;
00012 
00013 
00014 
00015 struct VARIABLE {
00016         VARIABLE() :
00017                         fmul(0), foffset(0), freeind(-1), maxsolutions(1) {
00018                 indices[0] = indices[1] = -1;
00019         }
00020         IKReal fmul, foffset; 
00021         signed char freeind; 
00022         unsigned char maxsolutions; 
00023         unsigned char indices[2]; 
00024 };
00025 
00026 class IKSolution {
00027 public:
00030         void GetSolution(IKReal* psolution, const IKReal* pfree)const;
00031 
00034         const std::vector<int>& GetFree() const;
00035 
00036         std::vector<VARIABLE> basesol; 
00037         std::vector<int> vfree;
00038 
00039         bool Validate() const;
00040 
00041         void GetSolutionIndices(std::vector<unsigned int>& v) const;
00042 };
00043 
00044 extern bool ik(const IKReal* eetrans, const IKReal* eerot, const IKReal* pfree, std::vector<IKSolution>& vsolutions);
00045 #endif /* IK_H_ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Friends Defines


coverage_3d_arm_navigation
Author(s): Juergen Hess
autogenerated on Wed Dec 26 2012 15:25:56