pyNastran  0.5.0
pyNastran BDF Reader/Writer, OP2 Parser, and GUI
addCard.py
Go to the documentation of this file.
00001 ## GNU Lesser General Public License
00002 ## 
00003 ## Program pyNastran - a python interface to NASTRAN files
00004 ## Copyright (C) 2011-2012  Steven Doyle, Al Danial
00005 ## 
00006 ## Authors and copyright holders of pyNastran
00007 ## Steven Doyle <mesheb82@gmail.com>
00008 ## Al Danial    <al.danial@gmail.com>
00009 ## 
00010 ## This file is part of pyNastran.
00011 ## 
00012 ## pyNastran is free software: you can redistribute it and/or modify
00013 ## it under the terms of the GNU Lesser General Public License as published by
00014 ## the Free Software Foundation, either version 3 of the License, or
00015 ## (at your option) any later version.
00016 ## 
00017 ## pyNastran is distributed in the hope that it will be useful,
00018 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
00019 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00020 ## GNU General Public License for more details.
00021 ## 
00022 ## You should have received a copy of the GNU Lesser General Public License
00023 ## along with pyNastran.  If not, see <http://www.gnu.org/licenses/>.
00024 ## 
00025 # pylint: disable=E1101,C0103,R0902,R0904,R0914
00026 
00027 from __future__ import division, print_function
00028 
00029 class AddMethods(object):
00030     def __init__(self):
00031         pass
00032 
00033     def addDMI(self, dmi, allowOverwrites=False):
00034         name = dmi.name
00035         #if key in self.params and not allowOverwrites:
00036             #if not param.isSameCard(self.params[key]):
00037                 #assert param.key not in self.params,'key=%s param=%s oldPARAM=%s' %(key,param,self.params[key])
00038                 #self.log.warning('key=%s param=%s oldPARAM=%s' %(key,param,self.params[key]))
00039                 #self.params[key] = param
00040         #else:
00041         self.dmis[name] = dmi
00042         ###
00043 
00044     def addDMIG(self, dmig, allowOverwrites=False):
00045         name = dmig.name
00046         #if key in self.params and not allowOverwrites:
00047             #if not param.isSameCard(self.params[key]):
00048                 #assert param.key not in self.params,'key=%s param=%s oldPARAM=%s' %(key,param,self.params[key])
00049                 #self.log.warning('key=%s param=%s oldPARAM=%s' %(key,param,self.params[key]))
00050                 #self.params[key] = param
00051         #else:
00052         self.dmigs[name] = dmig
00053         ###
00054 
00055     def addDMIJ(self, dmij, allowOverwrites=False):
00056         name = dmij.name
00057         #if key in self.params and not allowOverwrites:
00058             #if not param.isSameCard(self.params[key]):
00059                 #assert param.key not in self.params,'key=%s param=%s oldPARAM=%s' %(key,param,self.params[key])
00060                 #self.log.warning('key=%s param=%s oldPARAM=%s' %(key,param,self.params[key]))
00061                 #self.params[key] = param
00062         #else:
00063         self.dmijs[name] = dmij
00064         ###
00065 
00066     def addDMIJI(self, dmiji, allowOverwrites=False):
00067         name = dmiji.name
00068         #if key in self.params and not allowOverwrites:
00069             #if not param.isSameCard(self.params[key]):
00070                 #assert param.key not in self.params,'key=%s param=%s oldPARAM=%s' %(key,param,self.params[key])
00071                 #self.log.warning('key=%s param=%s oldPARAM=%s' %(key,param,self.params[key]))
00072                 #self.params[key] = param
00073         #else:
00074         self.dmijis[name] = dmiji
00075         ###
00076 
00077     def addDMIK(self, dmik, allowOverwrites=False):
00078         name = dmik.name
00079         #if key in self.params and not allowOverwrites:
00080             #if not param.isSameCard(self.params[key]):
00081                 #assert param.key not in self.params,'key=%s param=%s oldPARAM=%s' %(key,param,self.params[key])
00082                 #self.log.warning('key=%s param=%s oldPARAM=%s' %(key,param,self.params[key]))
00083                 #self.params[key] = param
00084         #else:
00085         self.dmiks[name] = dmik
00086         ###
00087 
00088     def addParam(self, param, allowOverwrites=False):
00089         key = param.key
00090         if key in self.params and not allowOverwrites:
00091             if not param.isSameCard(self.params[key]):
00092                 #assert param.key not in self.params,'key=%s param=%s oldPARAM=%s' %(key,param,self.params[key])
00093                 self.log.warning('key=%s param=%s oldPARAM=%s' %(key, param, self.params[key]))
00094                 self.params[key] = param
00095         else:
00096             self.params[key] = param
00097         ###
00098 
00099     def addNode(self, node, allowOverwrites=False):
00100         #print node
00101         #assert node.nid not in self.nodes,'nid=%s\noldNode=\n%snewNode=\n%s' %(node.nid,self.nodes[node.nid],node)  ## @todo enable before release...
00102         #assert node.nid>0,'nid=%s node=\n%s' %(node.nid,node)
00103         #self.nodes[key] = node
00104 
00105         key = node.nid
00106         if key in self.nodes and not allowOverwrites:
00107             if not node.isSameCard(self.nodes[key]):
00108                 print('nid=%s\noldNode=\n%snewNode=\n%s' %(key, self.nodes[key], node))
00109                 assert node.nid not in self.nodes, 'nid=%s\noldNode=\n%snewNode=\n%s' %(node.nid, self.nodes[key], node)
00110             else:                
00111                 #print 'Node was duplicated...nid=%s\nnode=\n%s' %(key,node)
00112                 pass
00113         else:
00114             assert key > 0, 'nid=%s node=%s' %(key, node)
00115             self.nodes[key] = node
00116         ###
00117 
00118     def addSPoint(self, spoint):
00119         if self.spoints is None:
00120             self.spoints = spoint
00121         else:
00122             self.spoints.addSPoints(spoint.spoints)
00123         ###
00124 
00125     def addElement(self, elem, allowOverwrites=False):
00126         key = elem.eid
00127         #self.elements[key] = elem  ## @todo temporary
00128         #return                     ## @todo temporary
00129 
00130         if key in self.elements and not allowOverwrites:
00131             if not elem.isSameCard(self.elements[key]):
00132                 elem.isSameCard(self.elements[key], debug=True)
00133                 #print 'eid=%s\noldElement=\n%snewElement=\n%s' %(key,self.elements[key],elem)
00134                 assert elem.eid not in self.elements, 'eid=%s\noldElement=\n%snewElement=\n%s' %(elem.eid, self.elements[elem.eid], elem)
00135         else:
00136             assert key > 0, 'eid=%s elem=%s' %(key, elem)
00137             self.elements[key] = elem
00138         ###
00139 
00140     def addMassElement(self, elem, allowOverwrites=False):
00141         key = elem.eid
00142         #self.massElements[key] = elem  ## @todo temporary
00143         #return                         ## @todo temporary
00144 
00145         if key in self.massElements and not allowOverwrites:
00146             if not elem.isSameCard(self.massElements[key]):
00147                 elem.isSameCard(self.elements[key], debug=True)
00148                 #print 'eid=%s\noldElement=\n%snewElement=\n%s' %(key,self.elements[key],elem)
00149                 assert elem.eid not in self.massElements, 'eid=%s\noldElement=\n%snewElement=\n%s' %(elem.eid, self.massElements[elem.eid], elem)
00150         else:
00151             assert key > 0, 'eid=%s elem=%s' %(key, elem)
00152             self.massElements[key] = elem
00153         ###
00154 
00155     def addDamperElement(self, elem, allowOverwrites=False):
00156         """@warning can dampers have the same ID as a standard element?"""
00157         return self.addElement(elem, allowOverwrites)
00158         key = elem.eid
00159         if key in self.damperElements and not allowOverwrites:
00160             if not elem.isSameCard(self.damperElements[key]):
00161                 #print 'eid=%s\noldElement=\n%snewElement=\n%s' %(key,self.elements[key],elem)
00162                 assert elem.eid not in self.damperElements,'eid=%s\noldDamperElement=\n%snewDamperElement=\n%s' %(elem.eid,self.damperElements[elem.eid],elem)
00163         else:
00164             assert key > 0,'eid=%s elem=%s' %(key,elem)
00165             self.damperElements[key] = elem
00166         ###
00167 
00168     def addRigidElement(self, elem, allowOverwrites=False):
00169         key = elem.eid
00170         if key in self.rigidElements and not allowOverwrites:
00171             print('eid=%s\noldElement=\n%snewElement=\n%s' %(key,self.rigidElements[key],elem))
00172             #assert elem.eid not in self.rigidElements,'eid=%s\noldElement=\n%snewElement=\n%s' %(elem.eid,self.rigidElements[elem.eid],elem)
00173             pass
00174         assert key > 0,'eid=%s elem=%s' %(key,elem)
00175         self.rigidElements[key] = elem
00176 
00177     def addThermalElement(self,elem):
00178         """same as addElement at the moment..."""
00179         self.addElement(elem)
00180         #assert elem.eid not in self.elements
00181         #assert elem.eid>0
00182         #self.elements[elem.eid] = elem
00183 
00184     def addDEQATN(self,deqatn,allowOverwrites=False):
00185         key = deqatn.eqID
00186         #if not allowOverwrites:
00187         #    assert prop.pid not in self.properties,'pid=%s oldProperty=\n%snewProperty=\n%s' %(prop.pid,self.properties[prop.pid],prop)
00188         assert key > 0,'ID=%s deqatn\n%s' %(key, deqatn)
00189         self.dequations[key] = deqatn
00190 
00191     def addProperty(self,prop,allowOverwrites=False):   
00192         key = prop.pid
00193         #self.properties[key] = prop  ## @todo temporary
00194         #return                       ## @todo temporary
00195 
00196         if key in self.properties and not allowOverwrites:
00197             if not prop.isSameCard(self.properties[key]):
00198                 #print 'pid=%s\noldProperty=\n%snewProperty=\n%s' %(key,self.properties[key],prop)
00199                 assert key not in self.properties,'pid=%s oldProperty=\n%snewProperty=\n%s' %(key,self.properties[key],prop)
00200         else:
00201             assert key > 0,'pid=%s prop=%s' %(key,prop)
00202             self.properties[key] = prop
00203         ###
00204 
00205     def addMaterial(self,material,allowOverwrites=False):
00206         """
00207         only for adding structural materials
00208         @deprecated this method will be renamed in v0.3 to addStructuralMaterial.
00209         """
00210         self.addStructuralMaterial(material,allowOverwrites)
00211 
00212     def addStructuralMaterial(self,material,allowOverwrites=False):
00213         key = material.mid
00214         if key in self.materials and not allowOverwrites:
00215             if not material.isSameCard(self.materials[key]):
00216                 assert key not in self.materials,'mid=%s\noldMaterial=\n%snewMaterial=\n%s' %(key,self.materials[key],material)
00217         else:
00218             assert key > 0,'mid=%s material=\n%s' %(key,material)
00219             self.materials[key] = material
00220 
00221     def addThermalMaterial(self,material,allowOverwrites=False):
00222         key = material.mid
00223         if key in self.thermalMaterials and not allowOverwrites:
00224             if not material.isSameCard(self.thermalMaterials[key]):
00225                 assert key not in self.thermalMaterials,'mid=%s\noldMaterial=\n%snewMaterial=\n%s' %(key,self.thermalMaterials[key],material)
00226         else:
00227             assert key > 0,'mid=%s material=\n%s' %(key,material)
00228             self.thermalMaterials[key] = material
00229 
00230     def addMaterialDependence(self,material,allowOverwrites=False):
00231         key = material.mid
00232         if key in self.materialDeps and not allowOverwrites:
00233             if not material.isSameCard(self.materialDeps[key]):
00234                 assert key not in self.materialDeps,'mid=%s\noldMaterialDep=\n%snewMaterialDep=\n%s' %(key,self.materialDeps[key],material)
00235         else:
00236             assert key > 0,'mid=%s material=\n%s' %(key,material)
00237             self.materialDeps[key] = material
00238 
00239     def addCreepMaterial(self,material,allowOverwrites=False):
00240         """
00241         @note
00242             May be removed in the future.  Are CREEP cards materials?
00243             They have an MID, but reference structural materials.
00244         """
00245         key = material.mid
00246         if key in self.thermalMaterials and not allowOverwrites:
00247             if not material.isSameCard(self.creepMaterials[key]):
00248                 assert key not in self.creepMaterials,'mid=%s\noldMaterial=\n%snewMaterial=\n%s' %(key,self.creepMaterials[key],material)
00249         else:
00250             assert key > 0,'mid=%s material=\n%s' %(key,material)
00251             self.creepMaterials[key] = material
00252 
00253     def addCoord(self,coord, allowOverwrites=False):
00254         key = coord.cid
00255         if not allowOverwrites:
00256             assert key not in self.coords,'cid=%s\noldElement=\n%snewElement=\n%s' %(key,self.coords[key],coord)
00257         assert coord.cid>-1,'cid=%s coord=\n%s' %(key,coord)
00258         self.coords[key] = coord
00259 
00260     def addLoad(self, load):
00261         key = load.sid
00262         if key in self.loads:
00263             self.loads[key].append(load)
00264         else:
00265             self.loads[key] = [load]
00266 
00267     def addLSeq(self,load):
00268         key = load.sid
00269         if key in self.loads:
00270             self.loads[key].append(load)
00271         else:
00272             self.loads[key] = [load]
00273 
00274     def addThermalLoad(self, load):  # same function at the moment...
00275         key = load.sid
00276         assert key > 0
00277         if key in self.loads:
00278             self.loads[key].append(load)
00279         else:
00280             self.loads[key] = [load]
00281 
00282     def addPHBDY(self,prop):
00283         assert prop.pid>0
00284         assert prop.pid not in self.phbdys
00285         self.phbdys[prop.pid] = prop
00286 
00287     def addConvectionProperty(self,prop):
00288         assert prop.pconid>0
00289         assert prop.pconid not in self.convectionProperties
00290         self.convectionProperties[prop.pconid] = prop
00291 
00292     #def addThermalProperty(self,prop):
00293     #    assert prop.pconid not in self.thermalProperties
00294     #    self.thermalProperties[prop.pconid] = prop
00295 
00296     def addThermalBC(self,bc,key):
00297         assert key > 0
00298         if key in self.bcs:
00299             self.bcs[key].append(bc)
00300         else:
00301             self.bcs[key] = [bc]
00302 
00303     def addConstraint_MPCADD(self,constraint):
00304         #self.mpcObject.add(constraint)
00305         if constraint.conid in self.mpcadds:
00306             raise RuntimeError('must have unique MPCADD IDs')
00307         self.mpcadds[constraint.conid] = constraint
00308 
00309     def addConstraint_MPC(self,constraint):
00310         #self.mpcObject.append(constraint)
00311         if constraint.conid in self.mpcs:
00312             self.mpcs[constraint.conid].append(constraint)
00313         else:
00314             self.mpcs[constraint.conid] = [constraint]
00315 
00316     def addConstraint_SPCADD(self,constraint):
00317         #self.spcObject.add(constraint)
00318         if constraint.conid in self.spcadds:
00319             raise RuntimeError('must have unique SPCADD IDs')
00320         self.spcadds[constraint.conid] = constraint
00321 
00322     def addConstraint_SPC(self,constraint):
00323         #self.spcObject.append(constraint)
00324         if constraint.conid in self.spcs:
00325             self.spcs[constraint.conid].append(constraint)
00326         else:
00327             self.spcs[constraint.conid] = [constraint]
00328         #key = constraint.conid
00329         #if self.constraints.has_key(key):
00330         #    self.constraints[key].append(constraint)
00331         #else:
00332         #    self.constraints[key] = [constraint]
00333 
00334     def addConstraint(self,constraint):
00335         #self.spcObject.append(constraint)
00336         key = constraint.conid
00337 
00338         if constraint.conid in self.spcs:
00339             self.spcs[key].append(constraint)
00340         else:
00341             self.spcs[key] = [constraint]
00342 
00343         #assert key > 0
00344         #if self.constraints.has_key(key):
00345         #    self.constraints[key].append(constraint)
00346         #else:
00347         #    self.constraints[key] = [constraint]
00348 
00349     def addSuport(self,suport):
00350         self.suports.append(suport)
00351 
00352     def addDArea(self,darea,allowOverwrites=False):
00353         key = (darea.sid,darea.p)
00354         if key in self.dareas and not allowOverwrites:
00355             if not darea.isSameCard(self.dareas[key]):
00356                 assert key not in self.dareas,'\ndarea=\n%s oldDArea=\n%s' %(darea,self.dareas[key])
00357         else:
00358             assert darea.sid>0
00359             self.dareas[key] = darea
00360         ###
00361 
00362     def addAero(self,aero):
00363         key = aero.acsid
00364         assert key not in self.aero,'\naero=\n%s oldAERO=\n%s' %(aero,self.aero[key])
00365         assert key>=0
00366         self.aero[key] = aero
00367 
00368     def addAeros(self,aero):
00369         key = aero.acsid
00370         assert key not in self.aeros,'\naeros=\n%s oldAEROS=\n%s' %(aero,self.aeros[key])
00371         assert key>=0
00372         self.aeros[key] = aero
00373 
00374     def addAEFact(self,aefact,allowOverwrites=False):
00375         key = aefact.sid
00376         if key in self.aefacts and not allowOverwrites:
00377             if not aefact.isSameCard(self.aefacts[key]):
00378                 assert key not in self.aefacts,'sid=%s\noldAEFACT=\n%snewAEFACT=\n%s' %(key,self.aefacts[key],aefact)
00379         else:
00380             assert key > 0,'sid=%s method=\n%s' %(key,aefact)
00381             self.aefacts[key] = aefact
00382         ###
00383 
00384     def addAEList(self,aelist):
00385         key = aelist.sid
00386         assert key not in self.aelists,'\naelist=\n%s oldAELIST=\n%s' %(aelist,self.aelists[key])
00387         assert key>=0
00388         self.aelists[key] = aelist
00389 
00390     def addAELink(self,aelink):
00391         key = aelink.id
00392         assert key>=0
00393         if key not in self.aelinks:
00394             self.aelinks[key] = []
00395         self.aelinks[key].append(aelink)
00396         #assert key not in self.aestats,'\naestat=%s oldAESTAT=\n%s' %(aestat,self.aestats[key])
00397 
00398     def addAEParam(self,aeparam):
00399         key = aeparam.id
00400         assert key not in self.aeparams,'\naeparam=\n%s oldAESTAT=\n%s' %(aeparam,self.aeparams[key])
00401         assert key>=0
00402         self.aeparams[key] = aeparam
00403 
00404     def addAEStat(self,aestat):
00405         key = aestat.id
00406         assert key not in self.aestats,'\naestat=\n%s oldAESTAT=\n%s' %(aestat,self.aestats[key])
00407         assert key>=0
00408         self.aestats[key] = aestat
00409 
00410     def addAESurf(self,aesurf):
00411         key = aesurf.aesid
00412         assert key not in self.aesurfs,'\naesurf=\n%s oldAESURF=\n%s' %(aesurf,self.aesurfs[key])
00413         assert key>=0
00414         self.aesurfs[key] = aesurf
00415 
00416     def addCAero(self,caero):
00417         key = caero.eid
00418         assert key not in self.caeros,'\ncaero=\n|%s| oldCAERO=\n|%s|' %(caero,self.caeros[key])
00419         assert key > 0
00420         self.caeros[key] = caero
00421 
00422     def addPAero(self,paero):
00423         key = paero.pid
00424         assert key not in self.paeros,'\npaero=\n|%s| oldPAERO=\n|%s|' %(paero,self.paeros[key])
00425         assert key > 0,'paero.pid = |%s|' %(key)
00426         self.paeros[key] = paero
00427 
00428     def addSpline(self,spline):
00429         assert spline.eid not in self.splines
00430         assert spline.eid>0
00431         self.splines[spline.eid] = spline
00432 
00433     def addGUST(self,gust):
00434         key = gust.sid
00435         assert key not in self.gusts
00436         assert key > 0
00437         self.gusts[key] = gust
00438 
00439     def addTrim(self,trim,allowOverwrites=False):
00440         key = trim.sid
00441         if not allowOverwrites:
00442             assert key not in self.trims,'trim=%s oldTrim=\n%snewProperty=\n%s' %(key,self.trims[key],trim)
00443         assert key > 0,'trim=\n%s' %(key,trim)
00444         self.trims[key] = trim
00445 
00446     def addFlutter(self,flutter):
00447         key = flutter.sid
00448         assert key not in self.flutters
00449         assert key > 0
00450         self.flutters[key] = flutter
00451 
00452     def addFLFACT(self,flfact):
00453         key = flfact.sid
00454         #assert key not in self.flfacts
00455         assert key > 0
00456         self.flfacts[key] = flfact # set id...
00457         #print "added flfact...flflact =\n"+flfact
00458 
00459     def addDConstr(self,dconstr):
00460         key = (dconstr.oid,dconstr.rid)
00461         assert key not in self.dconstrs
00462         assert dconstr.oid>0
00463         assert dconstr.rid>0
00464         self.dconstrs[key] = dconstr
00465 
00466     def addDesvar(self,desvar):
00467         key = desvar.oid
00468         assert key not in self.desvars
00469         assert key > 0
00470         self.desvars[key] = desvar
00471 
00472     def addDDVal(self,ddval):
00473         key = ddval.oid
00474         assert key not in self.ddvals
00475         assert key > 0
00476         self.ddvals[key] = ddval
00477 
00478     def addDLink(self,dlink):
00479         key = dlink.oid
00480         assert key not in self.dlinks
00481         assert key > 0
00482         self.dlinks[key] = dlink
00483 
00484     def addDResp(self,dresp):
00485         key = dresp.oid
00486         assert key not in self.dresps
00487         assert key > 0
00488         self.dresps[key] = dresp
00489 
00490     def addDvmrel(self, dvmrel):
00491         key = dvmrel.oid
00492         assert key not in self.dvmrels
00493         assert key > 0
00494         self.dvmrels[key] = dvmrel
00495 
00496     def addDvprel(self, dvprel):
00497         key = dvprel.oid
00498         assert key not in self.dvprels
00499         assert key > 0
00500         self.dvprels[key] = dvprel
00501 
00502     def addNLParm(self, nlparm):
00503         key = nlparm.nid
00504         assert key not in self.nlparms
00505         assert key > 0
00506         self.nlparms[key] = nlparm
00507 
00508     def addTSTEP(self, tstep, allowOverwrites=False):
00509         key = tstep.sid
00510         if key in self.tsteps and not allowOverwrites:
00511             if not tstep.isSameCard(self.tsteps[key]):
00512                 assert key not in self.tsteps,'sid=%s\noldTSTEP=\n%snewTSTEP=\n%s' %(key, self.tsteps[key], tstep)
00513         else:
00514             assert key > 0, 'sid=%s tstep=\n%s' %(key,tstep)
00515             self.tsteps[key] = tstep
00516         ###
00517 
00518     def addTSTEPNL(self, tstepnl, allowOverwrites=False):
00519         key = tstepnl.sid
00520         if key in self.tsteps and not allowOverwrites:
00521             if not tstepnl.isSameCard(self.tsteps[key]):
00522                 assert key not in self.tstepnls, 'sid=%s\noldTSTEPNL=\n%snewTSTEPNL=\n%s' %(key, self.tstepnls[key], tstepnl)
00523         else:
00524             assert key > 0, 'sid=%s tstepnl=\n%s' %(key,tstepnl)
00525             self.tstepnls[key] = tstepnl
00526         ###
00527     def addFREQ(self,freq):
00528         key = freq.sid
00529         assert key > 0
00530         if key in self.frequencies:
00531             self.frequencies[key].addFrequencyObject(freq)
00532         else:
00533             self.frequencies[key] = freq
00534         #assert key not in self.frequencies,'\nfreq=\n%s oldFreq=\n%s' %(freq,self.frequencies[key])
00535 
00536     def addSet(self,setObj):
00537         key = setObj.sid
00538         assert key not in self.sets,'\nSET=\n%s oldSET=\n%s' %(setObj,self.sets[key])
00539         assert key>=0
00540         self.sets[key] = setObj
00541 
00542     def addASet(self,setObj):
00543         self.asets.append(setObj)
00544 
00545     def addBSet(self,setObj):
00546         self.bsets.append(setObj)
00547 
00548     def addCSet(self,setObj):
00549         self.csets.append(setObj)
00550 
00551     def addQSet(self,setObj):
00552         self.qsets.append(setObj)
00553 
00554     def addSetSuper(self,setObj):
00555         key = setObj.seid
00556         assert key not in self.setsSuper,'\nSESET=\n%s oldSESET=\n%s' %(setObj,self.setsSuper[key])
00557         assert key>=0
00558         self.setsSuper[key] = setObj
00559 
00560     def addTable(self,table):
00561         key = table.tid
00562         assert key not in self.tables,'\nTable=\n%s oldTable=\n%s' %(table,self.tables[key])
00563         assert key > 0
00564         self.tables[key] = table
00565 
00566     def addRandomTable(self,table):
00567         key = table.tid
00568         assert key not in self.randomTables,'\nTable=\n%s oldTable=\n%s' %(table,self.randomTables[key])
00569         assert key > 0
00570         self.randomTables[key] = table
00571 
00572     def addMethod(self,method,allowOverwrites=False):
00573         key = method.sid
00574         if key in self.methods and not allowOverwrites:
00575             if not method.isSameCard(self.methods[key]):
00576                 assert key not in self.methods,'sid=%s\noldMethod=\n%snewMethod=\n%s' %(key,self.methods[key],method)
00577         else:
00578             assert key > 0,'sid=%s method=\n%s' %(key,method)
00579             self.methods[key] = method
00580         ###
00581 
00582     def addCMethod(self,cMethod,allowOverwrites=False):
00583         key = cMethod.sid
00584         if key in self.cMethods and not allowOverwrites:
00585             if not cMethod.isSameCard(self.cMethods[key]):
00586                 assert key not in self.cMethods,'sid=%s\noldCMethod=\n%snewCMethod=\n%s' %(key,self.cMethods[key],cMethod)
00587         else:
00588             assert key > 0,'sid=%s cMethod=\n%s' %(key,cMethod)
00589             self.cMethods[key] = cMethod
00590         ###
00591 
00592     def addMKAero(self,mkaero):
00593         self.mkaeros.append(mkaero)
 All Classes Namespaces Files Functions Variables