Ejemplo n.º 1
0
ossimQuadTreeWarpNode::~ossimQuadTreeWarpNode()
{
   removeVertices();

   theUlVertex = NULL;
   theUrVertex = NULL;
   theLrVertex = NULL;
   theLlVertex = NULL;
   
}
Ejemplo n.º 2
0
void Pgr_ksp< G >::doNextCycle() {
    // REG_SIGINT


    int64_t spurNodeId;
    Path rootPath;
    Path spurPath;

    for (unsigned int i = 0; i < curr_result_path.path.size() ; ++i) {
        // int64_t  spurEdge = curr_result_path.path[i].edge;
        spurNodeId = curr_result_path.path[i].vertex;

        rootPath = curr_result_path.getSubpath(i);

        for (pIt = m_ResultSet.begin(); pIt != m_ResultSet.end(); ++pIt) {
           if ((*pIt).isEqual(rootPath)) {
              // edge to be removed = (*pIt).path[i].edge;
              this->disconnect_edge((*pIt).path[i].vertex,     // from
                                    (*pIt).path[i+1].vertex);  // to
           }
        }
        removeVertices(rootPath);

        // int spurPathSize;

        // THROW_ON_SIGINT
        this->dijkstra(spurPath, spurNodeId , m_end);
        // THROW_ON_SIGINT

        if (spurPath.path.size() > 0) {
            rootPath.appendPath(spurPath);
            m_Heap.insert(rootPath);
        }

        this->restore_graph();
        rootPath.clear();
        spurPath.clear();
    }
}
Ejemplo n.º 3
0
void Pgr_ksp< G >::doNextCycle(G &graph) {
    // REG_SIGINT


    int64_t spurNodeId;
    Path rootPath;
    Path spurPath;

    for (unsigned int i = 0; i < curr_result_path.size() ; ++i) {
        spurNodeId = curr_result_path[i].node;

        rootPath = curr_result_path.getSubpath(i);

        for (const auto &path : m_ResultSet) {
            if (path.isEqual(rootPath)) {
                graph.disconnect_edge(path[i].node,     // from
                        path[i + 1].node);  // to
            }
        }
        removeVertices(graph, rootPath);


        // THROW_ON_SIGINT
        Pgr_dijkstra< G > fn_dijkstra;
        fn_dijkstra.dijkstra(graph, spurPath, spurNodeId, m_end);
        //this->dijkstra(spurPath, spurNodeId , m_end);
        // THROW_ON_SIGINT

        if (spurPath.size() > 0) {
            rootPath.appendPath(spurPath);
            m_Heap.insert(rootPath);
        }

        graph.restore_graph();
        rootPath.clear();
        spurPath.clear();
    }
}