Loading...
Searching...
No Matches
AbstractGraphBuilder.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 AbstractGraphBuilder.h
22
23 \brief This abstract class provides the common functions for graph
24 builder classes. Each builder strategy has to implement only
25 a public function called build.
26
27*/
28
29#ifndef __TERRALIB_GRAPH_INTERNAL_ABSTRACTGRAPHBUILDER_H
30#define __TERRALIB_GRAPH_INTERNAL_ABSTRACTGRAPHBUILDER_H
31
32// Terralib Includes
33#include "../Config.h"
34
35// STL Includes
36#include <string>
37#include <vector>
38
39// BOOST Includes
40#include <boost/shared_ptr.hpp>
41
42namespace te
43{
44 namespace graph
45 {
46
47 class AbstractGraph;
48 /*!
49 \class AbstractGraphBuilder
50
51 \brief This abstract class provides the common functions for graph
52 builder classes. Each builder strategy has to implement only
53 a public function called build.
54
55 */
56
58 {
59 public:
60
61 /*! \brief Default constructor. */
63
64 /*! \brief Virtual destructor. */
66
67 /** @name Abstract Methods
68 * Method common to each graph builder
69 */
70 //@{
71
72 /*! \brief Get error message. */
73 std::string getErrorMessage();
74
75 /*! \brief Get generated graph. */
76 boost::shared_ptr<AbstractGraph> getGraph();
77
78 //@}
79
80 protected:
81
82 boost::shared_ptr<AbstractGraph> m_graph; //!< Graph object
83
84 std::string m_errorMessage; //!< Error message
85 };
86
87 } // end namespace graph
88} // end namespace te
89
90#endif // __TERRALIB_GRAPH_INTERNAL_ABSTRACTGRAPHBUILDER_H
This abstract class provides the common functions for graph builder classes. Each builder strategy ha...
AbstractGraphBuilder()
Default constructor.
std::string getErrorMessage()
Get error message.
std::string m_errorMessage
Error message.
boost::shared_ptr< AbstractGraph > m_graph
Graph object.
boost::shared_ptr< AbstractGraph > getGraph()
Get generated graph.
virtual ~AbstractGraphBuilder()
Virtual destructor.
Abstract class used to define the main functions of graph struct. All graph implementations must used...
Definition: AbstractGraph.h:56
TerraLib.
#define TEGRAPHEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:178