All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Module.cpp
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 Module.cpp
22 
23  \brief This singleton defines the TerraLib Vector Geometry module entry.
24 */
25 
26 // TerraLib
27 #include "../common/Logger.h"
28 #include "../common/TerraLib.h"
29 #include "../common/Translator.h"
30 #include "../datatype/DataConverterManager.h"
31 #include "../datatype/Enums.h"
32 #include "Geometry.h"
33 #include "GeometryConverters.h"
34 #include "GEOSGeometryFactory.h"
35 #include "Module.h"
36 #include "AffineGTFactory.h"
37 #include "ProjectiveGTFactory.h"
38 #include "RSTGTFactory.h"
41 
43 
45 {
49  };
50 
51 // initialize TerraLib singleton
53 }
54 
56 {
58 }
59 
61 {
62 // it loads the geometry type id map
64 
65 #ifdef TERRALIB_GEOS_ENABLED
66 // it initializes the GEOS Geometry Factory
67  te::gm::GEOSGeometryFactory::initialize();
68 #endif
69 
70 // registering data type converters
75 
81 
82  TE_LOG_TRACE(TE_TR("TerraLib Vector Geometry module Initialized!"));
83 }
84 
86 {
87 #ifdef TERRALIB_GEOS_ENABLED
88 // it finalizes the GEOS Geometry Factory
89  te::gm::GEOSGeometryFactory::finalize();
90 #endif
91 
97 
98  TE_LOG_TRACE(TE_TR("TerraLib Vector Geometry module Finalized!"));
99 }
100 
101 
#define TE_LOG_TRACE(msg)
Use this tag in order to log a message to a specified logger with the TRACE level.
Definition: Logger.h:137
A set of function that convert a Geometry type to other types and vice-versa.
This singleton defines the TerraLib Vector Geometry module entry.
static void initialize()
Initialize the factory.
#define TE_GEOMETRY_MODULE_NAME
Definition: Config.h:32
The global factory used by TerraLib in order to create GEOS geometries.
static void loadGeomTypeId()
It loads the internal MAP of geometry type names to geometry type ids.
Definition: Geometry.cpp:648
static void finalize()
Finalize the factory.
te::dt::AbstractData * GeometryToByteArrayConverter(te::dt::AbstractData *d)
It converts a Geometry data value to a ByteArray data value.
This singleton defines the TerraLib Vector Geometry module entry.
Definition: Module.h:41
static void finalize()
Finalize the factory.
#define TE_TR(message)
It marks a string in order to get translated.
Definition: Translator.h:347
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
2D Projective Geometric transformation factory.
2D Third Degree Polynomial Geometric transformation factory.
2D RST Geometric transformation factory.
te::dt::AbstractData * GeometryToStringConverter(te::dt::AbstractData *d)
It converts a Geometry data value to a String data value.
te::dt::AbstractData * ByteArrayToGeometryConverter(te::dt::AbstractData *d)
It converts a ByteArray data value to a Geometry data value.
static Module & getInstance()
It returns a reference to the singleton instance.
void remove(const std::string &moduleName)
It removes the module entry identified by the given name.
Definition: TerraLib.cpp:101
const te::addressgeocoding::Module & sm_module
Definition: Module.cpp:33
void add(const Module &m)
It registers the module in the TerraLib Platform.
Definition: TerraLib.cpp:95
2D Second Degree Polynomial Geometric transformation factory.
static void finalize()
This is the cleanup function for the TerraLib Geometry module.
Definition: Module.cpp:85
static void initialize()
Initialize the factory.
static void initialize()
Initialize the factory.
This internal structure is used to model the basic information about a TerraLib module.
Definition: TerraLib.h:97
2D Affine Geometric transformation factory.
Module()
The singleton constructor is not callable outside the class.
Definition: Module.cpp:44
static void initialize()
This is the startup function for the TerraLib Geometry module.
Definition: Module.cpp:60
te::dt::AbstractData * StringToGeometryConverter(te::dt::AbstractData *d)
It converts a String data value to a Geometry data value.
static void initialize()
Initialize the factory.
static void finalize()
Finalize the factory.
static void initialize()
Initialize the factory.