Merge of itasc branch. Project files, scons and cmake should be working. Makefile...
[blender.git] / intern / itasc / kdl / kinfam_io.cpp
1 // Copyright  (C)  2007  Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
2
3 // Version: 1.0
4 // Author: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
5 // Maintainer: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
6 // URL: http://www.orocos.org/kdl
7
8 // This library is free software; you can redistribute it and/or
9 // modify it under the terms of the GNU Lesser General Public
10 // License as published by the Free Software Foundation; either
11 // version 2.1 of the License, or (at your option) any later version.
12
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16 // Lesser General Public License for more details.
17
18 // You should have received a copy of the GNU Lesser General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
21
22 #include "kinfam_io.hpp"
23 #include "frames_io.hpp"
24
25 namespace KDL {
26 std::ostream& operator <<(std::ostream& os, const Joint& joint) {
27         return os << joint.getTypeName();
28 }
29
30 std::istream& operator >>(std::istream& is, Joint& joint) {
31         return is;
32 }
33
34 std::ostream& operator <<(std::ostream& os, const Segment& segment) {
35         os << "[" << segment.getJoint() << ",\n" << segment.getFrameToTip() << "]";
36         return os;
37 }
38
39 std::istream& operator >>(std::istream& is, Segment& segment) {
40         return is;
41 }
42
43 std::ostream& operator <<(std::ostream& os, const Chain& chain) {
44         os << "[";
45         for (unsigned int i = 0; i < chain.getNrOfSegments(); i++)
46                 os << chain.getSegment(i) << "\n";
47         os << "]";
48         return os;
49 }
50
51 std::istream& operator >>(std::istream& is, Chain& chain) {
52         return is;
53 }
54
55 std::ostream& operator <<(std::ostream& os, const Tree& tree) {
56         SegmentMap::const_iterator root = tree.getSegment("root");
57         return os << root;
58 }
59
60 std::ostream& operator <<(std::ostream& os, SegmentMap::const_iterator root) {
61         //os<<root->first<<": "<<root->second.segment<<"\n";
62         os << root->first<<"(q_nr: "<<root->second.q_nr<<")"<<"\n \t";
63         for (unsigned int i = 0; i < root->second.children.size(); i++) {
64                 os <<(root->second.children[i])<<"\t";
65         }
66         return os << "\n";
67 }
68
69 std::istream& operator >>(std::istream& is, Tree& tree) {
70         return is;
71 }
72
73 std::ostream& operator <<(std::ostream& os, const JntArray& array) {
74         os << "[";
75         for (unsigned int i = 0; i < array.rows(); i++)
76                 os << std::setw(KDL_FRAME_WIDTH) << array(i);
77         os << "]";
78         return os;
79 }
80
81 std::istream& operator >>(std::istream& is, JntArray& array) {
82         return is;
83 }
84
85 std::ostream& operator <<(std::ostream& os, const Jacobian& jac) {
86         os << "[";
87         for (unsigned int i = 0; i < jac.rows(); i++) {
88                 for (unsigned int j = 0; j < jac.columns(); j++)
89                         os << std::setw(KDL_FRAME_WIDTH) << jac(i, j);
90                 os << std::endl;
91         }
92         os << "]";
93         return os;
94 }
95
96 std::istream& operator >>(std::istream& is, Jacobian& jac) {
97         return is;
98 }
99
100 }
101