source: mauRepo/CedaMolesModel/trunk/ceda_moles_model/ea_model/iso_19107_2003_spatial_schema/geometry/geometric_primitive/gm_surface.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/geometric_primitive/gm_surface.py@8457
Revision 8457, 4.7 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_orientablesurface import  GM_OrientableSurface
22from ascore.utils import has_value, collectionProofHash
23
24'''
25Created on 10-Jul-2012 14:15:11
26
27@author: mnagni
28'''
29
30class GM_Surface(GM_OrientableSurface):
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_orientablesurface = GM_OrientableSurface()     
43
44                self.CRS = None
45                self.orientation = None
46                self._patch_gm_polygon = []
47                self._patch_nl_surfacepatch = []
48                self._patch_gm_parametriccurvesurface = []
49                self._patch_rectangle = []
50                self._patch = []
51                self.proxy = None
52                self.primitive = None
53                super(GM_Surface, self).__init__()
54        @property
55        def topology(self):     
56                return self._gm_orientablesurface.topology
57
58        @topology.setter
59        def topology(self, value):     
60                        self._gm_orientablesurface.topology = value
61        @property
62        def containedPrimitive(self):   
63                return self._gm_orientablesurface.containedPrimitive
64
65        @containedPrimitive.setter
66        def containedPrimitive(self, value):   
67                        self._gm_orientablesurface.containedPrimitive = value
68        @property
69        def composite(self):   
70                return self._gm_orientablesurface.composite
71
72        @composite.setter
73        def composite(self, value):     
74                        self._gm_orientablesurface.composite = value
75        @property
76        def composite(self):   
77                return self._gm_orientablesurface.composite
78
79        @composite.setter
80        def composite(self, value):     
81                        self._gm_orientablesurface.composite = value
82        @property
83        def CRS(self): 
84                return self._gm_orientablesurface.CRS
85
86        @CRS.setter
87        def CRS(self, value):   
88                        self._gm_orientablesurface.CRS = value
89        @property
90        def orientation(self): 
91                return self._gm_orientablesurface.orientation
92
93        @orientation.setter
94        def orientation(self, value):   
95                        self._gm_orientablesurface.orientation = value
96        @property
97        def patch(self):       
98                try:
99                        ret = []
100                        ret.extend(self._patch_gm_polygon)
101                        ret.extend(self._patch_nl_surfacepatch)
102                        ret.extend(self._patch_gm_parametriccurvesurface)
103                        ret.extend(self._patch_rectangle)
104                        if not hasattr(self, '_patch'):
105                                self._patch = []
106                        if self._patch is not None:
107                                ret.extend(self._patch)
108                        del self._patch[:]
109                        self._patch.extend(set(ret))
110                except Exception as e:
111                        pass
112                return self._patch
113
114        @property
115        def proxy(self):       
116                return self._gm_orientablesurface.proxy
117
118        @proxy.setter
119        def proxy(self, value):
120                        self._gm_orientablesurface.proxy = value
121        @property
122        def containingPrimitive(self): 
123                return self._gm_orientablesurface.containingPrimitive
124
125        @containingPrimitive.setter
126        def containingPrimitive(self, value):   
127                        self._gm_orientablesurface.containingPrimitive = value
128        @property
129        def complex(self):     
130                return self._gm_orientablesurface.complex
131
132        @complex.setter
133        def complex(self, value):       
134                        self._gm_orientablesurface.complex = value
135        @property
136        def primitive(self):   
137                return self._gm_orientablesurface.primitive
138
139        @primitive.setter
140        def primitive(self, value):     
141                        self._gm_orientablesurface.primitive = value
142
143        def synchronize(self):
144                int_patch = self.patch 
145                del self._patch_gm_polygon[:]
146                del self._patch_nl_surfacepatch[:]
147                del self._patch_gm_parametriccurvesurface[:]
148                del self._patch_rectangle[:]
149                for item in int_patch: 
150                        valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
151                        if valueClass == "ea_model.iso_19107_2003_spatial_schema.geometry.coordinate_geometry.gm_polygon.GM_Polygon":
152                                self._patch_gm_polygon.append(item)
153                                continue
154                        if valueClass == "ea_model.informative.xamples.norwegian_land_information_spatial_schema.nl_surfacepatch.NL_SurfacePatch":
155                                self._patch_nl_surfacepatch.append(item)
156                                continue
157                        if valueClass == "ea_model.iso_19107_2003_spatial_schema.geometry.coordinate_geometry.gm_parametriccurvesurface.GM_ParametricCurveSurface":
158                                self._patch_gm_parametriccurvesurface.append(item)
159                                continue
160                        if valueClass == "ea_model.iso_19136_gml.geometryprimitives.rectangle.Rectangle":
161                                self._patch_rectangle.append(item)
162                                continue
163                pass
164
165        def __key(self):
166                return (self.topology, self.containedPrimitive, self.composite, self.composite, self.CRS, self.orientation, self.patch, self.proxy, self.containingPrimitive, self.complex, self.primitive)
167
168        def __eq__(self, y):
169                if type(self) != type(y):
170                        return False
171                '''
172                Cannot compare classes which do not define a "__key" attribute
173                '''
174                if hasattr(self, '_%s__key' % (type(self).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)):
175                        return self.__key() == y.__key()
176                return id(self) == id(y)
177
178        def __hash__(self):
179                return collectionProofHash(self.__key())
Note: See TracBrowser for help on using the repository browser.