//---------------------------------------------------------------------- // The Motion Strategy Library (MSL) //---------------------------------------------------------------------- // // Copyright (c) 1998-2000 Iowa State University and Steve LaValle. // All Rights Reserved. // // Permission to use, copy, and distribute this software and its // documentation is hereby granted free of charge, provided that // (1) it is not a component of a commercial product, and // (2) this notice appears in all copies of the software and // related documentation. // // Iowa State University and the author make no representations // about the suitability or fitness of this software for any purpose. // It is provided "as is" without express or implied warranty. //---------------------------------------------------------------------- // // Header file for visprm.C by Kevin Crotty and Andrew Olson // in fulfillment of 2001 Com S 476 final project requirements // //---------------------------------------------------------------------- #ifndef MSL_VISPRM_H #define MSL_VISPRM_H #include #include #include #include #include #include #include "planner.h" #include /*! The base class for planners based on the Probabilistic Roadmap Planner (PRM) framework of Kavraki, Svestka, Latombe, Overmars, 1994. In the base class, only Holonomic planning problems can be solved (i.e., standard path planning, without differential constraints). */ //! A probabilistic roadmap planner, proposed by Kavraki, Svestka, Latombe, Overmars, 1994 class VisPRM: public PRM { public: //! A constructor that initializes data members. VisPRM(Problem *problem); //! Empty destructor virtual ~VisPRM() {}; //! Build a PRM virtual void Construct(); //! Try to solve a planning query using an existing PRM virtual bool Plan(); //! Specialized Graph drawing function //! This doesn't quite fit into the msl framework //! virtual void DrawGraphs(); private: list guards; list connectors; }; #include #endif