Class ReverseQueue

Class Documentation

class ReverseQueue

Public Functions

ReverseQueue(const std::shared_ptr<const ompl::base::OptimizationObjective> &objective, const std::shared_ptr<const ompl::base::StateSpace> &space, const bool isQueueCostOrdered)

Constructs the queue with the given optimization objective and state space.

~ReverseQueue() = default

Destructs this queue.

bool empty() const

Returns whether the queue is empty.

std::size_t size() const

Returns the number of elements in the queue.

void insertOrUpdate(const Edge &edge)

Inserts or updates an element in the queue.

void insertOrUpdate(const std::vector<Edge> &edges)

Inserts or updates multiple elements in the queue.

const Edge &peek() const

Get a reference to the top edge in the queue.

unsigned int peekEffort() const

Get the effort corresponding to the top edge of the queue.

Edge pop()

Returns and deletes the top element of the queue.

void setCostQueueOrder(const bool isQueueCostOrdered)

Updates the queue ordering depending on the given suboptimality factor.

ompl::base::Cost getLowerBoundOnOptimalSolutionCost() const

Returns a lower bound on the resolution-optimal solution cost.

void clear()

Clears the queue, i.e., deletes all elements from it.

std::vector<Edge> getEdges() const

Copies all edges into a vector and returns the vector.

void rebuild()

Rebuilds the queue.

void removeOutgoingEdges(const std::shared_ptr<Vertex> &vertex)

Removes the outgoing edges of a vertex from the queue.

unsigned int computeAdmissibleSolutionEffort(const Edge &edge) const

Returns the admissible total potential effort of an edge.

ompl::base::Cost computeAdmissibleSolutionCost(const Edge &edge) const

Returns the admissible total potential solution cost of an edge.