MCPcopy Create free account
hub / github.com/JSBSim-Team/jsbsim / CopyInputControlsToJSBSim

Method CopyInputControlsToJSBSim

matlab/JSBSimInterface.cpp:221–256  ·  view source on GitHub ↗

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Source from the content-addressed store, hash-verified

219
220//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
221bool JSBSimInterface::CopyInputControlsToJSBSim(std::vector<double> controls) {
222 // TODO: error handling if controls is not correct size.
223
224 if (!fdmExec) return false;
225
226 try {
227 SGPropertyNode* node;
228 for (int i = 0; i < inputPort.size(); i++) {
229 node = inputPort.at(i);
230 switch (node->getType()) {
231 case simgear::props::BOOL:
232 node->setBoolValue(controls[i]);
233 break;
234 case simgear::props::INT:
235 node->setIntValue(controls[i]);
236 break;
237 case simgear::props::LONG:
238 node->setLongValue(controls[i]);
239 break;
240 case simgear::props::FLOAT:
241 node->setFloatValue(controls[i]);
242 break;
243 case simgear::props::DOUBLE:
244 node->setDoubleValue(controls[i]);
245 break;
246 default:
247 return false;
248 }
249 }
250
251 return true;
252 } catch (const LogException& e) {
253 mexPrintf(e.what());
254 return false;
255 }
256}
257
258//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
259bool JSBSimInterface::CopyInputWeatherToJSBSim(std::vector<double> weather) {

Callers 1

mdlUpdateFunction · 0.80

Calls 8

sizeMethod · 0.80
getTypeMethod · 0.80
setBoolValueMethod · 0.80
setIntValueMethod · 0.80
setLongValueMethod · 0.80
setFloatValueMethod · 0.80
setDoubleValueMethod · 0.80
whatMethod · 0.45

Tested by

no test coverage detected