@@ -95,6 +95,8 @@ def connect(self, inpt):
9595 )
9696 raise TypeError (err_str )
9797
98+ from ansys .dpf .core .results import Result
99+
98100 if isinstance (inpt , _Outputs ):
99101 self ._operator .connect (self ._pin , inpt ._operator , corresponding_pins [0 ][1 ])
100102 self ._operator .inputs ._connected_inputs [self ._pin ] = {
@@ -103,6 +105,11 @@ def connect(self, inpt):
103105 elif isinstance (inpt , Output ):
104106 self ._operator .connect (self ._pin , inpt ._operator , inpt ._pin )
105107 self ._operator .inputs ._connected_inputs [self ._pin ] = {inpt ._pin : inpt }
108+ elif isinstance (inpt , Result ):
109+ self ._operator .connect (self ._pin , inpt (), corresponding_pins [0 ][1 ])
110+ self ._operator .inputs ._connected_inputs [self ._pin ] = {
111+ corresponding_pins [0 ][1 ]: inpt ()
112+ }
106113 else :
107114 self ._operator .connect (self ._pin , inpt )
108115 self ._operator .inputs ._connected_inputs [self ._pin ] = inpt
@@ -215,19 +222,27 @@ def connect(self, inpt):
215222 err_str += f" - { map_types_to_python [cpp_type ]} \n "
216223 raise TypeError (err_str )
217224
218- if not isinstance (inpt , _Outputs ) and not isinstance (inpt , Output ):
219- self ._operator .connect (corresponding_pins [0 ], inpt )
220- self ._connected_inputs [corresponding_pins [0 ]] = inpt
221- elif input_type_name == "Output" :
225+ from ansys .dpf .core .results import Result
226+ if isinstance (inpt , Output ):
222227 self ._operator .connect (corresponding_pins [0 ], inpt ._operator , inpt ._pin )
223228 self ._connected_inputs [corresponding_pins [0 ]] = {inpt ._pin : inpt ._operator }
224- else :
229+ elif isinstance ( inpt , _Outputs ) :
225230 self ._operator .connect (
226231 corresponding_pins [0 ][0 ], inpt ._operator , corresponding_pins [0 ][1 ]
227232 )
228233 self ._connected_inputs [corresponding_pins [0 ][0 ]] = {
229234 corresponding_pins [0 ][1 ]: inpt ._operator
230235 }
236+ elif isinstance (inpt , Result ):
237+ self ._operator .connect (
238+ corresponding_pins [0 ][0 ], inpt (), corresponding_pins [0 ][1 ]
239+ )
240+ self ._connected_inputs [corresponding_pins [0 ][0 ]] = {
241+ corresponding_pins [0 ][1 ]: inpt ()
242+ }
243+ else :
244+ self ._operator .connect (corresponding_pins [0 ], inpt )
245+ self ._connected_inputs [corresponding_pins [0 ]] = inpt
231246
232247 def _add_input (self , pin , spec , count_ellipsis = - 1 ):
233248 if spec is not None :
0 commit comments