Loading...
Searching...
No Matches
Function.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 terralib/se/Function.h
22
23 \brief Symbology Encoding functions.
24*/
25
26#ifndef __TERRALIB_SE_INTERNAL_FUNCTION_H
27#define __TERRALIB_SE_INTERNAL_FUNCTION_H
28
29// TerraLib
30#include "../fe/Expression.h"
31#include "Config.h"
32
33// STL
34#include <string>
35
36namespace te
37{
38 namespace se
39 {
40 /*!
41 \class Function
42
43 \brief Symbology Encoding functions.
44
45 Symbology Encoding extends the concept of ogc::fe::Expression
46 inherited from Filter Encoding to adequately support the needs
47 of symbolization in transforming and editing data. It does so
48 by introducing a couple of functions (ogc::se::Function) which
49 are substitutable for ogc::fe::expression.<br>
50 There are two general groups of functions for usage in SE.
51 The first group is used to transform raw values into
52 "symbolizable" quantities. This especially comprises the
53 processes of categorization, recoding, and interpolation.
54 This group of functions is especially useful in all places
55 using SvgParameters, making them dynamically related to data
56 values. The second group defines means for formatting data
57 items like numbers, strings, and dates. These functions are
58 especially helpful to set up the Label element of TextSymbolizers.
59
60 \sa FormatNumber, FormatDate, Substring,
61 Concatenate, ChangeCase, Trim,
62 StringPosition, StringLength, Categorize,
63 Interpolate, Recode
64 */
66 {
67 public:
68
69 /** @name Initializer Methods
70 * Methods related to instantiation and destruction.
71 */
72 //@{
73
74 /*! \brief It initializes a new Function. */
76
77 /*! \brief Virtual destructor. */
78 virtual ~Function();
79
80 //@}
81
82 void setFallbackValue(const std::string& v);
83
84 const std::string& getFallbackValue() const;
85
86 protected:
87
88 std::string m_fallbackValue; //!< The value of the fallbackValue attribute is used as a default value, if the SE implementation does not support the function. If the implementation supports the function, then the result value is determined by executing the function. (Mandatory)
89 };
90
91 } // end namespace se
92} // end namespace te
93
94#endif // __TERRALIB_SE_INTERNAL_FUNCTION_H
95
This is an abstract class that models a Filter Encoding expression.
Definition: Expression.h:51
Symbology Encoding functions.
Definition: Function.h:66
virtual ~Function()
Virtual destructor.
const std::string & getFallbackValue() const
Function()
It initializes a new Function.
void setFallbackValue(const std::string &v)
std::string m_fallbackValue
The value of the fallbackValue attribute is used as a default value, if the SE implementation does no...
Definition: Function.h:88
TerraLib.
#define TESEEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:201
Proxy configuration file for TerraView (see terraview_config.h).