ostream& OnEnteringPolygon::operator<<(ostream &out) const { // Serializer super class. StartType::operator<<(out); SerializationFactory& sf=SerializationFactory::getInstance(); core::SharedPointer<Serializer> s = sf.getSerializer(out); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL2('i', 'd') >::RESULT, getID()); // Write number of vertices. uint32_t numberOfVertices = static_cast<uint32_t>(m_listOfVertices.size()); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('n', 'u', 'm', 'v', 'e', 'r', 't', 's') >::RESULT, numberOfVertices); // Write actual vertices to stringstream. stringstream sstr; for (uint32_t i = 0; i < numberOfVertices; i++) { sstr << m_listOfVertices.at(i); } // Write string of vertices. if (numberOfVertices > 0) { s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('v', 'e', 'r', 't', 'i', 'c', 'e', 's') >::RESULT, sstr.str()); } return out; }
ostream& Polygon::operator<<(ostream &out) const { // Serializer super class. Shape::operator<<(out); SerializationFactory& sf=SerializationFactory::getInstance(); std::shared_ptr<Serializer> s = sf.getSerializer(out); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL6('h', 'e', 'i', 'g', 'h', 't') >::RESULT, m_height); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('c', 'o', 'l', 'o', 'r') >::RESULT, m_color); // Write number of vertices. uint32_t numberOfVertices = static_cast<uint32_t>(m_listOfVertices.size()); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('n', 'u', 'm', 'v', 'e', 'r', 't', 's') >::RESULT, numberOfVertices); // Write actual vertices to stringstream. stringstream sstr; for (uint32_t i = 0; i < numberOfVertices; i++) { sstr << m_listOfVertices.at(i); } // Write string of vertices. if (numberOfVertices > 0) { s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('v', 'e', 'r', 't', 'i', 'c', 'e', 's') >::RESULT, sstr.str()); } return out; }
ostream& Zone::operator<<(ostream &out) const { SerializationFactory& sf=SerializationFactory::getInstance(); core::SharedPointer<Serializer> s = sf.getSerializer(out); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL2('i', 'd') >::RESULT, getID()); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('n', 'a', 'm', 'e') >::RESULT, getName()); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('p', 'e', 'r', 'i', 'm', 't', 'e', 'r') >::RESULT, getPerimeter()); uint32_t numberOfConnectors = static_cast<uint32_t>(m_listOfConnectors.size()); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('n', 'u', 'm', 'c', 'o', 'n', 'n', 's') >::RESULT, numberOfConnectors); // Write connectors to stringstream. stringstream sstr; for (uint32_t i = 0; i < numberOfConnectors; i++) { // Write data to stringstream. sstr << m_listOfConnectors.at(i); } // Write connectors. if (numberOfConnectors > 0) { s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('c', 'o', 'n', 'n', 's') >::RESULT, sstr.str()); } uint32_t numberOfSpots = static_cast<uint32_t>(m_listOfSpots.size()); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('n', 'u', 'm', 's', 'p', 'o', 't', 's') >::RESULT, numberOfSpots); // Write spots to stringstream. sstr.str(""); for (uint32_t i = 0; i < numberOfSpots; i++) { // Write data to stringstream. sstr << m_listOfSpots.at(i); } // Write spots. if (numberOfSpots > 0) { s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('s', 'p', 'o', 't', 's') >::RESULT, sstr.str()); } return out; }
ostream& Layer::operator<<(ostream &out) const { SerializationFactory sf; Serializer &s = sf.getSerializer(out); s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('n', 'a', 'm', 'e') >::RESULT, getName()); s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL2('i', 'd') >::RESULT, getID()); s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL6('h', 'e', 'i', 'g', 'h', 't') >::RESULT, getHeight()); uint32_t numberOfRoads = static_cast<uint32_t>(m_listOfRoads.size()); s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('n', 'u', 'm', 'r', 'o', 'a', 'd', 's') >::RESULT, numberOfRoads); // Write roads to stringstream. stringstream sstr; for (uint32_t i = 0; i < numberOfRoads; i++) { // Write data to stringstream. sstr << m_listOfRoads.at(i); } // Write roads. if (numberOfRoads > 0) { s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('r', 'o', 'a', 'd', 's') >::RESULT, sstr.str()); } uint32_t numberOfZones = static_cast<uint32_t>(m_listOfZones.size()); s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('n', 'u', 'm', 'z', 'o', 'n', 'e', 's') >::RESULT, numberOfZones); // Write zones to stringstream. sstr.str(""); for (uint32_t i = 0; i < numberOfZones; i++) { // Write data to stringstream. sstr << m_listOfZones.at(i); } // Write zones. if (numberOfZones > 0) { s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('z', 'o', 'n', 'e', 's') >::RESULT, sstr.str()); } return out; }
ostream& Road::operator<<(ostream &out) const { SerializationFactory sf; Serializer &s = sf.getSerializer(out); s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL2('i', 'd') >::RESULT, getID()); s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('n', 'a', 'm', 'e') >::RESULT, getName()); uint32_t numberOfLanes = static_cast<uint32_t>(m_listOfLanes.size()); s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('n', 'u', 'm', 'l', 'a', 'n', 'e', 's') >::RESULT, numberOfLanes); // Write lanes to stringstream. stringstream sstr; for (uint32_t i = 0; i < numberOfLanes; i++) { // Write data to stringstream. sstr << m_listOfLanes.at(i); } // Write lanes. if (numberOfLanes > 0) { s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('l', 'a', 'n', 'e', 's') >::RESULT, sstr.str()); } return out; }
ostream& Scenario::operator<<(ostream &out) const { SerializationFactory sf; Serializer &s = sf.getSerializer(out); s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL6('h', 'e', 'a', 'd', 'e', 'r') >::RESULT, m_header); s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL6('g', 'r', 'o', 'u', 'n', 'd') >::RESULT, m_ground); uint32_t numberOfLayers = static_cast<uint32_t>(m_listOfLayers.size()); s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('n', 'u', 'm', 'l', 'a', 'y', 'e', 'r') >::RESULT, numberOfLayers); // Write roads to stringstream. stringstream sstr; for (uint32_t i = 0; i < numberOfLayers; i++) { // Write data to stringstream. sstr << m_listOfLayers.at(i); } // Write layers. if (numberOfLayers > 0) { s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL6('l', 'a', 'y', 'e', 'r', 's') >::RESULT, sstr.str()); } return out; }
ostream& PointIDDriver::operator<<(ostream &out) const { // Serializer super class. Behavior::operator<<(out); SerializationFactory& sf=SerializationFactory::getInstance(); core::SharedPointer<Serializer> s = sf.getSerializer(out); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('h', 'a', 's', 's', 't', 'a', 'r', 't') >::RESULT, (m_startType != NULL)); if (m_startType != NULL) { // Write data to stringstream. stringstream sstr; sstr << static_cast<uint32_t>(m_startType->getType()) << *m_startType; s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('s', 't', 'a', 'r', 't') >::RESULT, sstr.str()); } s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('h', 'a', 's', 's', 't', 'o', 'p') >::RESULT, (m_stopType != NULL)); if (m_stopType != NULL) { // Write data to stringstream. stringstream sstr; sstr << static_cast<uint32_t>(m_stopType->getType()) << *m_stopType; s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('s', 't', 'o', 'p') >::RESULT, sstr.str()); } s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL1('a') >::RESULT, m_constantAcceleration); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL1('v') >::RESULT, m_constantVelocity); uint32_t numberOfPointIDs = static_cast<uint32_t>(m_listOfPointIDs.size()); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('n', 'u', 'm', 'p', 'i', 'd', 's') >::RESULT, numberOfPointIDs); // Write PointIDs to stringstream. stringstream sstr; for (uint32_t i = 0; i < numberOfPointIDs; i++) { // Write data to stringstream. sstr << m_listOfPointIDs.at(i); } // Write PointIDs. if (numberOfPointIDs > 0) { s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('p', 'i', 'd', 's') >::RESULT, sstr.str()); } return out; }
ostream& IntrinsicParameters::operator<<(ostream &out) const { SerializationFactory& sf=SerializationFactory::getInstance(); std::shared_ptr<Serializer> s = sf.getSerializer(out); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('p', 'r', 'i', 'n', 'c', 'i', 'p', 'l') >::RESULT, m_principlePoint); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('f', 'o', 'c', 'a', 'l', 'l', 'e', 'n') >::RESULT, m_focalLength); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('f', 'o', 'c', 'd', 'i', 's', 't') >::RESULT, m_focalDistance); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('a', 'l', 'p', 'h', 'a') >::RESULT, m_alpha); return out; }
ostream& Object::operator<<(ostream &out) const { SerializationFactory& sf=SerializationFactory::getInstance(); std::shared_ptr<Serializer> s = sf.getSerializer(out); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('n', 'a', 'm', 'e') >::RESULT, m_name); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL2('i', 'd') >::RESULT, m_identifier); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('h', 'a', 's', 's', 'h', 'a', 'p', 'e') >::RESULT, (m_shape != NULL)); if (m_shape != NULL) { // Write data to stringstream. stringstream sstr; sstr << static_cast<uint32_t>(m_shape->getType()) << *m_shape; s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('s', 'h', 'a', 'p', 'e') >::RESULT, sstr.str()); } s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('r', 'o', 't', 'z') >::RESULT, m_rotationZ); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('h', 'a', 's', 'b', 'e', 'h', 'a', 'v') >::RESULT, (m_behavior != NULL)); if (m_behavior != NULL) { // Write data to stringstream. stringstream sstr; sstr << static_cast<uint32_t>(m_behavior->getType()) << *m_behavior; s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('b', 'e', 'h', 'a', 'v') >::RESULT, sstr.str()); } return out; }
ostream& ComplexModel::operator<<(ostream &out) const { // Serializer super class. Shape::operator<<(out); SerializationFactory& sf=SerializationFactory::getInstance(); core::SharedPointer<Serializer> s = sf.getSerializer(out); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('m', 'o', 'd', 'e', 'l') >::RESULT, m_modelFile); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('p', 'o', 's', 'i', 't', 'i', 'o', 'n') >::RESULT, m_position); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('r', 'o', 't', 'a', 't', 'i', 'o', 'n') >::RESULT, m_rotation); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('b', 'o', 'u', 'n', 'd', 'i', 'n', 'g') >::RESULT, m_boundingBox); return out; }
ostream& Route::operator<<(ostream &out) const { SerializationFactory sf; Serializer &s = sf.getSerializer(out); // Write number of vertices. uint32_t numberOfVertices = static_cast<uint32_t>(m_listOfVertices.size()); s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('n', 'u', 'm', 'v', 'e', 'r', 't', 's') >::RESULT, numberOfVertices); // Write actual vertices to stringstream. stringstream sstr; for (uint32_t i = 0; i < numberOfVertices; i++) { sstr << m_listOfVertices.at(i); } // Write string of vertices. if (numberOfVertices > 0) { s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('v', 'e', 'r', 't', 'i', 'c', 'e', 's') >::RESULT, sstr.str()); } return out; }
ostream& ContouredObjects::operator<<(ostream &out) const { SerializationFactory& sf=SerializationFactory::getInstance(); std::shared_ptr<Serializer> s = sf.getSerializer(out); // Write contoured objects. s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('c', 'o', 'b', 'j', 's', 'i', 'z', 'e') >::RESULT, static_cast<uint32_t>(m_contouredObjects.size())); // Contour. stringstream sstr; vector<ContouredObject>::const_iterator it = m_contouredObjects.begin(); while (it != m_contouredObjects.end()) { sstr << (*it++); } s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('c', 'o', 'n', 't', 'o', 'u', 'r') >::RESULT, sstr.str()); // Color. s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('c', 'o', 'l', 'o', 'r') >::RESULT, static_cast<uint32_t>(m_color)); return out; }
return out; } istream& Zone::operator>>(istream &in) { SerializationFactory sf; Deserializer &d = sf.getDeserializer(in); d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL2('i', 'd') >::RESULT, m_id); d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('n', 'a', 'm', 'e') >::RESULT, m_name); d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('p', 'e', 'r', 'i', 'm', 't', 'e', 'r') >::RESULT, m_perimeter); uint32_t numberOfConnectors = 0; d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('n', 'u', 'm', 'c', 'o', 'n', 'n', 's') >::RESULT, numberOfConnectors); if (numberOfConnectors > 0) { string str; // Read connectors into stringstream. d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('c', 'o', 'n', 'n', 's') >::RESULT, str); stringstream sstr(str); // Read connectors from stringstream.
s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('v', 'b', 'a', 't') >::RESULT, m_v_batt); s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('t', 'e', 'm', 'p') >::RESULT, m_temp); return out; } istream& VehicleData::operator>>(istream &in) { // Deserialize this class. SerializationFactory sf; Deserializer &d = sf.getDeserializer(in); d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('p', 'o', 's', 'i', 't', 'i', 'o', 'n') >::RESULT, m_position); d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('h', 'e', 'a', 'd', 'i', 'n', 'g') >::RESULT, m_heading); d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL3('a', 'd', 'p') >::RESULT, m_absTraveledPath); d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL3('r', 'd', 'p') >::RESULT, m_relTraveledPath); d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('v', 'e', 'l', 'o', 'c', 'i', 't', 'y') >::RESULT, m_velocity); d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('s', 'p', 'e', 'e', 'd') >::RESULT,
SerializationFactory& sf=SerializationFactory::getInstance(); std::shared_ptr<Deserializer> d = sf.getDeserializer(in); // Clean up. m_listOfVertices.clear(); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL6('h', 'e', 'i', 'g', 'h', 't') >::RESULT, m_height); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('c', 'o', 'l', 'o', 'r') >::RESULT, m_color); // Read number of vertices. uint32_t numberOfVertices = 0; d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('n', 'u', 'm', 'v', 'e', 'r', 't', 's') >::RESULT, numberOfVertices); if (numberOfVertices > 0) { // Read string of vertices. string vertices; d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('v', 'e', 'r', 't', 'i', 'c', 'e', 's') >::RESULT, vertices); stringstream sstr(vertices); // Read actual vertices from stringstream. for (uint32_t i = 0; i < numberOfVertices; i++) { Vertex3 v; sstr >> v; add(v);
return out; } istream& Object::operator>>(istream &in) { SerializationFactory& sf=SerializationFactory::getInstance(); std::shared_ptr<Deserializer> d = sf.getDeserializer(in); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('n', 'a', 'm', 'e') >::RESULT, m_name); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL2('i', 'd') >::RESULT, m_identifier); bool hasShape = false; d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('h', 'a', 's', 's', 'h', 'a', 'p', 'e') >::RESULT, hasShape); if (hasShape) { string str; // Read shapes into stringstream. d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('s', 'h', 'a', 'p', 'e') >::RESULT, str); stringstream sstr(str); // Read shape from stringstream. uint32_t type = 0; sstr >> type; enum Shape::SHAPETYPE shapeType = static_cast<enum Shape::SHAPETYPE>(type);
istream& Road::operator>>(istream &in) { SerializationFactory sf; Deserializer &d = sf.getDeserializer(in); // Clean up. m_listOfLanes.clear(); d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL2('i', 'd') >::RESULT, m_id); d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('n', 'a', 'm', 'e') >::RESULT, m_name); uint32_t numberOfLanes = 0; d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('n', 'u', 'm', 'l', 'a', 'n', 'e', 's') >::RESULT, numberOfLanes); if (numberOfLanes > 0) { string str; // Read lanes into stringstream. d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('l', 'a', 'n', 'e', 's') >::RESULT, str); stringstream sstr(str); // Read lanes from stringstream. for (uint32_t i = 0; i < numberOfLanes; i++) { Lane l; sstr >> l; addLane(l);
s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('f', 'o', 'c', 'd', 'i', 's', 't') >::RESULT, m_focalDistance); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('a', 'l', 'p', 'h', 'a') >::RESULT, m_alpha); return out; } istream& IntrinsicParameters::operator>>(istream &in) { SerializationFactory& sf=SerializationFactory::getInstance(); std::shared_ptr<Deserializer> d = sf.getDeserializer(in); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('p', 'r', 'i', 'n', 'c', 'i', 'p', 'l') >::RESULT, m_principlePoint); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('f', 'o', 'c', 'a', 'l', 'l', 'e', 'n') >::RESULT, m_focalLength); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('f', 'o', 'c', 'd', 'i', 's', 't') >::RESULT, m_focalDistance); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('a', 'l', 'p', 'h', 'a') >::RESULT, m_alpha); return in; } int32_t IntrinsicParameters::getID() const {
return out; } istream& ComplexModel::operator>>(istream &in) { // Deserializer super class. Shape::operator>>(in); SerializationFactory& sf=SerializationFactory::getInstance(); core::SharedPointer<Deserializer> d = sf.getDeserializer(in); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('m', 'o', 'd', 'e', 'l') >::RESULT, m_modelFile); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('p', 'o', 's', 'i', 't', 'i', 'o', 'n') >::RESULT, m_position); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('r', 'o', 't', 'a', 't', 'i', 'o', 'n') >::RESULT, m_rotation); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('b', 'o', 'u', 'n', 'd', 'i', 'n', 'g') >::RESULT, m_boundingBox); return in; } } } } // hesperia::data::situation
// Color. s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('c', 'o', 'l', 'o', 'r') >::RESULT, static_cast<uint32_t>(m_color)); return out; } istream& ContouredObjects::operator>>(istream &in) { SerializationFactory& sf=SerializationFactory::getInstance(); std::shared_ptr<Deserializer> d = sf.getDeserializer(in); // Read contoured objects. uint32_t numberOfContouredObjects = 0; d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('c', 'o', 'b', 'j', 's', 'i', 'z', 'e') >::RESULT, numberOfContouredObjects); reset(); string contour; d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('c', 'o', 'n', 't', 'o', 'u', 'r') >::RESULT, contour); stringstream sstr; sstr.str(contour); while (numberOfContouredObjects > 0) { ContouredObject co; sstr >> co; m_contouredObjects.push_back(co); numberOfContouredObjects--; }