Пример #1
0
  def mAddOutPort(self, name, m_inport, row, col, mlen, sn, mstate, t_attachports, autoCon = True):

    sig = CalcDataPort.DataType.Single
    sec = CalcDataPort.DataType.Sequence
    ext = CalcDataPort.DataType.Extend

    m_data_o = None
    m_data_type = None
    
    if autoCon:
        m_data_o, m_data_type =  CalcDataPort.GetDataType(m_inport[1])
    else:
        m_data_o, m_data_type =  CalcDataPort.GetDataSType(m_inport[1])
    

    if m_data_o:
        
        m_outport = OpenRTM_aist.OutPort(name, m_data_o)
        self.addOutPort(name, m_outport)
        
        if autoCon:
            OOoRTC.ConnectPort(m_inport[1], m_outport._objref, name)

        if m_data_type[1] == sig:
            self.OutPorts[name] = self.m_CalcOutPort(m_outport, m_data_o, name, row, col, mlen, sn, mstate, m_inport, m_data_type, t_attachports)
        elif m_data_type[1] == sec:
            self.OutPorts[name] = self.m_CalcOutPortSeq(m_outport, m_data_o, name, row, col, mlen, sn, mstate, m_inport, m_data_type, t_attachports)
        elif m_data_type[1] == ext:
            self.OutPorts[name] = self.m_CalcOutPortEx(m_outport, m_data_o, name, row, col, mlen, sn, mstate, m_inport, m_data_type, t_attachports)
        
        return self.OutPorts[name]

    return None
Пример #2
0
    def mAddInPort(self,
                   name,
                   m_outport,
                   row,
                   col,
                   mlen,
                   sn,
                   mstate,
                   t_attachports,
                   autoCon=True):
        sig = CalcDataPort.DataType.Single
        sec = CalcDataPort.DataType.Sequence
        ext = CalcDataPort.DataType.Extend

        m_data_i = None
        m_data_type = None

        if autoCon:
            m_data_i, m_data_type = CalcDataPort.GetDataType(m_outport[1])
        else:
            m_data_i, m_data_type = CalcDataPort.GetDataSType(m_outport[1])

        if m_data_i:
            m_inport = OpenRTM_aist.InPort(name, m_data_i)
            self.addInPort(name, m_inport)

            if autoCon:
                OOoRTC.ConnectPort(m_inport._objref, m_outport[1], name)

            #self.InPorts[name] = self.m_CalcPortObject(m_inport, m_data_i, name, row, col, mlen, sn, mstate, m_outport, m_data_type, t_attachports)
            if m_data_type[1] == sig:
                self.InPorts[name] = self.m_CalcInPort(m_inport, m_data_i,
                                                       name, row, col, mlen,
                                                       sn, mstate, m_outport,
                                                       m_data_type,
                                                       t_attachports)
            elif m_data_type[1] == sec:
                self.InPorts[name] = self.m_CalcInPortSeq(
                    m_inport, m_data_i, name, row, col, mlen, sn, mstate,
                    m_outport, m_data_type, t_attachports)
            elif m_data_type[1] == ext:
                self.InPorts[name] = self.m_CalcInPortEx(
                    m_inport, m_data_i, name, row, col, mlen, sn, mstate,
                    m_outport, m_data_type, t_attachports)

            m_inport.addConnectorDataListener(
                OpenRTM_aist.ConnectorDataListenerType.ON_BUFFER_WRITE,
                DataListener(self.InPorts[name], self))

            return self.InPorts[name]

        return None
Пример #3
0
 def mAddOutPort(self, name, m_inport, offset, scale, pos, obj, autoCon = True):
     
     m_data_o = None
     m_data_type = None
   
     if autoCon:
       m_data_o, m_data_type =  DrawDataPort.GetDataType(m_inport[1])
     else:
       m_data_o, m_data_type =  DrawDataPort.GetDataSType(m_inport[1])
       
     
     if m_data_o:
       m_outport = OpenRTM_aist.OutPort(name, m_data_o)
       self.addOutPort(name, m_outport)
       if autoCon:
           OOoRTC.ConnectPort(m_outport._objref, m_inport[1], name)
       self.OutPorts[name] = DrawDataPort.DrawPortObject(m_outport, m_data_o, name, offset, scale, pos, obj, m_inport, m_data_type)