source: mauRepo/CedaMolesModel/trunk/ceda_moles_model/ea_model/iso_19107_2003_spatial_schema/geometry/coordinate_geometry/gm_polygon.py @ 8457

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/mauRepo/CedaMolesModel/trunk/ceda_moles_model/ea_model/iso_19107_2003_spatial_schema/geometry/coordinate_geometry/gm_polygon.py@8457
Revision 8457, 2.9 KB checked in by mnagni, 7 years ago (diff)

Corrected an error in the generation of the classes "synchronize" method.

  • Property svn:mime-type set to text/plain
Line 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21from ea_model.iso_19107_2003_spatial_schema.geometry.geometric_primitive.gm_surfacepatch import  GM_SurfacePatch
22from ascore.utils import has_value, collectionProofHash
23
24'''
25Created on 10-Jul-2012 14:15:10
26
27@author: mnagni
28'''
29
30class GM_Polygon(GM_SurfacePatch):
31        '''
32                Represents a data entity defined in a UML diagram and supposed to
33                be persisted in a relational database.
34 
35                This class has been genererated automatically using the Apache Velocity project.
36        '''
37        '''
38                Please note that any access to the inner attributes should be done using
39                the given get/set methods and NOT accessing them directly.
40        '''
41        def __init__(self):
42                self._gm_surfacepatch = GM_SurfacePatch()       
43
44                self.interpolation = None
45                self.surface = None
46                self.surface = None
47                self.numDerivativesOnBoundary = None
48                self._spanningSurface_polygon = None
49                self._spanningSurface_gm_polyhedralsurface = None
50                self._spanningSurface = None
51                self.boundary = None
52                super(GM_Polygon, self).__init__()
53        @property
54        def interpolation(self):       
55                return self._gm_surfacepatch.interpolation
56
57        @interpolation.setter
58        def interpolation(self, value):
59                        self._gm_surfacepatch.interpolation = value
60        @property
61        def surface(self):     
62                return self._gm_surfacepatch.surface
63
64        @surface.setter
65        def surface(self, value):       
66                        self._gm_surfacepatch.surface = value
67        @property
68        def numDerivativesOnBoundary(self):     
69                return self._gm_surfacepatch.numDerivativesOnBoundary
70
71        @numDerivativesOnBoundary.setter
72        def numDerivativesOnBoundary(self, value):     
73                        self._gm_surfacepatch.numDerivativesOnBoundary = value
74        @property
75        def spanningSurface(self):     
76                if(has_value(self._spanningSurface_polygon)):
77                        return self._spanningSurface_polygon
78                if(has_value(self._spanningSurface_gm_polyhedralsurface)):
79                        return self._spanningSurface_gm_polyhedralsurface
80                return  None
81
82        @spanningSurface.setter
83        def spanningSurface(self, value):       
84                valueClass = "%s.%s" % (type(value).__module__,type(value).__name__)
85                if valueClass == "ea_model.iso_19136_gml.geometry2d.polygon.Polygon":
86                        self._spanningSurface_polygon = value
87                        self._spanningSurface_gm_polyhedralsurface = None
88                if valueClass == "ea_model.iso_19107_2003_spatial_schema.geometry.coordinate_geometry.gm_polyhedralsurface.GM_PolyhedralSurface":
89                        self._spanningSurface_gm_polyhedralsurface = value
90                        self._spanningSurface_polygon = None
91
92        def synchronize(self):
93                pass
94
95        def __key(self):
96                return (self.interpolation, self.surface, self.surface, self.numDerivativesOnBoundary, self.spanningSurface, self.boundary)
97
98        def __eq__(self, y):
99                if type(self) != type(y):
100                        return False
101                '''
102                Cannot compare classes which do not define a "__key" attribute
103                '''
104                if hasattr(self, '_%s__key' % (type(self).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)):
105                        return self.__key() == y.__key()
106                return id(self) == id(y)
107
108        def __hash__(self):
109                return collectionProofHash(self.__key())
Note: See TracBrowser for help on using the repository browser.