12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- /** \file itasc/kdl/chain.cpp
- * \ingroup itasc
- */
- // Copyright (C) 2007 Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
- // Version: 1.0
- // Author: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
- // Maintainer: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
- // URL: http://www.orocos.org/kdl
- // This library 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 2.1 of the License, or (at your option) any later version.
- // This library 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
- // Lesser General Public License for more details.
- // You should have received a copy of the GNU Lesser General Public
- // License along with this library; if not, write to the Free Software
- // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- #include "chain.hpp"
- namespace KDL {
- using namespace std;
- Chain::Chain():
- segments(0),
- nrOfJoints(0),
- nrOfSegments(0)
- {
- }
- Chain::Chain(const Chain& in):nrOfJoints(0),
- nrOfSegments(0)
- {
- for(unsigned int i=0;i<in.getNrOfSegments();i++)
- this->addSegment(in.getSegment(i));
- }
- Chain& Chain::operator=(const Chain& arg)
- {
- nrOfJoints=0;
- nrOfSegments=0;
- segments.resize(0);
- for(unsigned int i=0;i<arg.nrOfSegments;i++)
- addSegment(arg.getSegment(i));
- return *this;
- }
- void Chain::addSegment(const Segment& segment)
- {
- segments.push_back(segment);
- nrOfSegments++;
- nrOfJoints += segment.getJoint().getNDof();
- }
- void Chain::addChain(const Chain& chain)
- {
- for(unsigned int i=0;i<chain.getNrOfSegments();i++)
- this->addSegment(chain.getSegment(i));
- }
- const Segment& Chain::getSegment(unsigned int nr) const
- {
- return segments[nr];
- }
- Chain::~Chain()
- {
- }
- }
|