1 import sys,traceback,os
12 class PYCOMPO(DSCCODE__POA.PYCOMPO,dsccalcium.PyDSCComponent):
14 To be identified as a SALOME component this Python class
15 must have the same name as the component, inherit omniorb
16 class DSCCODE__POA.PYCOMPO and DSC class dsccalcium.PyDSCComponent
17 that implements DSC API.
19 def __init__ ( self, orb, poa, contID, containerName, instanceName, interfaceName ):
20 print "PYCOMPO.__init__: ", containerName, ';', instanceName,interfaceName
21 dsccalcium.PyDSCComponent.__init__(self, orb, poa,contID,containerName,instanceName,interfaceName)
23 def init_service(self,service):
24 print "init_service:",service
25 calcium.create_calcium_port(self.proxy,"tabin","CALCIUM_double","IN","I");
26 calcium.create_calcium_port(self.proxy,"tabout","CALCIUM_double","OUT","I");
34 force=calcium.doubleArray(ndim)
35 for i in xrange(ndim):
37 err=calcium.cp_edb(self.proxy,calcium.CP_ITERATION ,0.,1,"tabout",ndim,force)
40 val=numpy.zeros(ndim,'d')
42 val=calcium.doubleArray(ndim)
43 err,t,i,nval=calcium.cp_ldb(self.proxy,calcium.CP_ITERATION,0.,0.,1,"tabin",ndim,val)
48 for i in xrange(ndim):
52 print "End of PYCOMPO.run"
56 typ,exc_val,exc_fr=sys.exc_info()
57 l=traceback.format_exception(exc_typ,exc_val,exc_fr)
58 raise SALOME.SALOME_Exception(SALOME.ExceptionStruct(SALOME.BAD_PARAM,"".join(l),"PYCOMPO.py",0))