Blender V2.61 - r43446

kinfam_io.hpp

Go to the documentation of this file.
00001 // Copyright  (C)  2007  Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
00002 
00003 // Version: 1.0
00004 // Author: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
00005 // Maintainer: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
00006 // URL: http://www.orocos.org/kdl
00007 
00008 // This library is free software; you can redistribute it and/or
00009 // modify it under the terms of the GNU Lesser General Public
00010 // License as published by the Free Software Foundation; either
00011 // version 2.1 of the License, or (at your option) any later version.
00012 
00013 // This library is distributed in the hope that it will be useful,
00014 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016 // Lesser General Public License for more details.
00017 
00018 // You should have received a copy of the GNU Lesser General Public
00019 // License along with this library; if not, write to the Free Software
00020 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00021 
00022 #ifndef KDL_KINFAM_IO_HPP
00023 #define KDL_KINFAM_IO_HPP
00024 
00025 #include <iostream>
00026 #include <fstream>
00027 
00028 #include "joint.hpp"
00029 #include "segment.hpp"
00030 #include "chain.hpp"
00031 #include "jntarray.hpp"
00032 #include "jacobian.hpp"
00033 #include "tree.hpp"
00034 
00035 namespace KDL {
00036 std::ostream& operator <<(std::ostream& os, const Joint& joint);
00037 std::istream& operator >>(std::istream& is, Joint& joint);
00038 std::ostream& operator <<(std::ostream& os, const Segment& segment);
00039 std::istream& operator >>(std::istream& is, Segment& segment);
00040 std::ostream& operator <<(std::ostream& os, const Chain& chain);
00041 std::istream& operator >>(std::istream& is, Chain& chain);
00042 
00043 std::ostream& operator <<(std::ostream& os, const Tree& tree);
00044 std::istream& operator >>(std::istream& is, Tree& tree);
00045 
00046 std::ostream& operator <<(std::ostream& os, SegmentMap::const_iterator it);
00047 
00048 std::ostream& operator <<(std::ostream& os, const JntArray& array);
00049 std::istream& operator >>(std::istream& is, JntArray& array);
00050 std::ostream& operator <<(std::ostream& os, const Jacobian& jac);
00051 std::istream& operator >>(std::istream& is, Jacobian& jac);
00052 
00053 template<typename T>
00054 std::ostream& operator<<(std::ostream& os, const std::vector<T>& vec) {
00055     os << "[";
00056     for (unsigned int i = 0; i < vec.size(); i++)
00057         os << vec[i] << " ";
00058     os << "]";
00059     return os;
00060 }
00061 ;
00062 
00063 template<typename T>
00064 std::istream& operator >>(std::istream& is, std::vector<T>& vec) {
00065     return is;
00066 }
00067 ;
00068 }
00069 #endif
00070