Beispiel #1
0
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);
    }
  }
}
Beispiel #2
0
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);
    }
  }
}