GetSubGraph.h
Go to the documentation of this file.
1
/* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2
3
This file is part of the TerraLib - a Framework for building GIS enabled applications.
4
5
TerraLib is free software: you can redistribute it and/or modify
6
it under the terms of the GNU Lesser General Public License as published by
7
the Free Software Foundation, either version 3 of the License,
8
or (at your option) any later version.
9
10
TerraLib is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
GNU Lesser General Public License for more details.
14
15
You should have received a copy of the GNU Lesser General Public License
16
along with TerraLib. See COPYING. If not, write to
17
TerraLib Team at <terralib-team@terralib.org>.
18
*/
19
20
/*!
21
\file GetSubGraph.h
22
23
\brief This class defines a function used to get a sub graph for a graph
24
25
*/
26
27
#ifndef __TERRALIB_GRAPH_INTERNAL_GETSUBGRAPH_H
28
#define __TERRALIB_GRAPH_INTERNAL_GETSUBGRAPH_H
29
30
// Terralib Includes
31
#include "../Config.h"
32
33
34
// STL Includes
35
#include <string>
36
#include <set>
37
38
namespace
te
39
{
40
namespace
graph
41
{
42
// Forward declaration
43
class
AbstractGraph;
44
class
BidirectionalGraph;
45
class
Vertex;
46
47
/*!
48
\class GetSubGraph
49
50
\brief This class defines a function used to get a sub graph for a graph
51
52
*/
53
54
class
TEGRAPHEXPORT
GetSubGraph
55
{
56
public
:
57
58
/*!
59
\brief Default constructor.
60
61
\param graph Pointer to a bidirectional graph
62
63
\param outGraph Pointer to a output graph
64
65
\param vertexId origin vertex identifier
66
67
*/
68
GetSubGraph
(
te::graph::BidirectionalGraph
* graph,
te::graph::AbstractGraph
* outGraph,
int
vertexId);
69
70
/*! \brief Virtual destructor. */
71
virtual
~GetSubGraph
();
72
73
74
protected
:
75
76
/*!
77
\brief Recursive function used to calculate the deep attribute
78
79
\param v Current vertex in processing
80
81
\param g The bidirection graph
82
83
\param outGraph Pointer to a output graph
84
85
\param vertexIdSet The set of vertex already visited
86
*/
87
void
getPredecessor
(
te::graph::Vertex
* v,
te::graph::BidirectionalGraph
* g,
te::graph::AbstractGraph
* outGraph, std::set<int>& vertexIdSet);
88
};
89
90
}
// end namespace graph
91
}
// end namespace te
92
93
#endif // __TERRALIB_GRAPH_INTERNAL_GETSUBGRAPH_H
te::graph::BidirectionalGraph
This is a implementation of a Bidirectional Graph. By convention a bidirectional graph provides acces...
Definition:
BidirectionalGraph.h:57
te
TerraLib.
Definition:
AddressGeocodingOp.h:52
te::graph::GetSubGraph::GetSubGraph
GetSubGraph(te::graph::BidirectionalGraph *graph, te::graph::AbstractGraph *outGraph, int vertexId)
Default constructor.
te::graph::Vertex
From the point of view of graph theory, vertices are treated as featureless and indivisible objects,...
Definition:
Vertex.h:69
TEGRAPHEXPORT
#define TEGRAPHEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition:
Config.h:178
te::graph::GetSubGraph
This class defines a function used to get a sub graph for a graph.
Definition:
GetSubGraph.h:55
te::graph::AbstractGraph
Abstract class used to define the main functions of graph struct. All graph implementations must used...
Definition:
AbstractGraph.h:56
te::graph::GetSubGraph::getPredecessor
void getPredecessor(te::graph::Vertex *v, te::graph::BidirectionalGraph *g, te::graph::AbstractGraph *outGraph, std::set< int > &vertexIdSet)
Recursive function used to calculate the deep attribute.
te::graph::GetSubGraph::~GetSubGraph
virtual ~GetSubGraph()
Virtual destructor.
git_release
src
terralib
graph
functions
GetSubGraph.h
Generated on Fri Dec 4 2020 09:43:35 for TerraLib by
1.8.20