// $Id$
-//
+//
// SuperTux Path
// Copyright (C) 2005 Philipp <balinor@pnxs.de>
// Copyright (C) 2006 Christoph Sommer <christoph.sommer@2006.expires.deltadevelopment.de>
// 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
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<Node> 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;
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<Node> nodes;
-
WalkMode mode;
};
#endif
-