/* * Copyright 2005, 2006, 2007, 2008, 2009, 2010, * * Olivier Stasse * * JRL, CNRS/AIST * * This file is part of walkGenJrl. * walkGenJrl is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * walkGenJrl is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Lesser Public License for more details. * You should have received a copy of the GNU Lesser General Public License * along with walkGenJrl. If not, see <http://www.gnu.org/licenses/>. * * Research carried out within the scope of the * Joint Japanese-French Robotics Laboratory (JRL) */ #include <jrl/walkgen/pgtypes.hh> namespace PatternGeneratorJRL { struct COMPosition_s & COMPosition::operator=(const COMState_s &aCS) { for(unsigned int i=0;i<3;i++) { x[i] = aCS.x[i]; y[i] = aCS.y[i]; z[i] = aCS.z[i]; }; yaw = aCS.yaw[0]; pitch = aCS.pitch[0]; roll = aCS.roll[0]; return *this; } struct COMState_s & COMState::operator=(const COMPosition_s &aCS) { for(unsigned int i=0;i<3;i++) { x[i] = aCS.x[i]; y[i] = aCS.y[i]; z[i] = aCS.z[i]; }; yaw[0] = aCS.yaw; yaw[1] = yaw[2] = 0.0; pitch[0] = aCS.pitch; pitch[1] = pitch[2] = 0.0; roll[0] = aCS.roll; roll[1] = roll[2] = 0.0; return *this; } void COMState::reset() { for(unsigned int i=0;i<3;i++) { x[i] = 0.0; y[i] = 0.0; yaw[i] = 0.0; pitch[i] = 0.0; roll[i] = 0.0; } } COMState_s::COMState_s() { reset(); } std::ostream & operator<<(std::ostream &os, const COMState_s & acs) { os << acs.x[0] << " " << acs.x[1] << " " << acs.x[2] << " " << acs.y[0] << " " << acs.y[1] << " " << acs.y[2] << " " << acs.z[0] << " " << acs.z[1] << " " << acs.z[2] << " " << acs.yaw[0] << " " << acs.yaw[1] << " " << acs.yaw[2] << " " << acs.pitch[0] << " " << acs.pitch[1] << " " << acs.pitch[2] << " " << acs.roll[0] << " " << acs.roll[1] << " " << acs.roll[2] << " " << std::endl; return os; } }