def setValue(self, valueName, valueValue): ''' set the variable valueName to valueValue @param valueName: name of variable to be set @type valueName: string @param valueValue: new value @type valueValue: any type castable to the type of the variable valueName ''' ScalarVariableReferenceVector = FMUInterface.createfmiReferenceVector(1) ScalarVariableReferenceVector[0] = self.description.scalarVariables[valueName].valueReference if self.description.scalarVariables[valueName].type.type == 'Real': ScalarVariableValueVector = FMUInterface.createfmiRealVector(1) ScalarVariableValueVector[0] = float(valueValue) self.interface.fmiSetReal(ScalarVariableReferenceVector, ScalarVariableValueVector) elif self.description.scalarVariables[valueName].type.type in ['Integer', 'Enumeration']: ScalarVariableValueVector = FMUInterface.createfmiIntegerVector(1) ScalarVariableValueVector[0] = int(valueValue) self.interface.fmiSetInteger(ScalarVariableReferenceVector, ScalarVariableValueVector) elif self.description.scalarVariables[valueName].type.type == 'Boolean': ScalarVariableValueVector = FMUInterface.createfmiBooleanVector(1) if valueValue == "true": ScalarVariableValueVector[0] = fmiTrue else: ScalarVariableValueVector[0] = fmiFalse self.interface.fmiSetBoolean(ScalarVariableReferenceVector, ScalarVariableValueVector) elif self.description.scalarVariables[valueName].type.type == 'String': ScalarVariableValueVector = FMUInterface.createfmiStringVector(1) ScalarVariableValueVector[0] = unicode(valueValue) self.interface.fmiSetString(ScalarVariableReferenceVector, ScalarVariableValueVector)
def setValue(self, valueName, valueValue): ''' set the variable valueName to valueValue @param valueName: name of variable to be set @type valueName: string @param valueValue: new value @type valueValue: any type castable to the type of the variable valueName ''' ScalarVariableReferenceVector = FMUInterface.createfmiReferenceVector( 1) ScalarVariableReferenceVector[0] = self.description.scalarVariables[ valueName].valueReference if self.description.scalarVariables[valueName].type.type == 'Real': ScalarVariableValueVector = FMUInterface.createfmiRealVector(1) ScalarVariableValueVector[0] = float(valueValue) self.interface.fmiSetReal(ScalarVariableReferenceVector, ScalarVariableValueVector) elif self.description.scalarVariables[valueName].type.type in [ 'Integer', 'Enumeration' ]: ScalarVariableValueVector = FMUInterface.createfmiIntegerVector(1) ScalarVariableValueVector[0] = int(valueValue) self.interface.fmiSetInteger(ScalarVariableReferenceVector, ScalarVariableValueVector) elif self.description.scalarVariables[ valueName].type.type == 'Boolean': ScalarVariableValueVector = FMUInterface.createfmiBooleanVector(1) if valueValue == "true": ScalarVariableValueVector[0] = fmiTrue else: ScalarVariableValueVector[0] = fmiFalse self.interface.fmiSetBoolean(ScalarVariableReferenceVector, ScalarVariableValueVector) elif self.description.scalarVariables[valueName].type.type == 'String': ScalarVariableValueVector = FMUInterface.createfmiStringVector(1) ScalarVariableValueVector[0] = unicode(valueValue) self.interface.fmiSetString(ScalarVariableReferenceVector, ScalarVariableValueVector)