--- /dev/null
+import sys,traceback,os
+import DSCCODE__POA
+import calcium
+import dsccalcium
+import numpy
+
+class PYCOMPO(DSCCODE__POA.PYCOMPO,dsccalcium.PyDSCComponent):
+ """
+ To be identified as a SALOME component this Python class
+ must have the same name as the component, inherit omniorb
+ class DSCCODE__POA.PYCOMPO and DSC class dsccalcium.PyDSCComponent
+ that implements DSC API.
+ """
+ def __init__ ( self, orb, poa, contID, containerName, instanceName, interfaceName ):
+ print "PYCOMPO.__init__: ", containerName, ';', instanceName,interfaceName
+ dsccalcium.PyDSCComponent.__init__(self, orb, poa,contID,containerName,instanceName,interfaceName)
+
+ def init_service(self,service):
+ print "init_service:",service
+ calcium.create_calcium_port(self.proxy,"tabin","CALCIUM_double","IN","I");
+ calcium.create_calcium_port(self.proxy,"tabout","CALCIUM_double","OUT","I");
+ return True
+
+ def run( self):
+ print "PYCOMPO.run"
+ ndim=10
+
+ force=calcium.doubleArray(ndim)
+ for i in xrange(ndim):
+ force[i]=i
+ err=calcium.cp_edb(self.proxy,calcium.CP_ITERATION ,0.,1,"tabout",ndim,force)
+
+ #val=calcium.doubleArray(ndim)
+ val=numpy.zeros(ndim,'d')
+ err,t,i,nval=calcium.cp_ldb(self.proxy,calcium.CP_ITERATION,0.,0.,1,"tabin",ndim,val)
+ print err,t,i,nval
+ #for i in xrange(ndim):
+ # print val[i],
+ #print
+ print val
+
+ print "End of PYCOMPO.run"
+ sys.stdout.flush()
+
+