Example #1
0
SimObject* DistanceSensor::clone() const
{
  DistanceSensor* newDistanceSensor = new DistanceSensor();
  newDistanceSensor->copyStandardMembers(this);
  newDistanceSensor->sensorDataSize = sensorDataSize;
  newDistanceSensor->sensorReading = sensorReading;
  newDistanceSensor->sensorReading.data.doubleArray = new double[sensorDataSize];
  newDistanceSensor->standardRenderingBuffer = standardRenderingBuffer;
  std::list<SimObject*>::const_iterator pos;
  for(pos = childNodes.begin(); pos != childNodes.end(); ++pos)
  {
    SimObject* childNode = (*pos)->clone();
    newDistanceSensor->addChildNode(childNode, false);
  }
  SimObject* newObject = newDistanceSensor;
  return newObject;
}