SpatialOp.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
4  applications.
5 
6  TerraLib is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published by
8  the Free Software Foundation, either version 3 of the License,
9  or (at your option) any later version.
10 
11  TerraLib is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public License
17  along with TerraLib. See COPYING. If not, write to
18  TerraLib Team at <terralib-team@terralib.org>.
19  */
20 
21 /*!
22  \file SpatialOp.h
23 
24  \brief A spatial operator determines whether its geometric arguments satisfy
25  the stated spatial relationship.
26  */
27 
28 #ifndef __TERRALIB_FE_INTERNAL_SPATIALOP_H
29 #define __TERRALIB_FE_INTERNAL_SPATIALOP_H
30 
31 // TerraLib
32 #include "AbstractOp.h"
33 
34 namespace te
35 {
36  namespace fe
37  {
38  /*!
39  \class SpatialOp
40 
41  \brief A spatial operator determines whether its geometric arguments
42  satisfy the stated spatial relationship.
43 
44  The operator evaluates to true if the spatial
45  relationship is satisfied. Otherwise the operator
46  evaluates to false.
47 
48  \ingroup fe
49 
50  \sa AbstractOp, BinarySpatialOp, BBOXOp, DistanceBuffer
51  */
53  {
54  public:
56 
57  /** @name Initializer Methods
58  * Methods related to instantiation and destruction.
59  */
60  //@{
61 
62  /*!
63  \brief It initializes the SpatialOp.
64 
65  \param opName The operator name.
66 
67  \note The SpatialOp will not take the ownership of the given name.
68  */
69  SpatialOp(const char* opName = 0);
70 
71  /*! \brief Virtual destructor. */
72  virtual ~SpatialOp();
73 
74  //@}
75 
76  /** @name Accessor methods
77  * Methods used to get or set properties.
78  */
79  //@{
80 
81  /*! \brief It creates a new copy of this object. */
82  AbstractOp* clone() const;
83 
84  //@}
85  };
86 
87  } // end namespace fe
88 } // end namespace te
89 
90 #endif // __TERRALIB_FE_INTERNAL_SPATIALOP_H
An abstract interface for operators.
A spatial operator determines whether its geometric arguments satisfy the stated spatial relationship...
Definition: SpatialOp.h:52
#define TEFEEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:59
TerraLib.
#define TE_DEFINE_VISITABLE
Definition: BaseVisitable.h:75
An abstract interface for operators.
Definition: AbstractOp.h:47