SCL  1.0
Standard Control Library : Control, dynamics, physics, and simulation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Groups Pages
tao_dump.hpp
Go to the documentation of this file.
1 /*
2  * Stanford Whole-Body Control Framework http://stanford-scl.sourceforge.net/
3  *
4  * Copyright (c) 1997-2009 Stanford University. All rights reserved.
5  *
6  * This program is free software: you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public License
8  * as published by the Free Software Foundation, either version 3 of
9  * the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this program. If not, see
18  * <http://www.gnu.org/licenses/>
19  */
20 
26 #ifndef JSPACE_UTIL_DUMP_HPP
27 #define JSPACE_UTIL_DUMP_HPP
28 
29 #include <iosfwd>
30 #include <vector>
31 #include <stdexcept>
32 
33 class deVector6;
34 class deVector3;
35 class deQuaternion;
36 class deFrame;
37 class taoJoint;
38 class deMassProp;
39 class deMatrix3;
40 class taoDNode;
41 
42 
43 namespace jspace {
44 
45  struct STaoTreeInfo;
46 
47  std::string inertia_matrix_to_string(deMatrix3 const & mx);
48 
62  void dump_tao_tree(std::ostream & os, taoDNode * root, std::string prefix,
63  bool detailed,
64  std::vector<std::string> * id_to_link_name,
65  std::vector<std::string> * id_to_joint_name);
66 
70  void dump_tao_tree_info(std::ostream & os, STaoTreeInfo * tree, std::string prefix, bool detailed);
71 
76  void dump_tao_tree_info_saixml(std::ostream & os, STaoTreeInfo * tree) throw(std::runtime_error);
77 
82  void dump_tao_tree_info_sclxml(std::ostream & os,
83  std::string const & robot_name,
84  std::string const & root_link_name,
85  STaoTreeInfo * tree) throw(std::runtime_error);
86 
87 }
88 
89 namespace std {
90 
91  ostream & operator << (ostream & os, deVector6 const & vec);
92  ostream & operator << (ostream & os, deVector3 const & vec);
93  ostream & operator << (ostream & os, deQuaternion const & vec);
94  ostream & operator << (ostream & os, deFrame const & frame);
95  ostream & operator << (ostream & os, taoJoint /*const*/ & joint);
96  ostream & operator << (ostream & os, deMassProp const & rhs);
97 
98 }
99 
100 #endif // JSPACE_UTIL_DUMP_HPP
3x1 vector classThis is a C++ wrapper class of deVector3f.
Definition: TaoDeVector3.h:32
Compute Mass parameters.
Definition: TaoDeMassProp.h:60
6x1 vector classThis class consists of two 3x1 vectors.
Definition: TaoDeVector6.h:33
abstract node class for articulated bodyA dynamics node = {Articulated Body Link + Set of associated ...
Definition: taoDNode.h:46
Quaternion classThis is a C++ wrapper class of deQuaternionf.
Definition: TaoDeQuaternion.h:35
Transformation class using quaternionThis class consists of a quaternion for rotation and a vector fo...
Definition: TaoDeFrame.h:36
Base joint class for articulated bodyThis provides a joint for articulated body dynamics.
Definition: taoJoint.h:45
3x3 matrix classThis is a C++ wrapper class of deMatrix3f.
Definition: TaoDeMatrix3.h:33