void BallJoint::addToLists(std::vector<Sensorport*>& sensorportList, std::vector<Actuatorport*>& actuatorportList, std::vector<Actuator*>& actuatorList) { if(this->motors.size() > 0) { std::string actuatorDescription; std::string sensorDescription; Motor* motor = motors.front(); std::vector<MotorAxisDescription>::const_iterator pos; for(int i = 0; i < motor->getNumberOfParsedAxes(); i++) { MotorAxisDescription* axis = motor->getAxis(i); actuatorDescription = "motorAxis" + i; actuatorDescription += "Actuator"; sensorDescription = "motorAxis" + i; sensorDescription += "Sensor"; Actuatorport* value = new Actuatorport (actuatorDescription, this, i, axis->minValue, axis->maxValue); actuatorportList.push_back(value); Sensorport* valueSensor = new Sensorport (sensorDescription, i, doubleSensor, this, axis->minValue, axis->maxValue); sensorportList.push_back(valueSensor); actuatorList.push_back(this); } } }
void BallJoint::addToDescriptions(std::vector<ObjectDescription>& objectDescriptionTree, int depth) { if(this->motors.size() > 0) { SimSensor::addToDescriptions(objectDescriptionTree, depth); ObjectDescription valueDesc; std::string actuatorDescription; std::string sensorDescription; Motor* motor = motors.front(); std::vector<MotorAxisDescription>::const_iterator pos; for(int i = 0; i < motor->getNumberOfParsedAxes(); i++) { motor->getAxis(i); actuatorDescription = "motorAxis" + i; actuatorDescription += "Actuator"; sensorDescription = "motorAxis" + i; sensorDescription += "Sensor"; //Add Actuatorport: valueDesc.name = actuatorDescription; valueDesc.fullName = fullName + "." + actuatorDescription; valueDesc.depth = depth + 1; valueDesc.type = OBJECT_TYPE_ACTUATORPORT; objectDescriptionTree.push_back(valueDesc); //Add Sensorport: valueDesc.name = sensorDescription; valueDesc.fullName = fullName + "." + sensorDescription; valueDesc.depth = depth + 1; valueDesc.type = OBJECT_TYPE_SENSORPORT; objectDescriptionTree.push_back(valueDesc); } } }