</component-interface-list>
</component>
+ <component>
+ <!-- Component identification -->
+ <component-name>PYCOMPO</component-name>
+ <component-username>PYCOMPO</component-username>
+ <component-type>Data</component-type>
+ <component-author>C. Caremoli</component-author>
+ <component-version>3.2.0</component-version>
+ <component-comment>EDF - RD</component-comment>
+ <component-multistudy>1</component-multistudy>
+ <component-icone>INTERPI.png</component-icone>
+ <constraint>'linux' ~ OS</constraint>
+ <component-interface-list>
+ <component-interface-name>PYCOMPO</component-interface-name>
+ <component-interface-comment>No comment</component-interface-comment>
+ <component-service-list>
+ <component-service>
+ <!-- service-identification -->
+ <service-name>run</service-name>
+ <service-author>CCar</service-author>
+ <service-version>1.0</service-version>
+ <service-comment>run</service-comment>
+ <service-by-default>1</service-by-default>
+ <!-- service-connexion -->
+ <inParameter-list>
+ </inParameter-list>
+ <outParameter-list>
+ </outParameter-list>
+ </component-service>
+ </component-service-list>
+ </component-interface-list>
+ </component>
+
</component-list>
</begin-catalog>
--- /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()
+
+