00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #include "household_objects_database/database_helper_classes.h"
00036
00037 namespace household_objects_database {
00038
00039 std::istream& operator >> (std::istream &str, DatabasePose &dhp)
00040 {
00041 std::vector<double> vec;
00042 database_interface::operator >> (str,vec);
00043 if (str.fail()) return str;
00044 if (vec.size() != 7)
00045 {
00046 str.clear(std::ios::failbit);
00047 return str;
00048 }
00049 dhp.pose_.position.x = vec[0]; dhp.pose_.position.y = vec[1]; dhp.pose_.position.z = vec[2];
00050 dhp.pose_.orientation.x = vec[4]; dhp.pose_.orientation.y = vec[5]; dhp.pose_.orientation.z = vec[6];
00051 dhp.pose_.orientation.w = vec[3];
00052 return str;
00053 }
00054
00055 std::ostream& operator << (std::ostream &str, const DatabasePose &dhp)
00056 {
00057 std::vector<double> vec(7);
00058 vec[0] = dhp.pose_.position.x; vec[1] = dhp.pose_.position.y; vec[2] = dhp.pose_.position.z;
00059 vec[4] = dhp.pose_.orientation.x; vec[5] = dhp.pose_.orientation.y; vec[6] = dhp.pose_.orientation.z;
00060 vec[3] = dhp.pose_.orientation.w;
00061 return database_interface::operator << (str,vec);
00062 }
00063
00064 std::istream& operator >> (std::istream &str, DatabaseHandPosture &dhp)
00065 {
00066 std::vector<double> vec;
00067 database_interface::operator >> (str,vec);
00068 if (str.fail()) return str;
00069 if (vec.empty())
00070 {
00071 str.clear(std::ios::failbit);
00072 return str;
00073 }
00074 dhp.joint_angles_.clear();
00075 dhp.joint_angles_.insert( dhp.joint_angles_.begin(), vec.begin(), vec.end() );
00076 return str;
00077 }
00078
00079 std::ostream& operator << (std::ostream &str, const DatabaseHandPosture &dhp)
00080 {
00081 std::vector<double> vec;
00082 vec.insert( vec.begin(), dhp.joint_angles_.begin(), dhp.joint_angles_.end() );
00083 return database_interface::operator << (str,vec);
00084 }
00085
00086 }