LinkPath.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2008, AIST, the University of Tokyo and General Robotix Inc.
00003  * All rights reserved. This program is made available under the terms of the
00004  * Eclipse Public License v1.0 which accompanies this distribution, and is
00005  * available at http://www.eclipse.org/legal/epl-v10.html
00006  * Contributors:
00007  * National Institute of Advanced Industrial Science and Technology (AIST)
00008  */
00009 
00015 #ifndef HRPMODEL_LINK_PATH_H_INCLUDED
00016 #define HRPMODEL_LINK_PATH_H_INCLUDED
00017 
00018 #include "LinkTraverse.h"
00019 #include "Config.h"
00020 
00021 namespace hrp {
00022 
00023     class HRPMODEL_API LinkPath : public LinkTraverse
00024     {
00025       public:
00026         
00027         LinkPath();
00028         LinkPath(Link* base, Link* end);
00029         LinkPath(Link* end);
00030 
00031         bool find(Link* base, Link* end);
00032         void find(Link* end);
00033 
00034         inline Link* baseLink() const {
00035             return links.front();
00036         }
00037         
00038         inline Link* endLink() const {
00039             return links.back();
00040         }
00041 
00042       private:
00043 
00044         virtual void find(Link* root, bool doUpward, bool doDownward);
00045 
00046         bool findPathSub(Link* link, Link* prev, Link* end, bool isForwardDirection);
00047         void findPathFromRootSub(Link* link);
00048     };
00049 
00050 };
00051 
00052 #endif


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Sun Apr 2 2017 03:43:55