BALL  1.5.0
AStarBondOrderStrategy.h
Go to the documentation of this file.
1 #ifndef BALL_STRUCTURE_BONDORDERS_ASTARBONDORDERSTRATEGY_H
2 #define BALL_STRUCTURE_BONDORDERS_ASTARBONDORDERSTRATEGY_H
3 
4 #ifndef BALL_STRUCTURE_BONDORDERS_BONDORDERASSIGNMENTSTRATEGY_H
6 #endif
7 
8 #ifndef BALL_STRUCTURE_BONDORDERS_PARTIALBONDORDERASSIGNMENT_H
10 #endif
11 
12 #ifndef BALL_STRUCTURE_BONDORDERS_BONDORDERASSIGNMENT_H
14 #endif
15 
16 #ifndef BALL_DATATYPE_HASHMAP_H
17 # include <BALL/DATATYPE/hashMap.h>
18 #endif
19 
20 #include <queue>
21 
22 namespace BALL
23 {
32  {
33  public:
37  struct BALL_EXPORT Option
39  {
45  static const char* HEURISTIC;
46  };
47 
49  {
50  static const String HEURISTIC;
51  };
52 
54  {
55  static const String SIMPLE;
56  static const String MEDIUM;
57  static const String TIGHT;
58  };
60 
62 
63  virtual ~AStarBondOrderStrategy();
64 
65  virtual void clear();
66  virtual void init();
67 
68  virtual bool readOptions(const Options& options);
69  virtual void setDefaultOptions();
70 
71  virtual boost::shared_ptr<BondOrderAssignment> computeNextSolution();
72 
73  protected:
74 
75 
76 
79 
80  std::priority_queue<PartialBondOrderAssignment> queue_;
81 
83  // The current number of node expansions.
84  // step_ + queue_.size() gives the number of touched nodes.
85  int step_;
86  };
87 
88 }
89 #endif // BALL_STRUCTURE_BONDORDERS_ASTARBONDORDERSTRATEGY_H
BALL::AStarBondOrderStrategy::Option
Option names.
Definition: AStarBondOrderStrategy.h:38
BALL::AStarBondOrderStrategy::clear
virtual void clear()
BALL::Options
Definition: options.h:46
BALL::AStarBondOrderStrategy::Heuristic::TIGHT
static const String TIGHT
Definition: AStarBondOrderStrategy.h:57
hashMap.h
bondOrderAssignment.h
BALL::AStarBondOrderStrategy::heuristic_index_
PartialBondOrderAssignment::HEURISTIC_INDEX heuristic_index_
The chosen heuristic.
Definition: AStarBondOrderStrategy.h:78
BALL::AStarBondOrderStrategy::step_
int step_
The priority queue.
Definition: AStarBondOrderStrategy.h:85
BALL::AStarBondOrderStrategy::~AStarBondOrderStrategy
virtual ~AStarBondOrderStrategy()
BALL::AStarBondOrderStrategy::Heuristic
Definition: AStarBondOrderStrategy.h:53
BALL::AStarBondOrderStrategy::computeNextSolution
virtual boost::shared_ptr< BondOrderAssignment > computeNextSolution()
BALL::String
Definition: string.h:56
BALL::AssignBondOrderProcessor
Assignment of bond orders from topology information.
Definition: assignBondOrderProcessor.h:88
bondOrderAssignmentStrategy.h
BALL
Definition: constants.h:12
BALL::BondOrderAssignmentStrategy
Base class for bond order assignment algorithms.
Definition: bondOrderAssignmentStrategy.h:26
BALL::AStarBondOrderStrategy::init
virtual void init()
BALL::AStarBondOrderStrategy::Default
Definition: AStarBondOrderStrategy.h:48
BALL::AStarBondOrderStrategy
Definition: AStarBondOrderStrategy.h:30
BALL::AStarBondOrderStrategy::Option::HEURISTIC
static const char * HEURISTIC
Definition: AStarBondOrderStrategy.h:45
BALL::PartialBondOrderAssignment::HEURISTIC_INDEX
HEURISTIC_INDEX
Definition: partialBondOrderAssignment.h:37
BALL::AStarBondOrderStrategy::setDefaultOptions
virtual void setDefaultOptions()
partialBondOrderAssignment.h
BALL::AStarBondOrderStrategy::AStarBondOrderStrategy
AStarBondOrderStrategy(AssignBondOrderProcessor *parent)
BALL::AStarBondOrderStrategy::Heuristic::MEDIUM
static const String MEDIUM
Definition: AStarBondOrderStrategy.h:56
BALL::AStarBondOrderStrategy::queue_
std::priority_queue< PartialBondOrderAssignment > queue_
Definition: AStarBondOrderStrategy.h:80
BALL_EXPORT
#define BALL_EXPORT
Definition: COMMON/global.h:50
BALL::AStarBondOrderStrategy::Heuristic::SIMPLE
static const String SIMPLE
Definition: AStarBondOrderStrategy.h:55
BALL::AStarBondOrderStrategy::readOptions
virtual bool readOptions(const Options &options)
BALL::AStarBondOrderStrategy::Default::HEURISTIC
static const String HEURISTIC
Definition: AStarBondOrderStrategy.h:50