1231 |
""" |
""" |
1232 |
def __init__(self,name,*items): |
def __init__(self,name,*items): |
1233 |
Primitive.__init__(self) |
Primitive.__init__(self) |
1234 |
if len(items)==0: |
self.__dim=None |
|
raise ValueError("at least one item must be give.") |
|
|
if isinstance(items[0] ,Manifold1D): |
|
|
dim=1 |
|
|
elif isinstance(items[0] ,Manifold2D): |
|
|
dim=2 |
|
|
elif isinstance(items[0] ,Manifold3D): |
|
|
dim=3 |
|
|
else: |
|
|
dim=0 |
|
|
self.__dim=dim |
|
1235 |
self.clearItems() |
self.clearItems() |
1236 |
self.addItem(*items) |
self.addItem(*items) |
1237 |
self.setName(name) |
self.setName(name) |
1238 |
|
|
1239 |
|
def getDim(self): |
1240 |
|
""" |
1241 |
|
returns the dimension of the items |
1242 |
|
""" |
1243 |
|
if self.__dim == None: |
1244 |
|
items=self.getItems() |
1245 |
|
if len(items)>0: |
1246 |
|
if isinstance(items[0] ,Manifold1D): |
1247 |
|
self.__dim=1 |
1248 |
|
elif isinstance(items[0] ,Manifold2D): |
1249 |
|
self.__dim=2 |
1250 |
|
elif isinstance(items[0] ,Manifold3D): |
1251 |
|
self.__dim=3 |
1252 |
|
else: |
1253 |
|
self.__dim=0 |
1254 |
|
return self.__dim |
1255 |
def __repr__(self): |
def __repr__(self): |
1256 |
""" |
""" |
1257 |
returns a string representation |
returns a string representation |
1262 |
returns the manifold class expected from items |
returns the manifold class expected from items |
1263 |
""" |
""" |
1264 |
d=self.getDim() |
d=self.getDim() |
1265 |
if d==0: |
if d == None: |
1266 |
return Point |
raise ValueError("undefined spatial diemnsion.") |
|
elif d==1: |
|
|
return Manifold1D |
|
|
elif d==2: |
|
|
return Manifold2D |
|
1267 |
else: |
else: |
1268 |
return Manifold3D |
if d==0: |
1269 |
def getDim(self): |
return Point |
1270 |
""" |
elif d==1: |
1271 |
returns the dimension of the items |
return Manifold1D |
1272 |
""" |
elif d==2: |
1273 |
return self.__dim |
return Manifold2D |
1274 |
|
else: |
1275 |
|
return Manifold3D |
1276 |
|
|
1277 |
def getName(self): |
def getName(self): |
1278 |
""" |
""" |
1279 |
returns the name of the set |
returns the name of the set |
1284 |
sets the name. |
sets the name. |
1285 |
""" |
""" |
1286 |
self.__name=str(name) |
self.__name=str(name) |
1287 |
|
|
1288 |
|
def addItems(self,*items): |
1289 |
|
""" |
1290 |
|
adds items. An item my be any L{Primitive} but no L{PropertySet} |
1291 |
|
""" |
1292 |
|
self.addItem(*items) |
1293 |
|
|
1294 |
def addItem(self,*items): |
def addItem(self,*items): |
1295 |
""" |
""" |
1296 |
adds items. An item my be any L{Primitive} but no L{PropertySet} |
adds items. An item my be any L{Primitive} but no L{PropertySet} |
1297 |
""" |
""" |
|
m=self.getManifoldClass() |
|
1298 |
for i in items: |
for i in items: |
1299 |
if not i in self.__items: |
if not i in self.__items: |
1300 |
if not isinstance(i, m): |
if len(self.__items)>0: |
1301 |
raise TypeError("argument %s is not a %s class object."%(i, m.__name__)) |
m=self.getManifoldClass() |
1302 |
|
if not isinstance(i, m): |
1303 |
|
raise TypeError("argument %s is not a %s class object."%(i, m.__name__)) |
1304 |
self.__items.append(i) |
self.__items.append(i) |
1305 |
|
def getNumItems(self): |
1306 |
|
""" |
1307 |
|
returns the number of items in the property set |
1308 |
|
""" |
1309 |
|
return len(self.__items) |
1310 |
|
|
1311 |
def getItems(self): |
def getItems(self): |
1312 |
""" |
""" |
1313 |
returns the list of items |
returns the list of items |