Ignore:
Timestamp:
03/02/12 13:48:25 (9 years ago)
Author:
mnagni
Message:

Fixed the multiple CI_Party INSERT in the DB
Refactored the ingestion thanks to the new eq method in the imported classes DB library

Location:
mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology
Files:
22 edited

Legend:

Unmodified
Added
Removed
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_complex/tp_complex.py

    r8074 r8086  
     1 
    12 
    23 
     
    1718 
    1819''' 
    19 Created on 26-Jan-2012 16:07:38 
     20Created on 03-Feb-2012 10:41:17 
    2021 
    2122@author: mnagni 
     
    4041        self.geometry = None 
    4142        self._element_tp_face = [] 
     43        self._element_tp_solid = [] 
    4244        self._element_tp_node = [] 
    4345        self._element_tp_edge = [] 
    44         self._element_tp_solid = [] 
    4546        self._element_tp_directedtopo = [] 
    4647        super(TP_Complex, self).__init__() 
     
    5859        if(self._element_tp_face is not None): 
    5960            return self._element_tp_face 
     61        if(self._element_tp_solid is not None): 
     62            return self._element_tp_solid 
    6063        if(self._element_tp_node is not None): 
    6164            return self._element_tp_node 
    6265        if(self._element_tp_edge is not None): 
    6366            return self._element_tp_edge 
    64         if(self._element_tp_solid is not None): 
    65             return self._element_tp_solid 
    6667        if(self._element_tp_directedtopo is not None): 
    6768            return self._element_tp_directedtopo 
     
    7374        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_face.TP_Face": 
    7475            self._element_tp_face = value 
     76            self._element_tp_solid = None 
    7577            self._element_tp_node = None 
    7678            self._element_tp_edge = None 
    77             self._element_tp_solid = None 
    78             self._element_tp_directedtopo = None 
    79         if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_node.TP_Node": 
    80             self._element_tp_node = value 
    81             self._element_tp_face = None 
    82             self._element_tp_edge = None 
    83             self._element_tp_solid = None 
    84             self._element_tp_directedtopo = None 
    85         if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_edge.TP_Edge": 
    86             self._element_tp_edge = value 
    87             self._element_tp_face = None 
    88             self._element_tp_node = None 
    89             self._element_tp_solid = None 
    9079            self._element_tp_directedtopo = None 
    9180        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_solid.TP_Solid": 
     
    9584            self._element_tp_edge = None 
    9685            self._element_tp_directedtopo = None 
     86        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_node.TP_Node": 
     87            self._element_tp_node = value 
     88            self._element_tp_face = None 
     89            self._element_tp_solid = None 
     90            self._element_tp_edge = None 
     91            self._element_tp_directedtopo = None 
     92        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_edge.TP_Edge": 
     93            self._element_tp_edge = value 
     94            self._element_tp_face = None 
     95            self._element_tp_solid = None 
     96            self._element_tp_node = None 
     97            self._element_tp_directedtopo = None 
    9798        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_directedtopo.TP_DirectedTopo": 
    9899            self._element_tp_directedtopo = value 
    99100            self._element_tp_face = None 
     101            self._element_tp_solid = None 
    100102            self._element_tp_node = None 
    101103            self._element_tp_edge = None 
    102             self._element_tp_solid = None 
     104 
     105    def __key(self): 
     106        return (self.maximalComplex, self.superComplex, self.subComplex, self.geometry, self.element) 
     107 
     108    def __eq__(x, y): 
     109        ''' 
     110        Cannot compare classes which do not define a "__key" attribute  
     111        ''' 
     112        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     113            return x.__key() == y.__key() 
     114        return id(x) == id(y) 
     115 
     116    def __hash__(self): 
     117        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_boundary.py

    r8074 r8086  
     1 
    12 
    23 
     
    1819 
    1920''' 
    20 Created on 26-Jan-2012 16:07:36 
     21Created on 03-Feb-2012 10:41:13 
    2122 
    2223@author: mnagni 
     
    4647    @term.setter 
    4748    def term(self, value): 
    48              self._tp_expression.term = value 
     49            self._tp_expression.term = value 
     50 
     51    def __key(self): 
     52        return (self.term) 
     53 
     54    def __eq__(x, y): 
     55        ''' 
     56        Cannot compare classes which do not define a "__key" attribute  
     57        ''' 
     58        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     59            return x.__key() == y.__key() 
     60        return id(x) == id(y) 
     61 
     62    def __hash__(self): 
     63        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_complexboundary.py

    r8074 r8086  
     1 
    12 
    23 
     
    1819 
    1920''' 
    20 Created on 26-Jan-2012 16:07:37 
     21Created on 03-Feb-2012 10:41:17 
    2122 
    2223@author: mnagni 
     
    4647    @term.setter 
    4748    def term(self, value): 
    48              self._tp_boundary.term = value 
     49            self._tp_boundary.term = value 
     50 
     51    def __key(self): 
     52        return (self.term) 
     53 
     54    def __eq__(x, y): 
     55        ''' 
     56        Cannot compare classes which do not define a "__key" attribute  
     57        ''' 
     58        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     59            return x.__key() == y.__key() 
     60        return id(x) == id(y) 
     61 
     62    def __hash__(self): 
     63        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_directededge.py

    r8074 r8086  
     1 
    12 
    23 
     
    1819 
    1920''' 
    20 Created on 26-Jan-2012 16:07:34 
     21Created on 03-Feb-2012 10:41:12 
    2122 
    2223@author: mnagni 
     
    3839 
    3940        self._isolated_tp_face = [] 
     41        self._isolated_tp_solid = [] 
    4042        self._isolated_tp_node = [] 
    4143        self._isolated_tp_edge = [] 
    42         self._isolated_tp_solid = [] 
    4344        self._isolated_tp_directedtopo = [] 
    4445        self._topo_tp_face = None 
     46        self._topo_tp_solid = None 
    4547        self._topo_tp_node = None 
    4648        self._topo_tp_edge = None 
    47         self._topo_tp_solid = None 
    4849        self._topo_tp_directedtopo = None 
    4950        self.topo = None 
     
    5152        self.orientation = None 
    5253        self.hub = None 
     54        self._proxy_tp_directededge = None 
    5355        self._proxy_tp_directedface = None 
    5456        self._proxy_tp_directednode = None 
    55         self._proxy_tp_directededge = None 
    5657        self._proxy_tp_directedsolid = None 
     58        self._geometry_gm_point = None 
     59        self._geometry_gm_orientableprimitive = None 
    5760        self._geometry_gm_solid = None 
    58         self._geometry_gm_orientableprimitive = None 
    59         self._geometry_gm_point = None 
    6061        self.complex = [] 
    6162        self.primitive = [] 
    6263        self._container_tp_face = None 
     64        self._container_tp_solid = None 
    6365        self._container_tp_node = None 
    6466        self._container_tp_edge = None 
    65         self._container_tp_solid = None 
    6667        self._container_tp_directedtopo = None 
    6768        self.term = [] 
     
    7475    @isolated.setter 
    7576    def isolated(self, value): 
    76              self._tp_directedtopo.isolated = value 
     77            self._tp_directedtopo.isolated = value 
    7778 
    7879    @property 
     
    8283    @topo.setter 
    8384    def topo(self, value): 
    84              self._tp_directedtopo.topo = value 
     85            self._tp_directedtopo.topo = value 
    8586 
    8687 
     
    9293    @maximalComplex.setter 
    9394    def maximalComplex(self, value): 
    94              self._tp_directedtopo.maximalComplex = value 
     95            self._tp_directedtopo.maximalComplex = value 
    9596 
    9697    @property 
     
    100101    @orientation.setter 
    101102    def orientation(self, value): 
    102              self._tp_directedtopo.orientation = value 
     103            self._tp_directedtopo.orientation = value 
    103104 
    104105 
     
    110111    @proxy.setter 
    111112    def proxy(self, value): 
    112              self._tp_directedtopo.proxy = value 
     113            self._tp_directedtopo.proxy = value 
    113114 
    114115    @property 
     
    118119    @geometry.setter 
    119120    def geometry(self, value): 
    120              self._tp_directedtopo.geometry = value 
     121            self._tp_directedtopo.geometry = value 
    121122 
    122123    @property 
     
    126127    @complex.setter 
    127128    def complex(self, value): 
    128              self._tp_directedtopo.complex = value 
     129            self._tp_directedtopo.complex = value 
    129130 
    130131 
     
    136137    @container.setter 
    137138    def container(self, value): 
    138              self._tp_directedtopo.container = value 
     139            self._tp_directedtopo.container = value 
    139140 
    140141    @property 
     
    144145    @term.setter 
    145146    def term(self, value): 
    146              self._tp_directedtopo.term = value 
     147            self._tp_directedtopo.term = value 
     148 
     149    def __key(self): 
     150        return (self.isolated, self.topo, self.topo, self.maximalComplex, self.orientation, self.hub, self.proxy, self.geometry, self.complex, self.primitive, self.container, self.term) 
     151 
     152    def __eq__(x, y): 
     153        ''' 
     154        Cannot compare classes which do not define a "__key" attribute  
     155        ''' 
     156        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     157            return x.__key() == y.__key() 
     158        return id(x) == id(y) 
     159 
     160    def __hash__(self): 
     161        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_directedface.py

    r8074 r8086  
     1 
    12 
    23 
     
    1819 
    1920''' 
    20 Created on 26-Jan-2012 16:07:35 
     21Created on 03-Feb-2012 10:41:09 
    2122 
    2223@author: mnagni 
     
    3839 
    3940        self._isolated_tp_face = [] 
     41        self._isolated_tp_solid = [] 
    4042        self._isolated_tp_node = [] 
    4143        self._isolated_tp_edge = [] 
    42         self._isolated_tp_solid = [] 
    4344        self._isolated_tp_directedtopo = [] 
    4445        self._topo_tp_face = None 
     46        self._topo_tp_solid = None 
    4547        self._topo_tp_node = None 
    4648        self._topo_tp_edge = None 
    47         self._topo_tp_solid = None 
    4849        self._topo_tp_directedtopo = None 
    4950        self.topo = None 
     
    5152        self.orientation = None 
    5253        self.hub = [] 
     54        self._proxy_tp_directededge = None 
    5355        self._proxy_tp_directedface = None 
    5456        self._proxy_tp_directednode = None 
    55         self._proxy_tp_directededge = None 
    5657        self._proxy_tp_directedsolid = None 
     58        self._geometry_gm_point = None 
     59        self._geometry_gm_orientableprimitive = None 
    5760        self._geometry_gm_solid = None 
    58         self._geometry_gm_orientableprimitive = None 
    59         self._geometry_gm_point = None 
    6061        self.complex = [] 
    6162        self.primitive = [] 
    6263        self._container_tp_face = None 
     64        self._container_tp_solid = None 
    6365        self._container_tp_node = None 
    6466        self._container_tp_edge = None 
    65         self._container_tp_solid = None 
    6667        self._container_tp_directedtopo = None 
    6768        self.term = [] 
     
    7475    @isolated.setter 
    7576    def isolated(self, value): 
    76              self._tp_directedtopo.isolated = value 
     77            self._tp_directedtopo.isolated = value 
    7778 
    7879    @property 
     
    8283    @topo.setter 
    8384    def topo(self, value): 
    84              self._tp_directedtopo.topo = value 
     85            self._tp_directedtopo.topo = value 
    8586 
    8687 
     
    9293    @maximalComplex.setter 
    9394    def maximalComplex(self, value): 
    94              self._tp_directedtopo.maximalComplex = value 
     95            self._tp_directedtopo.maximalComplex = value 
    9596 
    9697    @property 
     
    100101    @orientation.setter 
    101102    def orientation(self, value): 
    102              self._tp_directedtopo.orientation = value 
     103            self._tp_directedtopo.orientation = value 
    103104 
    104105 
     
    110111    @proxy.setter 
    111112    def proxy(self, value): 
    112              self._tp_directedtopo.proxy = value 
     113            self._tp_directedtopo.proxy = value 
    113114 
    114115    @property 
     
    118119    @geometry.setter 
    119120    def geometry(self, value): 
    120              self._tp_directedtopo.geometry = value 
     121            self._tp_directedtopo.geometry = value 
    121122 
    122123    @property 
     
    126127    @complex.setter 
    127128    def complex(self, value): 
    128              self._tp_directedtopo.complex = value 
     129            self._tp_directedtopo.complex = value 
    129130 
    130131 
     
    136137    @container.setter 
    137138    def container(self, value): 
    138              self._tp_directedtopo.container = value 
     139            self._tp_directedtopo.container = value 
    139140 
    140141    @property 
     
    144145    @term.setter 
    145146    def term(self, value): 
    146              self._tp_directedtopo.term = value 
     147            self._tp_directedtopo.term = value 
     148 
     149    def __key(self): 
     150        return (self.isolated, self.topo, self.topo, self.maximalComplex, self.orientation, self.hub, self.proxy, self.geometry, self.complex, self.primitive, self.container, self.term) 
     151 
     152    def __eq__(x, y): 
     153        ''' 
     154        Cannot compare classes which do not define a "__key" attribute  
     155        ''' 
     156        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     157            return x.__key() == y.__key() 
     158        return id(x) == id(y) 
     159 
     160    def __hash__(self): 
     161        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_directednode.py

    r8074 r8086  
     1 
    12 
    23 
     
    1819 
    1920''' 
    20 Created on 26-Jan-2012 16:07:32 
     21Created on 03-Feb-2012 10:41:11 
    2122 
    2223@author: mnagni 
     
    3839 
    3940        self._isolated_tp_face = [] 
     41        self._isolated_tp_solid = [] 
    4042        self._isolated_tp_node = [] 
    4143        self._isolated_tp_edge = [] 
    42         self._isolated_tp_solid = [] 
    4344        self._isolated_tp_directedtopo = [] 
    4445        self._topo_tp_face = None 
     46        self._topo_tp_solid = None 
    4547        self._topo_tp_node = None 
    4648        self._topo_tp_edge = None 
    47         self._topo_tp_solid = None 
    4849        self._topo_tp_directedtopo = None 
    4950        self.topo = None 
    5051        self.maximalComplex = None 
    5152        self.orientation = None 
     53        self._proxy_tp_directededge = None 
    5254        self._proxy_tp_directedface = None 
    5355        self._proxy_tp_directednode = None 
    54         self._proxy_tp_directededge = None 
    5556        self._proxy_tp_directedsolid = None 
     57        self._geometry_gm_point = None 
     58        self._geometry_gm_orientableprimitive = None 
    5659        self._geometry_gm_solid = None 
    57         self._geometry_gm_orientableprimitive = None 
    58         self._geometry_gm_point = None 
    5960        self.complex = [] 
    6061        self.primitive = [] 
    6162        self._container_tp_face = None 
     63        self._container_tp_solid = None 
    6264        self._container_tp_node = None 
    6365        self._container_tp_edge = None 
    64         self._container_tp_solid = None 
    6566        self._container_tp_directedtopo = None 
    6667        self.term = [] 
     
    7374    @isolated.setter 
    7475    def isolated(self, value): 
    75              self._tp_directedtopo.isolated = value 
     76            self._tp_directedtopo.isolated = value 
    7677 
    7778    @property 
     
    8182    @topo.setter 
    8283    def topo(self, value): 
    83              self._tp_directedtopo.topo = value 
     84            self._tp_directedtopo.topo = value 
    8485 
    8586 
     
    9192    @maximalComplex.setter 
    9293    def maximalComplex(self, value): 
    93              self._tp_directedtopo.maximalComplex = value 
     94            self._tp_directedtopo.maximalComplex = value 
    9495 
    9596    @property 
     
    99100    @orientation.setter 
    100101    def orientation(self, value): 
    101              self._tp_directedtopo.orientation = value 
     102            self._tp_directedtopo.orientation = value 
    102103 
    103104    @property 
     
    107108    @proxy.setter 
    108109    def proxy(self, value): 
    109              self._tp_directedtopo.proxy = value 
     110            self._tp_directedtopo.proxy = value 
    110111 
    111112    @property 
     
    115116    @geometry.setter 
    116117    def geometry(self, value): 
    117              self._tp_directedtopo.geometry = value 
     118            self._tp_directedtopo.geometry = value 
    118119 
    119120    @property 
     
    123124    @complex.setter 
    124125    def complex(self, value): 
    125              self._tp_directedtopo.complex = value 
     126            self._tp_directedtopo.complex = value 
    126127 
    127128 
     
    133134    @container.setter 
    134135    def container(self, value): 
    135              self._tp_directedtopo.container = value 
     136            self._tp_directedtopo.container = value 
    136137 
    137138    @property 
     
    141142    @term.setter 
    142143    def term(self, value): 
    143              self._tp_directedtopo.term = value 
     144            self._tp_directedtopo.term = value 
     145 
     146    def __key(self): 
     147        return (self.isolated, self.topo, self.topo, self.maximalComplex, self.orientation, self.proxy, self.geometry, self.complex, self.primitive, self.container, self.term) 
     148 
     149    def __eq__(x, y): 
     150        ''' 
     151        Cannot compare classes which do not define a "__key" attribute  
     152        ''' 
     153        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     154            return x.__key() == y.__key() 
     155        return id(x) == id(y) 
     156 
     157    def __hash__(self): 
     158        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_directedsolid.py

    r8074 r8086  
     1 
    12 
    23 
     
    1819 
    1920''' 
    20 Created on 26-Jan-2012 16:07:35 
     21Created on 03-Feb-2012 10:41:18 
    2122 
    2223@author: mnagni 
     
    3839 
    3940        self._isolated_tp_face = [] 
     41        self._isolated_tp_solid = [] 
    4042        self._isolated_tp_node = [] 
    4143        self._isolated_tp_edge = [] 
    42         self._isolated_tp_solid = [] 
    4344        self._isolated_tp_directedtopo = [] 
    4445        self._topo_tp_face = None 
     46        self._topo_tp_solid = None 
    4547        self._topo_tp_node = None 
    4648        self._topo_tp_edge = None 
    47         self._topo_tp_solid = None 
    4849        self._topo_tp_directedtopo = None 
    4950        self.topo = None 
     
    5152        self.orientation = None 
    5253        self.hub = [] 
     54        self._proxy_tp_directededge = None 
    5355        self._proxy_tp_directedface = None 
    5456        self._proxy_tp_directednode = None 
    55         self._proxy_tp_directededge = None 
    5657        self._proxy_tp_directedsolid = None 
     58        self._geometry_gm_point = None 
     59        self._geometry_gm_orientableprimitive = None 
    5760        self._geometry_gm_solid = None 
    58         self._geometry_gm_orientableprimitive = None 
    59         self._geometry_gm_point = None 
    6061        self.complex = [] 
    6162        self._container_tp_face = None 
     63        self._container_tp_solid = None 
    6264        self._container_tp_node = None 
    6365        self._container_tp_edge = None 
    64         self._container_tp_solid = None 
    6566        self._container_tp_directedtopo = None 
    6667        self.term = [] 
     
    7374    @isolated.setter 
    7475    def isolated(self, value): 
    75              self._tp_directedtopo.isolated = value 
     76            self._tp_directedtopo.isolated = value 
    7677 
    7778    @property 
     
    8182    @topo.setter 
    8283    def topo(self, value): 
    83              self._tp_directedtopo.topo = value 
     84            self._tp_directedtopo.topo = value 
    8485 
    8586 
     
    9192    @maximalComplex.setter 
    9293    def maximalComplex(self, value): 
    93              self._tp_directedtopo.maximalComplex = value 
     94            self._tp_directedtopo.maximalComplex = value 
    9495 
    9596    @property 
     
    99100    @orientation.setter 
    100101    def orientation(self, value): 
    101              self._tp_directedtopo.orientation = value 
     102            self._tp_directedtopo.orientation = value 
    102103 
    103104 
     
    109110    @proxy.setter 
    110111    def proxy(self, value): 
    111              self._tp_directedtopo.proxy = value 
     112            self._tp_directedtopo.proxy = value 
    112113 
    113114    @property 
     
    117118    @geometry.setter 
    118119    def geometry(self, value): 
    119              self._tp_directedtopo.geometry = value 
     120            self._tp_directedtopo.geometry = value 
    120121 
    121122    @property 
     
    125126    @complex.setter 
    126127    def complex(self, value): 
    127              self._tp_directedtopo.complex = value 
     128            self._tp_directedtopo.complex = value 
    128129 
    129130    @property 
     
    133134    @container.setter 
    134135    def container(self, value): 
    135              self._tp_directedtopo.container = value 
     136            self._tp_directedtopo.container = value 
    136137 
    137138    @property 
     
    141142    @term.setter 
    142143    def term(self, value): 
    143              self._tp_directedtopo.term = value 
     144            self._tp_directedtopo.term = value 
     145 
     146    def __key(self): 
     147        return (self.isolated, self.topo, self.topo, self.maximalComplex, self.orientation, self.hub, self.proxy, self.geometry, self.complex, self.container, self.term) 
     148 
     149    def __eq__(x, y): 
     150        ''' 
     151        Cannot compare classes which do not define a "__key" attribute  
     152        ''' 
     153        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     154            return x.__key() == y.__key() 
     155        return id(x) == id(y) 
     156 
     157    def __hash__(self): 
     158        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_directedtopo.py

    r8074 r8086  
     1 
    12 
    23 
     
    1819 
    1920''' 
    20 Created on 26-Jan-2012 16:07:39 
     21Created on 03-Feb-2012 10:41:15 
    2122 
    2223@author: mnagni 
     
    3839 
    3940        self._isolated_tp_face = [] 
     41        self._isolated_tp_solid = [] 
    4042        self._isolated_tp_node = [] 
    4143        self._isolated_tp_edge = [] 
    42         self._isolated_tp_solid = [] 
    4344        self._isolated_tp_directedtopo = [] 
    4445        self._topo_tp_face = None 
     46        self._topo_tp_solid = None 
    4547        self._topo_tp_node = None 
    4648        self._topo_tp_edge = None 
    47         self._topo_tp_solid = None 
    4849        self._topo_tp_directedtopo = None 
    4950        self.maximalComplex = None 
    5051        self.orientation = None 
     52        self._proxy_tp_directededge = None 
    5153        self._proxy_tp_directedface = None 
    5254        self._proxy_tp_directednode = None 
    53         self._proxy_tp_directededge = None 
    5455        self._proxy_tp_directedsolid = None 
     56        self._geometry_gm_point = None 
     57        self._geometry_gm_orientableprimitive = None 
    5558        self._geometry_gm_solid = None 
    56         self._geometry_gm_orientableprimitive = None 
    57         self._geometry_gm_point = None 
    5859        self.complex = [] 
    5960        self._container_tp_face = None 
     61        self._container_tp_solid = None 
    6062        self._container_tp_node = None 
    6163        self._container_tp_edge = None 
    62         self._container_tp_solid = None 
    6364        self._container_tp_directedtopo = None 
    6465        self.term = [] 
     
    7172    @isolated.setter 
    7273    def isolated(self, value): 
    73              self._tp_primitive.isolated = value 
     74            self._tp_primitive.isolated = value 
    7475 
    7576    @property 
     
    7778        if(self._topo_tp_face is not None): 
    7879            return self._topo_tp_face 
     80        if(self._topo_tp_solid is not None): 
     81            return self._topo_tp_solid 
    7982        if(self._topo_tp_node is not None): 
    8083            return self._topo_tp_node 
    8184        if(self._topo_tp_edge is not None): 
    8285            return self._topo_tp_edge 
    83         if(self._topo_tp_solid is not None): 
    84             return self._topo_tp_solid 
    8586        if(self._topo_tp_directedtopo is not None): 
    8687            return self._topo_tp_directedtopo 
     
    9293        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_face.TP_Face": 
    9394            self._topo_tp_face = value 
     95            self._topo_tp_solid = None 
    9496            self._topo_tp_node = None 
    9597            self._topo_tp_edge = None 
    96             self._topo_tp_solid = None 
    97             self._topo_tp_directedtopo = None 
    98         if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_node.TP_Node": 
    99             self._topo_tp_node = value 
    100             self._topo_tp_face = None 
    101             self._topo_tp_edge = None 
    102             self._topo_tp_solid = None 
    103             self._topo_tp_directedtopo = None 
    104         if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_edge.TP_Edge": 
    105             self._topo_tp_edge = value 
    106             self._topo_tp_face = None 
    107             self._topo_tp_node = None 
    108             self._topo_tp_solid = None 
    10998            self._topo_tp_directedtopo = None 
    11099        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_solid.TP_Solid": 
     
    114103            self._topo_tp_edge = None 
    115104            self._topo_tp_directedtopo = None 
     105        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_node.TP_Node": 
     106            self._topo_tp_node = value 
     107            self._topo_tp_face = None 
     108            self._topo_tp_solid = None 
     109            self._topo_tp_edge = None 
     110            self._topo_tp_directedtopo = None 
     111        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_edge.TP_Edge": 
     112            self._topo_tp_edge = value 
     113            self._topo_tp_face = None 
     114            self._topo_tp_solid = None 
     115            self._topo_tp_node = None 
     116            self._topo_tp_directedtopo = None 
    116117        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_directedtopo.TP_DirectedTopo": 
    117118            self._topo_tp_directedtopo = value 
    118119            self._topo_tp_face = None 
     120            self._topo_tp_solid = None 
    119121            self._topo_tp_node = None 
    120122            self._topo_tp_edge = None 
    121             self._topo_tp_solid = None 
    122123 
    123124    @property 
     
    127128    @maximalComplex.setter 
    128129    def maximalComplex(self, value): 
    129              self._tp_primitive.maximalComplex = value 
     130            self._tp_primitive.maximalComplex = value 
    130131 
    131132 
     
    137138    @proxy.setter 
    138139    def proxy(self, value): 
    139              self._tp_primitive.proxy = value 
     140            self._tp_primitive.proxy = value 
    140141 
    141142    @property 
     
    145146    @geometry.setter 
    146147    def geometry(self, value): 
    147              self._tp_primitive.geometry = value 
     148            self._tp_primitive.geometry = value 
    148149 
    149150    @property 
     
    153154    @complex.setter 
    154155    def complex(self, value): 
    155              self._tp_primitive.complex = value 
     156            self._tp_primitive.complex = value 
    156157 
    157158    @property 
     
    161162    @container.setter 
    162163    def container(self, value): 
    163              self._tp_primitive.container = value 
     164            self._tp_primitive.container = value 
    164165 
    165166 
     167 
     168    def __key(self): 
     169        return (self.isolated, self.topo, self.maximalComplex, self.orientation, self.proxy, self.geometry, self.complex, self.container, self.term) 
     170 
     171    def __eq__(x, y): 
     172        ''' 
     173        Cannot compare classes which do not define a "__key" attribute  
     174        ''' 
     175        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     176            return x.__key() == y.__key() 
     177        return id(x) == id(y) 
     178 
     179    def __hash__(self): 
     180        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_edge.py

    r8074 r8086  
     1 
    12 
    23 
     
    1920 
    2021''' 
    21 Created on 26-Jan-2012 16:07:40 
     22Created on 03-Feb-2012 10:41:13 
    2223 
    2324@author: mnagni 
     
    3940        self._tp_directededge = TP_DirectedEdge()        
    4041 
     42        self.topo = None 
    4143        self._topo_tp_face = None 
     44        self._topo_tp_solid = None 
    4245        self._topo_tp_node = None 
    4346        self._topo_tp_edge = None 
    44         self._topo_tp_solid = None 
    4547        self._topo_tp_directedtopo = None 
    46         self.topo = None 
    4748        self.orientation = None 
    4849        self.maximalComplex = None 
     
    5051        self.hub = None 
    5152        self._isolated_tp_face = [] 
     53        self._isolated_tp_solid = [] 
    5254        self._isolated_tp_node = [] 
    5355        self._isolated_tp_edge = [] 
    54         self._isolated_tp_solid = [] 
    5556        self._isolated_tp_directedtopo = [] 
    5657        self.proxy = None 
     58        self._proxy_tp_directededge = None 
    5759        self._proxy_tp_directedface = None 
    5860        self._proxy_tp_directednode = None 
    59         self._proxy_tp_directededge = None 
    6061        self._proxy_tp_directedsolid = None 
     62        self._geometry_gm_point = None 
     63        self._geometry_gm_orientableprimitive = None 
    6164        self._geometry_gm_solid = None 
    62         self._geometry_gm_orientableprimitive = None 
    63         self._geometry_gm_point = None 
    6465        self.complex = [] 
    6566        self.primitive = [] 
    6667        self.boundary = None 
    6768        self._container_tp_face = None 
     69        self._container_tp_solid = None 
    6870        self._container_tp_node = None 
    6971        self._container_tp_edge = None 
    70         self._container_tp_solid = None 
    7172        self._container_tp_directedtopo = None 
    7273        self.term = [] 
     
    7980    @topo.setter 
    8081    def topo(self, value): 
    81              self._tp_directededge.topo = value 
     82            self._tp_directededge.topo = value 
    8283 
    8384    @property 
     
    8788    @topo.setter 
    8889    def topo(self, value): 
    89              self._tp_directededge.topo = value 
     90            self._tp_directededge.topo = value 
    9091 
    9192    @property 
     
    9596    @orientation.setter 
    9697    def orientation(self, value): 
    97              self._tp_directededge.orientation = value 
     98            self._tp_directededge.orientation = value 
    9899 
    99100    @property 
     
    103104    @maximalComplex.setter 
    104105    def maximalComplex(self, value): 
    105              self._tp_primitive.maximalComplex = value 
     106            self._tp_primitive.maximalComplex = value 
    106107 
    107108 
     
    113114    @hub.setter 
    114115    def hub(self, value): 
    115              self._tp_directededge.hub = value 
     116            self._tp_directededge.hub = value 
    116117 
    117118    @property 
     
    121122    @isolated.setter 
    122123    def isolated(self, value): 
    123              self._tp_primitive.isolated = value 
     124            self._tp_primitive.isolated = value 
    124125 
    125126 
     
    131132    @proxy.setter 
    132133    def proxy(self, value): 
    133              self._tp_primitive.proxy = value 
     134            self._tp_primitive.proxy = value 
    134135 
    135136    @property 
     
    139140    @geometry.setter 
    140141    def geometry(self, value): 
    141              self._tp_primitive.geometry = value 
     142            self._tp_primitive.geometry = value 
    142143 
    143144    @property 
     
    147148    @complex.setter 
    148149    def complex(self, value): 
    149              self._tp_primitive.complex = value 
     150            self._tp_primitive.complex = value 
    150151 
    151152    @property 
     
    155156    @primitive.setter 
    156157    def primitive(self, value): 
    157              self._tp_directededge.primitive = value 
     158            self._tp_directededge.primitive = value 
    158159 
    159160 
     
    165166    @container.setter 
    166167    def container(self, value): 
    167              self._tp_primitive.container = value 
     168            self._tp_primitive.container = value 
    168169 
    169170    @property 
     
    173174    @term.setter 
    174175    def term(self, value): 
    175              self._tp_directededge.term = value 
     176            self._tp_directededge.term = value 
     177 
     178    def __key(self): 
     179        return (self.topo, self.topo, self.orientation, self.maximalComplex, self.spoke, self.hub, self.isolated, self.proxy, self.proxy, self.geometry, self.complex, self.primitive, self.boundary, self.container, self.term) 
     180 
     181    def __eq__(x, y): 
     182        ''' 
     183        Cannot compare classes which do not define a "__key" attribute  
     184        ''' 
     185        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     186            return x.__key() == y.__key() 
     187        return id(x) == id(y) 
     188 
     189    def __hash__(self): 
     190        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_edgeboundary.py

    r8074 r8086  
     1 
    12 
    23 
     
    1819 
    1920''' 
    20 Created on 26-Jan-2012 16:07:40 
     21Created on 03-Feb-2012 10:41:12 
    2122 
    2223@author: mnagni 
     
    5253    @term.setter 
    5354    def term(self, value): 
    54              self._tp_primitiveboundary.term = value 
     55            self._tp_primitiveboundary.term = value 
     56 
     57    def __key(self): 
     58        return (self.endNode, self.startNode, self.term) 
     59 
     60    def __eq__(x, y): 
     61        ''' 
     62        Cannot compare classes which do not define a "__key" attribute  
     63        ''' 
     64        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     65            return x.__key() == y.__key() 
     66        return id(x) == id(y) 
     67 
     68    def __hash__(self): 
     69        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_expression.py

    r8074 r8086  
     1 
    12 
    23 
     
    1718 
    1819''' 
    19 Created on 26-Jan-2012 16:07:32 
     20Created on 03-Feb-2012 10:41:18 
    2021 
    2122@author: mnagni 
     
    3940 
    4041 
     42 
     43    def __key(self): 
     44        return (self.term) 
     45 
     46    def __eq__(x, y): 
     47        ''' 
     48        Cannot compare classes which do not define a "__key" attribute  
     49        ''' 
     50        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     51            return x.__key() == y.__key() 
     52        return id(x) == id(y) 
     53 
     54    def __hash__(self): 
     55        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_expressionterm.py

    r8074 r8086  
     1 
    12 
    23 
     
    1718 
    1819''' 
    19 Created on 26-Jan-2012 16:07:30 
     20Created on 03-Feb-2012 10:41:11 
    2021 
    2122@author: mnagni 
     
    3536    def __init__(self): 
    3637 
     38        self._expression_tp_shell = None 
     39        self._expression_tp_ring = None 
    3740        self._expression_tp_boundary = None 
    38         self._expression_tp_ring = None 
    39         self._expression_tp_shell = None 
    4041        self.coefficient = None 
     42        self._variable_tp_directededge = None 
    4143        self._variable_tp_directedface = None 
    4244        self._variable_tp_directednode = None 
    43         self._variable_tp_directededge = None 
    4445        self._variable_tp_directedsolid = None 
    4546        super(TP_ExpressionTerm, self).__init__() 
     
    4748    @property 
    4849    def expression(self): 
     50        if(self._expression_tp_shell is not None): 
     51            return self._expression_tp_shell 
     52        if(self._expression_tp_ring is not None): 
     53            return self._expression_tp_ring 
    4954        if(self._expression_tp_boundary is not None): 
    5055            return self._expression_tp_boundary 
    51         if(self._expression_tp_ring is not None): 
    52             return self._expression_tp_ring 
    53         if(self._expression_tp_shell is not None): 
    54             return self._expression_tp_shell 
    5556        return None 
    5657 
     
    5859    def expression(self, value): 
    5960        valueClass = "%s.%s" % (type(value).__module__,type(value).__name__) 
     61        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_shell.TP_Shell": 
     62            self._expression_tp_shell = value 
     63            self._expression_tp_ring = None 
     64            self._expression_tp_boundary = None 
     65        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_ring.TP_Ring": 
     66            self._expression_tp_ring = value 
     67            self._expression_tp_shell = None 
     68            self._expression_tp_boundary = None 
    6069        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_boundary.TP_Boundary": 
    6170            self._expression_tp_boundary = value 
    62             self._expression_tp_ring = None 
    6371            self._expression_tp_shell = None 
    64         if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_ring.TP_Ring": 
    65             self._expression_tp_ring = value 
    66             self._expression_tp_boundary = None 
    67             self._expression_tp_shell = None 
    68         if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_shell.TP_Shell": 
    69             self._expression_tp_shell = value 
    70             self._expression_tp_boundary = None 
    7172            self._expression_tp_ring = None 
    7273 
     
    7576    @property 
    7677    def variable(self): 
     78        if(self._variable_tp_directededge is not None): 
     79            return self._variable_tp_directededge 
    7780        if(self._variable_tp_directedface is not None): 
    7881            return self._variable_tp_directedface 
    7982        if(self._variable_tp_directednode is not None): 
    8083            return self._variable_tp_directednode 
    81         if(self._variable_tp_directededge is not None): 
    82             return self._variable_tp_directededge 
    8384        if(self._variable_tp_directedsolid is not None): 
    8485            return self._variable_tp_directedsolid 
     
    8889    def variable(self, value): 
    8990        valueClass = "%s.%s" % (type(value).__module__,type(value).__name__) 
    90         if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_directedface.TP_DirectedFace": 
    91             self._variable_tp_directedface = value 
    92             self._variable_tp_directednode = None 
    93             self._variable_tp_directededge = None 
    94             self._variable_tp_directedsolid = None 
    95         if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_directednode.TP_DirectedNode": 
    96             self._variable_tp_directednode = value 
    97             self._variable_tp_directedface = None 
    98             self._variable_tp_directededge = None 
    99             self._variable_tp_directedsolid = None 
    10091        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_directededge.TP_DirectedEdge": 
    10192            self._variable_tp_directededge = value 
     
    10394            self._variable_tp_directednode = None 
    10495            self._variable_tp_directedsolid = None 
     96        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_directedface.TP_DirectedFace": 
     97            self._variable_tp_directedface = value 
     98            self._variable_tp_directededge = None 
     99            self._variable_tp_directednode = None 
     100            self._variable_tp_directedsolid = None 
     101        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_directednode.TP_DirectedNode": 
     102            self._variable_tp_directednode = value 
     103            self._variable_tp_directededge = None 
     104            self._variable_tp_directedface = None 
     105            self._variable_tp_directedsolid = None 
    105106        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_directedsolid.TP_DirectedSolid": 
    106107            self._variable_tp_directedsolid = value 
     108            self._variable_tp_directededge = None 
    107109            self._variable_tp_directedface = None 
    108110            self._variable_tp_directednode = None 
    109             self._variable_tp_directededge = None 
     111 
     112    def __key(self): 
     113        return (self.expression, self.coefficient, self.variable) 
     114 
     115    def __eq__(x, y): 
     116        ''' 
     117        Cannot compare classes which do not define a "__key" attribute  
     118        ''' 
     119        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     120            return x.__key() == y.__key() 
     121        return id(x) == id(y) 
     122 
     123    def __hash__(self): 
     124        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_face.py

    r8074 r8086  
     1 
    12 
    23 
     
    1920 
    2021''' 
    21 Created on 26-Jan-2012 16:07:34 
     22Created on 03-Feb-2012 10:41:15 
    2223 
    2324@author: mnagni 
     
    3637    ''' 
    3738    def __init__(self): 
     39        self._tp_primitive = TP_Primitive()      
    3840        self._tp_directedface = TP_DirectedFace()        
    39         self._tp_primitive = TP_Primitive()      
    4041 
    4142        self.topo = None 
    4243        self._topo_tp_face = None 
     44        self._topo_tp_solid = None 
    4345        self._topo_tp_node = None 
    4446        self._topo_tp_edge = None 
    45         self._topo_tp_solid = None 
    4647        self._topo_tp_directedtopo = None 
    4748        self.orientation = None 
     
    5051        self.hub = [] 
    5152        self._isolated_tp_face = [] 
     53        self._isolated_tp_solid = [] 
    5254        self._isolated_tp_node = [] 
    5355        self._isolated_tp_edge = [] 
    54         self._isolated_tp_solid = [] 
    5556        self._isolated_tp_directedtopo = [] 
    5657        self.proxy = None 
     58        self._proxy_tp_directededge = None 
    5759        self._proxy_tp_directedface = None 
    5860        self._proxy_tp_directednode = None 
    59         self._proxy_tp_directededge = None 
    6061        self._proxy_tp_directedsolid = None 
     62        self._geometry_gm_point = None 
     63        self._geometry_gm_orientableprimitive = None 
    6164        self._geometry_gm_solid = None 
    62         self._geometry_gm_orientableprimitive = None 
    63         self._geometry_gm_point = None 
    6465        self.complex = [] 
    6566        self.primitive = [] 
     67        self.boundary = [] 
    6668        self._container_tp_face = None 
     69        self._container_tp_solid = None 
    6770        self._container_tp_node = None 
    6871        self._container_tp_edge = None 
    69         self._container_tp_solid = None 
    7072        self._container_tp_directedtopo = None 
    71         self.boundary = [] 
    7273        self.term = [] 
    7374        super(TP_Face, self).__init__() 
     
    7980    @topo.setter 
    8081    def topo(self, value): 
    81              self._tp_directedface.topo = value 
     82            self._tp_directedface.topo = value 
    8283 
    8384    @property 
     
    8788    @topo.setter 
    8889    def topo(self, value): 
    89              self._tp_directedface.topo = value 
     90            self._tp_directedface.topo = value 
    9091 
    9192    @property 
     
    9596    @orientation.setter 
    9697    def orientation(self, value): 
    97              self._tp_directedface.orientation = value 
     98            self._tp_directedface.orientation = value 
    9899 
    99100    @property 
    100101    def maximalComplex(self): 
    101         return self._tp_directedface.maximalComplex 
     102        return self._tp_primitive.maximalComplex 
    102103 
    103104    @maximalComplex.setter 
    104105    def maximalComplex(self, value): 
    105              self._tp_directedface.maximalComplex = value 
     106            self._tp_primitive.maximalComplex = value 
    106107 
    107108 
     
    113114    @hub.setter 
    114115    def hub(self, value): 
    115              self._tp_directedface.hub = value 
     116            self._tp_directedface.hub = value 
    116117 
    117118    @property 
    118119    def isolated(self): 
    119         return self._tp_directedface.isolated 
     120        return self._tp_primitive.isolated 
    120121 
    121122    @isolated.setter 
    122123    def isolated(self, value): 
    123              self._tp_directedface.isolated = value 
     124            self._tp_primitive.isolated = value 
    124125 
    125126 
     
    127128    @property 
    128129    def proxy(self): 
    129         return self._tp_directedface.proxy 
     130        return self._tp_primitive.proxy 
    130131 
    131132    @proxy.setter 
    132133    def proxy(self, value): 
    133              self._tp_directedface.proxy = value 
     134            self._tp_primitive.proxy = value 
    134135 
    135136    @property 
    136137    def geometry(self): 
    137         return self._tp_directedface.geometry 
     138        return self._tp_primitive.geometry 
    138139 
    139140    @geometry.setter 
    140141    def geometry(self, value): 
    141              self._tp_directedface.geometry = value 
     142            self._tp_primitive.geometry = value 
    142143 
    143144    @property 
    144145    def complex(self): 
    145         return self._tp_directedface.complex 
     146        return self._tp_primitive.complex 
    146147 
    147148    @complex.setter 
    148149    def complex(self, value): 
    149              self._tp_directedface.complex = value 
     150            self._tp_primitive.complex = value 
    150151 
    151152    @property 
     
    155156    @primitive.setter 
    156157    def primitive(self, value): 
    157              self._tp_directedface.primitive = value 
     158            self._tp_directedface.primitive = value 
     159 
     160 
    158161 
    159162    @property 
    160163    def container(self): 
    161         return self._tp_directedface.container 
     164        return self._tp_primitive.container 
    162165 
    163166    @container.setter 
    164167    def container(self, value): 
    165              self._tp_directedface.container = value 
    166  
    167  
     168            self._tp_primitive.container = value 
    168169 
    169170    @property 
     
    173174    @term.setter 
    174175    def term(self, value): 
    175              self._tp_directedface.term = value 
     176            self._tp_directedface.term = value 
     177 
     178    def __key(self): 
     179        return (self.topo, self.topo, self.orientation, self.maximalComplex, self.spoke, self.hub, self.isolated, self.proxy, self.proxy, self.geometry, self.complex, self.primitive, self.boundary, self.container, self.term) 
     180 
     181    def __eq__(x, y): 
     182        ''' 
     183        Cannot compare classes which do not define a "__key" attribute  
     184        ''' 
     185        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     186            return x.__key() == y.__key() 
     187        return id(x) == id(y) 
     188 
     189    def __hash__(self): 
     190        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_faceboundary.py

    r8074 r8086  
     1 
    12 
    23 
     
    1819 
    1920''' 
    20 Created on 26-Jan-2012 16:07:30 
     21Created on 03-Feb-2012 10:41:11 
    2122 
    2223@author: mnagni 
     
    5051    @term.setter 
    5152    def term(self, value): 
    52              self._tp_primitiveboundary.term = value 
     53            self._tp_primitiveboundary.term = value 
    5354 
    5455 
     56 
     57    def __key(self): 
     58        return (self.exterior, self.term, self.interior) 
     59 
     60    def __eq__(x, y): 
     61        ''' 
     62        Cannot compare classes which do not define a "__key" attribute  
     63        ''' 
     64        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     65            return x.__key() == y.__key() 
     66        return id(x) == id(y) 
     67 
     68    def __hash__(self): 
     69        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_node.py

    r8074 r8086  
     1 
    12 
    23 
     
    1920 
    2021''' 
    21 Created on 26-Jan-2012 16:07:34 
     22Created on 03-Feb-2012 10:41:14 
    2223 
    2324@author: mnagni 
     
    3637    ''' 
    3738    def __init__(self): 
     39        self._tp_primitive = TP_Primitive()      
    3840        self._tp_directednode = TP_DirectedNode()        
    39         self._tp_primitive = TP_Primitive()      
    4041 
    4142        self.topo = None 
    4243        self._topo_tp_face = None 
     44        self._topo_tp_solid = None 
    4345        self._topo_tp_node = None 
    4446        self._topo_tp_edge = None 
    45         self._topo_tp_solid = None 
    4647        self._topo_tp_directedtopo = None 
     48        self.maximalComplex = None 
    4749        self.orientation = None 
    48         self.maximalComplex = None 
    4950        self.spoke = [] 
    5051        self._isolated_tp_face = [] 
     52        self._isolated_tp_solid = [] 
    5153        self._isolated_tp_node = [] 
    5254        self._isolated_tp_edge = [] 
    53         self._isolated_tp_solid = [] 
    5455        self._isolated_tp_directedtopo = [] 
    5556        self.proxy = None 
     57        self._proxy_tp_directededge = None 
    5658        self._proxy_tp_directedface = None 
    5759        self._proxy_tp_directednode = None 
    58         self._proxy_tp_directededge = None 
    5960        self._proxy_tp_directedsolid = None 
     61        self._geometry_gm_point = None 
     62        self._geometry_gm_orientableprimitive = None 
    6063        self._geometry_gm_solid = None 
    61         self._geometry_gm_orientableprimitive = None 
    62         self._geometry_gm_point = None 
     64        self.complex = [] 
    6365        self.primitive = [] 
    64         self.complex = [] 
    6566        self._container_tp_face = None 
     67        self._container_tp_solid = None 
    6668        self._container_tp_node = None 
    6769        self._container_tp_edge = None 
    68         self._container_tp_solid = None 
    6970        self._container_tp_directedtopo = None 
    7071        self.term = [] 
     
    7778    @topo.setter 
    7879    def topo(self, value): 
    79              self._tp_directednode.topo = value 
     80            self._tp_directednode.topo = value 
    8081 
    8182    @property 
     
    8586    @topo.setter 
    8687    def topo(self, value): 
    87              self._tp_directednode.topo = value 
     88            self._tp_directednode.topo = value 
     89 
     90    @property 
     91    def maximalComplex(self): 
     92        return self._tp_primitive.maximalComplex 
     93 
     94    @maximalComplex.setter 
     95    def maximalComplex(self, value): 
     96            self._tp_primitive.maximalComplex = value 
    8897 
    8998    @property 
     
    93102    @orientation.setter 
    94103    def orientation(self, value): 
    95              self._tp_directednode.orientation = value 
    96  
    97     @property 
    98     def maximalComplex(self): 
    99         return self._tp_directednode.maximalComplex 
    100  
    101     @maximalComplex.setter 
    102     def maximalComplex(self, value): 
    103              self._tp_directednode.maximalComplex = value 
     104            self._tp_directednode.orientation = value 
    104105 
    105106 
     
    107108    @property 
    108109    def isolated(self): 
    109         return self._tp_directednode.isolated 
     110        return self._tp_primitive.isolated 
    110111 
    111112    @isolated.setter 
    112113    def isolated(self, value): 
    113              self._tp_directednode.isolated = value 
     114            self._tp_primitive.isolated = value 
    114115 
    115116 
     
    117118    @property 
    118119    def proxy(self): 
    119         return self._tp_directednode.proxy 
     120        return self._tp_primitive.proxy 
    120121 
    121122    @proxy.setter 
    122123    def proxy(self, value): 
    123              self._tp_directednode.proxy = value 
     124            self._tp_primitive.proxy = value 
    124125 
    125126    @property 
    126127    def geometry(self): 
    127         return self._tp_directednode.geometry 
     128        return self._tp_primitive.geometry 
    128129 
    129130    @geometry.setter 
    130131    def geometry(self, value): 
    131              self._tp_directednode.geometry = value 
     132            self._tp_primitive.geometry = value 
     133 
     134    @property 
     135    def complex(self): 
     136        return self._tp_primitive.complex 
     137 
     138    @complex.setter 
     139    def complex(self, value): 
     140            self._tp_primitive.complex = value 
    132141 
    133142    @property 
     
    137146    @primitive.setter 
    138147    def primitive(self, value): 
    139              self._tp_directednode.primitive = value 
    140  
    141     @property 
    142     def complex(self): 
    143         return self._tp_directednode.complex 
    144  
    145     @complex.setter 
    146     def complex(self, value): 
    147              self._tp_directednode.complex = value 
     148            self._tp_directednode.primitive = value 
    148149 
    149150    @property 
    150151    def container(self): 
    151         return self._tp_directednode.container 
     152        return self._tp_primitive.container 
    152153 
    153154    @container.setter 
    154155    def container(self, value): 
    155              self._tp_directednode.container = value 
     156            self._tp_primitive.container = value 
    156157 
    157158    @property 
     
    161162    @term.setter 
    162163    def term(self, value): 
    163              self._tp_directednode.term = value 
     164            self._tp_directednode.term = value 
     165 
     166    def __key(self): 
     167        return (self.topo, self.topo, self.maximalComplex, self.orientation, self.spoke, self.isolated, self.proxy, self.proxy, self.geometry, self.complex, self.primitive, self.container, self.term) 
     168 
     169    def __eq__(x, y): 
     170        ''' 
     171        Cannot compare classes which do not define a "__key" attribute  
     172        ''' 
     173        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     174            return x.__key() == y.__key() 
     175        return id(x) == id(y) 
     176 
     177    def __hash__(self): 
     178        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_primitive.py

    r8074 r8086  
     1 
    12 
    23 
     
    1718 
    1819''' 
    19 Created on 26-Jan-2012 16:07:38 
     20Created on 03-Feb-2012 10:41:12 
    2021 
    2122@author: mnagni 
     
    3637 
    3738        self._isolated_tp_face = [] 
     39        self._isolated_tp_solid = [] 
    3840        self._isolated_tp_node = [] 
    3941        self._isolated_tp_edge = [] 
    40         self._isolated_tp_solid = [] 
    4142        self._isolated_tp_directedtopo = [] 
    4243        self.maximalComplex = None 
     44        self._proxy_tp_directededge = None 
    4345        self._proxy_tp_directedface = None 
    4446        self._proxy_tp_directednode = None 
    45         self._proxy_tp_directededge = None 
    4647        self._proxy_tp_directedsolid = None 
     48        self._geometry_gm_point = None 
     49        self._geometry_gm_orientableprimitive = None 
    4750        self._geometry_gm_solid = None 
    48         self._geometry_gm_orientableprimitive = None 
    49         self._geometry_gm_point = None 
    5051        self.complex = [] 
    5152        self._container_tp_face = None 
     53        self._container_tp_solid = None 
    5254        self._container_tp_node = None 
    5355        self._container_tp_edge = None 
    54         self._container_tp_solid = None 
    5556        self._container_tp_directedtopo = None 
    5657        super(TP_Primitive, self).__init__() 
     
    6061        if(self._isolated_tp_face is not None): 
    6162            return self._isolated_tp_face 
     63        if(self._isolated_tp_solid is not None): 
     64            return self._isolated_tp_solid 
    6265        if(self._isolated_tp_node is not None): 
    6366            return self._isolated_tp_node 
    6467        if(self._isolated_tp_edge is not None): 
    6568            return self._isolated_tp_edge 
    66         if(self._isolated_tp_solid is not None): 
    67             return self._isolated_tp_solid 
    6869        if(self._isolated_tp_directedtopo is not None): 
    6970            return self._isolated_tp_directedtopo 
     
    7576        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_face.TP_Face": 
    7677            self._isolated_tp_face = value 
    77             self._isolated_tp_node = None 
    78             self._isolated_tp_edge = None 
    79             self._isolated_tp_solid = None 
     78            self._isolated_tp_solid = None 
     79            self._isolated_tp_node = None 
     80            self._isolated_tp_edge = None 
     81            self._isolated_tp_directedtopo = None 
     82        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_solid.TP_Solid": 
     83            self._isolated_tp_solid = value 
     84            self._isolated_tp_face = None 
     85            self._isolated_tp_node = None 
     86            self._isolated_tp_edge = None 
    8087            self._isolated_tp_directedtopo = None 
    8188        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_node.TP_Node": 
    8289            self._isolated_tp_node = value 
    8390            self._isolated_tp_face = None 
    84             self._isolated_tp_edge = None 
    85             self._isolated_tp_solid = None 
     91            self._isolated_tp_solid = None 
     92            self._isolated_tp_edge = None 
    8693            self._isolated_tp_directedtopo = None 
    8794        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_edge.TP_Edge": 
    8895            self._isolated_tp_edge = value 
    8996            self._isolated_tp_face = None 
    90             self._isolated_tp_node = None 
    91             self._isolated_tp_solid = None 
    92             self._isolated_tp_directedtopo = None 
    93         if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_solid.TP_Solid": 
    94             self._isolated_tp_solid = value 
    95             self._isolated_tp_face = None 
    96             self._isolated_tp_node = None 
    97             self._isolated_tp_edge = None 
     97            self._isolated_tp_solid = None 
     98            self._isolated_tp_node = None 
    9899            self._isolated_tp_directedtopo = None 
    99100        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_directedtopo.TP_DirectedTopo": 
    100101            self._isolated_tp_directedtopo = value 
    101102            self._isolated_tp_face = None 
    102             self._isolated_tp_node = None 
    103             self._isolated_tp_edge = None 
    104             self._isolated_tp_solid = None 
     103            self._isolated_tp_solid = None 
     104            self._isolated_tp_node = None 
     105            self._isolated_tp_edge = None 
    105106 
    106107 
     
    108109    @property 
    109110    def proxy(self): 
     111        if(self._proxy_tp_directededge is not None): 
     112            return self._proxy_tp_directededge 
    110113        if(self._proxy_tp_directedface is not None): 
    111114            return self._proxy_tp_directedface 
    112115        if(self._proxy_tp_directednode is not None): 
    113116            return self._proxy_tp_directednode 
    114         if(self._proxy_tp_directededge is not None): 
    115             return self._proxy_tp_directededge 
    116117        if(self._proxy_tp_directedsolid is not None): 
    117118            return self._proxy_tp_directedsolid 
     
    121122    def proxy(self, value): 
    122123        valueClass = "%s.%s" % (type(value).__module__,type(value).__name__) 
    123         if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_directedface.TP_DirectedFace": 
    124             self._proxy_tp_directedface = value 
    125             self._proxy_tp_directednode = None 
    126             self._proxy_tp_directededge = None 
    127             self._proxy_tp_directedsolid = None 
    128         if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_directednode.TP_DirectedNode": 
    129             self._proxy_tp_directednode = value 
    130             self._proxy_tp_directedface = None 
    131             self._proxy_tp_directededge = None 
    132             self._proxy_tp_directedsolid = None 
    133124        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_directededge.TP_DirectedEdge": 
    134125            self._proxy_tp_directededge = value 
     
    136127            self._proxy_tp_directednode = None 
    137128            self._proxy_tp_directedsolid = None 
     129        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_directedface.TP_DirectedFace": 
     130            self._proxy_tp_directedface = value 
     131            self._proxy_tp_directededge = None 
     132            self._proxy_tp_directednode = None 
     133            self._proxy_tp_directedsolid = None 
     134        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_directednode.TP_DirectedNode": 
     135            self._proxy_tp_directednode = value 
     136            self._proxy_tp_directededge = None 
     137            self._proxy_tp_directedface = None 
     138            self._proxy_tp_directedsolid = None 
    138139        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_directedsolid.TP_DirectedSolid": 
    139140            self._proxy_tp_directedsolid = value 
     141            self._proxy_tp_directededge = None 
    140142            self._proxy_tp_directedface = None 
    141143            self._proxy_tp_directednode = None 
    142             self._proxy_tp_directededge = None 
    143144 
    144145    @property 
    145146    def geometry(self): 
     147        if(self._geometry_gm_point is not None): 
     148            return self._geometry_gm_point 
     149        if(self._geometry_gm_orientableprimitive is not None): 
     150            return self._geometry_gm_orientableprimitive 
    146151        if(self._geometry_gm_solid is not None): 
    147152            return self._geometry_gm_solid 
    148         if(self._geometry_gm_orientableprimitive is not None): 
    149             return self._geometry_gm_orientableprimitive 
    150         if(self._geometry_gm_point is not None): 
    151             return self._geometry_gm_point 
    152153        return None 
    153154 
     
    155156    def geometry(self, value): 
    156157        valueClass = "%s.%s" % (type(value).__module__,type(value).__name__) 
     158        if valueClass == "ea_model.iso_19107_2003_spatial_schema.geometry.geometric_primitive.gm_point.GM_Point": 
     159            self._geometry_gm_point = value 
     160            self._geometry_gm_orientableprimitive = None 
     161            self._geometry_gm_solid = None 
     162        if valueClass == "ea_model.iso_19107_2003_spatial_schema.geometry.geometric_primitive.gm_orientableprimitive.GM_OrientablePrimitive": 
     163            self._geometry_gm_orientableprimitive = value 
     164            self._geometry_gm_point = None 
     165            self._geometry_gm_solid = None 
    157166        if valueClass == "ea_model.iso_19107_2003_spatial_schema.geometry.geometric_primitive.gm_solid.GM_Solid": 
    158167            self._geometry_gm_solid = value 
    159             self._geometry_gm_orientableprimitive = None 
    160168            self._geometry_gm_point = None 
    161         if valueClass == "ea_model.iso_19107_2003_spatial_schema.geometry.geometric_primitive.gm_orientableprimitive.GM_OrientablePrimitive": 
    162             self._geometry_gm_orientableprimitive = value 
    163             self._geometry_gm_solid = None 
    164             self._geometry_gm_point = None 
    165         if valueClass == "ea_model.iso_19107_2003_spatial_schema.geometry.geometric_primitive.gm_point.GM_Point": 
    166             self._geometry_gm_point = value 
    167             self._geometry_gm_solid = None 
    168169            self._geometry_gm_orientableprimitive = None 
    169170 
     
    174175        if(self._container_tp_face is not None): 
    175176            return self._container_tp_face 
     177        if(self._container_tp_solid is not None): 
     178            return self._container_tp_solid 
    176179        if(self._container_tp_node is not None): 
    177180            return self._container_tp_node 
    178181        if(self._container_tp_edge is not None): 
    179182            return self._container_tp_edge 
    180         if(self._container_tp_solid is not None): 
    181             return self._container_tp_solid 
    182183        if(self._container_tp_directedtopo is not None): 
    183184            return self._container_tp_directedtopo 
     
    189190        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_face.TP_Face": 
    190191            self._container_tp_face = value 
    191             self._container_tp_node = None 
    192             self._container_tp_edge = None 
    193             self._container_tp_solid = None 
     192            self._container_tp_solid = None 
     193            self._container_tp_node = None 
     194            self._container_tp_edge = None 
     195            self._container_tp_directedtopo = None 
     196        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_solid.TP_Solid": 
     197            self._container_tp_solid = value 
     198            self._container_tp_face = None 
     199            self._container_tp_node = None 
     200            self._container_tp_edge = None 
    194201            self._container_tp_directedtopo = None 
    195202        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_node.TP_Node": 
    196203            self._container_tp_node = value 
    197204            self._container_tp_face = None 
    198             self._container_tp_edge = None 
    199             self._container_tp_solid = None 
     205            self._container_tp_solid = None 
     206            self._container_tp_edge = None 
    200207            self._container_tp_directedtopo = None 
    201208        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_edge.TP_Edge": 
    202209            self._container_tp_edge = value 
    203210            self._container_tp_face = None 
    204             self._container_tp_node = None 
    205             self._container_tp_solid = None 
    206             self._container_tp_directedtopo = None 
    207         if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_solid.TP_Solid": 
    208             self._container_tp_solid = value 
    209             self._container_tp_face = None 
    210             self._container_tp_node = None 
    211             self._container_tp_edge = None 
     211            self._container_tp_solid = None 
     212            self._container_tp_node = None 
    212213            self._container_tp_directedtopo = None 
    213214        if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_directedtopo.TP_DirectedTopo": 
    214215            self._container_tp_directedtopo = value 
    215216            self._container_tp_face = None 
    216             self._container_tp_node = None 
    217             self._container_tp_edge = None 
    218             self._container_tp_solid = None 
     217            self._container_tp_solid = None 
     218            self._container_tp_node = None 
     219            self._container_tp_edge = None 
     220 
     221    def __key(self): 
     222        return (self.isolated, self.maximalComplex, self.proxy, self.geometry, self.complex, self.container) 
     223 
     224    def __eq__(x, y): 
     225        ''' 
     226        Cannot compare classes which do not define a "__key" attribute  
     227        ''' 
     228        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     229            return x.__key() == y.__key() 
     230        return id(x) == id(y) 
     231 
     232    def __hash__(self): 
     233        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_primitiveboundary.py

    r8074 r8086  
     1 
    12 
    23 
     
    1819 
    1920''' 
    20 Created on 26-Jan-2012 16:07:31 
     21Created on 03-Feb-2012 10:41:13 
    2122 
    2223@author: mnagni 
     
    4647    @term.setter 
    4748    def term(self, value): 
    48              self._tp_boundary.term = value 
     49            self._tp_boundary.term = value 
     50 
     51    def __key(self): 
     52        return (self.term) 
     53 
     54    def __eq__(x, y): 
     55        ''' 
     56        Cannot compare classes which do not define a "__key" attribute  
     57        ''' 
     58        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     59            return x.__key() == y.__key() 
     60        return id(x) == id(y) 
     61 
     62    def __hash__(self): 
     63        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_ring.py

    r8074 r8086  
     1 
    12 
    23 
     
    1819 
    1920''' 
    20 Created on 26-Jan-2012 16:07:32 
     21Created on 03-Feb-2012 10:41:14 
    2122 
    2223@author: mnagni 
     
    4647    @term.setter 
    4748    def term(self, value): 
    48              self._tp_expression.term = value 
     49            self._tp_expression.term = value 
     50 
     51    def __key(self): 
     52        return (self.term) 
     53 
     54    def __eq__(x, y): 
     55        ''' 
     56        Cannot compare classes which do not define a "__key" attribute  
     57        ''' 
     58        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     59            return x.__key() == y.__key() 
     60        return id(x) == id(y) 
     61 
     62    def __hash__(self): 
     63        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_shell.py

    r8074 r8086  
     1 
    12 
    23 
     
    1819 
    1920''' 
    20 Created on 26-Jan-2012 16:07:36 
     21Created on 03-Feb-2012 10:41:18 
    2122 
    2223@author: mnagni 
     
    4647    @term.setter 
    4748    def term(self, value): 
    48              self._tp_expression.term = value 
     49            self._tp_expression.term = value 
     50 
     51    def __key(self): 
     52        return (self.term) 
     53 
     54    def __eq__(x, y): 
     55        ''' 
     56        Cannot compare classes which do not define a "__key" attribute  
     57        ''' 
     58        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     59            return x.__key() == y.__key() 
     60        return id(x) == id(y) 
     61 
     62    def __hash__(self): 
     63        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_solid.py

    r8074 r8086  
     1 
    12 
    23 
     
    1920 
    2021''' 
    21 Created on 26-Jan-2012 16:07:38 
     22Created on 03-Feb-2012 10:41:16 
    2223 
    2324@author: mnagni 
     
    4142        self.topo = None 
    4243        self._topo_tp_face = None 
     44        self._topo_tp_solid = None 
    4345        self._topo_tp_node = None 
    4446        self._topo_tp_edge = None 
    45         self._topo_tp_solid = None 
    4647        self._topo_tp_directedtopo = None 
    4748        self.maximalComplex = None 
     
    4950        self.hub = [] 
    5051        self._isolated_tp_face = [] 
     52        self._isolated_tp_solid = [] 
    5153        self._isolated_tp_node = [] 
    5254        self._isolated_tp_edge = [] 
    53         self._isolated_tp_solid = [] 
    5455        self._isolated_tp_directedtopo = [] 
    5556        self.proxy = None 
     57        self._proxy_tp_directededge = None 
    5658        self._proxy_tp_directedface = None 
    5759        self._proxy_tp_directednode = None 
    58         self._proxy_tp_directededge = None 
    5960        self._proxy_tp_directedsolid = None 
     61        self._geometry_gm_point = None 
     62        self._geometry_gm_orientableprimitive = None 
    6063        self._geometry_gm_solid = None 
    61         self._geometry_gm_orientableprimitive = None 
    62         self._geometry_gm_point = None 
    6364        self.complex = [] 
    6465        self.boundary = [] 
    6566        self._container_tp_face = None 
     67        self._container_tp_solid = None 
    6668        self._container_tp_node = None 
    6769        self._container_tp_edge = None 
    68         self._container_tp_solid = None 
    6970        self._container_tp_directedtopo = None 
    7071        self.term = [] 
     
    7778    @topo.setter 
    7879    def topo(self, value): 
    79              self._tp_directedsolid.topo = value 
     80            self._tp_directedsolid.topo = value 
    8081 
    8182    @property 
     
    8586    @topo.setter 
    8687    def topo(self, value): 
    87              self._tp_directedsolid.topo = value 
     88            self._tp_directedsolid.topo = value 
    8889 
    8990    @property 
     
    9394    @maximalComplex.setter 
    9495    def maximalComplex(self, value): 
    95              self._tp_primitive.maximalComplex = value 
     96            self._tp_primitive.maximalComplex = value 
    9697 
    9798    @property 
     
    101102    @orientation.setter 
    102103    def orientation(self, value): 
    103              self._tp_directedsolid.orientation = value 
     104            self._tp_directedsolid.orientation = value 
    104105 
    105106    @property 
     
    109110    @hub.setter 
    110111    def hub(self, value): 
    111              self._tp_directedsolid.hub = value 
     112            self._tp_directedsolid.hub = value 
    112113 
    113114    @property 
     
    117118    @isolated.setter 
    118119    def isolated(self, value): 
    119              self._tp_primitive.isolated = value 
     120            self._tp_primitive.isolated = value 
    120121 
    121122 
     
    127128    @proxy.setter 
    128129    def proxy(self, value): 
    129              self._tp_primitive.proxy = value 
     130            self._tp_primitive.proxy = value 
    130131 
    131132    @property 
     
    135136    @geometry.setter 
    136137    def geometry(self, value): 
    137              self._tp_primitive.geometry = value 
     138            self._tp_primitive.geometry = value 
    138139 
    139140    @property 
     
    143144    @complex.setter 
    144145    def complex(self, value): 
    145              self._tp_primitive.complex = value 
     146            self._tp_primitive.complex = value 
    146147 
    147148 
     
    153154    @container.setter 
    154155    def container(self, value): 
    155              self._tp_primitive.container = value 
     156            self._tp_primitive.container = value 
    156157 
    157158    @property 
     
    161162    @term.setter 
    162163    def term(self, value): 
    163              self._tp_directedsolid.term = value 
     164            self._tp_directedsolid.term = value 
     165 
     166    def __key(self): 
     167        return (self.topo, self.topo, self.maximalComplex, self.orientation, self.hub, self.isolated, self.proxy, self.proxy, self.geometry, self.complex, self.boundary, self.container, self.term) 
     168 
     169    def __eq__(x, y): 
     170        ''' 
     171        Cannot compare classes which do not define a "__key" attribute  
     172        ''' 
     173        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     174            return x.__key() == y.__key() 
     175        return id(x) == id(y) 
     176 
     177    def __hash__(self): 
     178        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_solidboundary.py

    r8074 r8086  
     1 
    12 
    23 
     
    1819 
    1920''' 
    20 Created on 26-Jan-2012 16:07:38 
     21Created on 03-Feb-2012 10:41:17 
    2122 
    2223@author: mnagni 
     
    5051    @term.setter 
    5152    def term(self, value): 
    52              self._tp_primitiveboundary.term = value 
     53            self._tp_primitiveboundary.term = value 
    5354 
    5455 
     56 
     57    def __key(self): 
     58        return (self.exterior, self.term, self.interior) 
     59 
     60    def __eq__(x, y): 
     61        ''' 
     62        Cannot compare classes which do not define a "__key" attribute  
     63        ''' 
     64        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     65            return x.__key() == y.__key() 
     66        return id(x) == id(y) 
     67 
     68    def __hash__(self): 
     69        return hash(self.__key()) 
  • mauRepo/MolesManager/trunk/src/ea_model/iso_19107_2003_spatial_schema/topology/topology_root/tp_object.py

    r8074 r8086  
     1 
    12 
    23 
     
    1718 
    1819''' 
    19 Created on 26-Jan-2012 16:07:38 
     20Created on 03-Feb-2012 10:41:08 
    2021 
    2122@author: mnagni 
     
    3637 
    3738        super(TP_Object, self).__init__() 
     39 
     40    def __key(self): 
     41        return () 
     42 
     43    def __eq__(x, y): 
     44        ''' 
     45        Cannot compare classes which do not define a "__key" attribute  
     46        ''' 
     47        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)): 
     48            return x.__key() == y.__key() 
     49        return id(x) == id(y) 
     50 
     51    def __hash__(self): 
     52        return hash(self.__key()) 
Note: See TracChangeset for help on using the changeset viewer.