Loading...
Searching...
No Matches
AStarBondOrderStrategy.h
Go to the documentation of this file.
#ifndef BALL_STRUCTURE_BONDORDERS_ASTARBONDORDERSTRATEGY_H
#define BALL_STRUCTURE_BONDORDERS_ASTARBONDORDERSTRATEGY_H
#ifndef BALL_STRUCTURE_BONDORDERS_BONDORDERASSIGNMENTSTRATEGY_H
# include <BALL/STRUCTURE/BONDORDERS/bondOrderAssignmentStrategy.h>
#endif
#ifndef BALL_STRUCTURE_BONDORDERS_PARTIALBONDORDERASSIGNMENT_H
# include <BALL/STRUCTURE/BONDORDERS/partialBondOrderAssignment.h>
#endif
#ifndef BALL_STRUCTURE_BONDORDERS_BONDORDERASSIGNMENT_H
# include <BALL/STRUCTURE/BONDORDERS/bondOrderAssignment.h>
#endif
#ifndef BALL_DATATYPE_HASHMAP_H
# include <BALL/DATATYPE/hashMap.h>
#endif
#include <queue>
namespace BALL
{
class AStarBondOrderStrategy
: public BondOrderAssignmentStrategy
{
public:
struct BALL_EXPORT Option
{
static const char* HEURISTIC;
};
struct BALL_EXPORT Default
{
static const String HEURISTIC;
};
struct BALL_EXPORT Heuristic
{
static const String SIMPLE;
static const String MEDIUM;
static const String TIGHT;
};
AStarBondOrderStrategy(AssignBondOrderProcessor* parent);
virtual ~AStarBondOrderStrategy();
virtual void clear();
virtual void init();
virtual bool readOptions(const Options& options);
virtual void setDefaultOptions();
virtual boost::shared_ptr<BondOrderAssignment> computeNextSolution();
protected:
PartialBondOrderAssignment::HEURISTIC_INDEX heuristic_index_;
std::priority_queue<PartialBondOrderAssignment> queue_;
// The current number of node expansions.
// step_ + queue_.size() gives the number of touched nodes.
int step_;
};
}
#endif // BALL_STRUCTURE_BONDORDERS_ASTARBONDORDERSTRATEGY_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
bondOrderAssignmentStrategy.h
bondOrderAssignment.h
BALL::AStarBondOrderStrategy::AStarBondOrderStrategy
AStarBondOrderStrategy(AssignBondOrderProcessor *parent)
BALL::AStarBondOrderStrategy::clear
virtual void clear()
BALL::AStarBondOrderStrategy::readOptions
virtual bool readOptions(const Options &options)
BALL::AStarBondOrderStrategy::computeNextSolution
virtual boost::shared_ptr< BondOrderAssignment > computeNextSolution()
BALL::AStarBondOrderStrategy::~AStarBondOrderStrategy
virtual ~AStarBondOrderStrategy()
BALL::AStarBondOrderStrategy::init
virtual void init()
BALL::AStarBondOrderStrategy::queue_
std::priority_queue< PartialBondOrderAssignment > queue_
Definition AStarBondOrderStrategy.h:80
BALL::AStarBondOrderStrategy::step_
int step_
The priority queue.
Definition AStarBondOrderStrategy.h:85
BALL::AStarBondOrderStrategy::heuristic_index_
PartialBondOrderAssignment::HEURISTIC_INDEX heuristic_index_
The chosen heuristic.
Definition AStarBondOrderStrategy.h:78
BALL::AStarBondOrderStrategy::setDefaultOptions
virtual void setDefaultOptions()
BALL::AssignBondOrderProcessor
Assignment of bond orders from topology information.
Definition assignBondOrderProcessor.h:90
BALL::BondOrderAssignmentStrategy::BondOrderAssignmentStrategy
BondOrderAssignmentStrategy(AssignBondOrderProcessor *parent)
BALL::Options
Definition options.h:48
BALL::PartialBondOrderAssignment::HEURISTIC_INDEX
HEURISTIC_INDEX
Definition partialBondOrderAssignment.h:38
BALL::String
Definition string.h:57
hashMap.h
BALL
Definition constants.h:13
partialBondOrderAssignment.h
BALL::AStarBondOrderStrategy::Default
Definition AStarBondOrderStrategy.h:49
BALL::AStarBondOrderStrategy::Default::HEURISTIC
static const String HEURISTIC
Definition AStarBondOrderStrategy.h:50
BALL::AStarBondOrderStrategy::Heuristic
Definition AStarBondOrderStrategy.h:54
BALL::AStarBondOrderStrategy::Heuristic::SIMPLE
static const String SIMPLE
Definition AStarBondOrderStrategy.h:55
BALL::AStarBondOrderStrategy::Heuristic::MEDIUM
static const String MEDIUM
Definition AStarBondOrderStrategy.h:56
BALL::AStarBondOrderStrategy::Heuristic::TIGHT
static const String TIGHT
Definition AStarBondOrderStrategy.h:57
BALL::AStarBondOrderStrategy::Option
Option names.
Definition AStarBondOrderStrategy.h:39
BALL::AStarBondOrderStrategy::Option::HEURISTIC
static const char * HEURISTIC
Definition AStarBondOrderStrategy.h:45