X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fpath.hpp;h=ff17c4e4fe6ab65dea12954dc14aa781f6ec0b0f;hb=555d1b7bebb45326d82d934e07463209837309b0;hp=60812ecfbc847d81d033ebd789bf3913516ddd58;hpb=02288dc76442bd6616a200a2d22c0954d2fc8180;p=supertux.git diff --git a/src/object/path.hpp b/src/object/path.hpp index 60812ecfb..ff17c4e4f 100644 --- a/src/object/path.hpp +++ b/src/object/path.hpp @@ -1,5 +1,5 @@ // $Id$ -// +// // SuperTux Path // Copyright (C) 2005 Philipp // Copyright (C) 2006 Christoph Sommer @@ -14,7 +14,7 @@ // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -// +// // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA @@ -38,6 +38,28 @@ public: Vector get_base() const; + /** + * Helper class that stores an individual node of a Path + */ + class Node + { + public: + Vector position; /**< the position of this node */ + float time; /**< time (in seconds) to get from this node to next node */ + }; + + std::vector nodes; + + /** + * returns Node index nearest to reference_point or -1 if not applicable + */ + int get_nearest_node_no(Vector reference_point) const; + + /** + * returns Node index farthest from reference_point or -1 if not applicable + */ + int get_farthest_node_no(Vector reference_point) const; + private: friend class PathWalker; @@ -50,20 +72,7 @@ private: CIRCULAR }; - /** - * Helper class that stores an individual node of a Path - */ - class Node - { - public: - Vector position; /**< the position of this node */ - float time; /**< time (in seconds) to get from this node to next node */ - }; - - std::vector nodes; - WalkMode mode; }; #endif -