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& Situation::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); uint32_t numberOfObjects = static_cast<uint32_t>(m_listOfObjects.size()); s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL6('n', 'u', 'm', 'o', 'b', 's') >::RESULT, numberOfObjects); // Write roads to stringstream. stringstream sstr; for (uint32_t i = 0; i < numberOfObjects; i++) { // Write data to stringstream. sstr << m_listOfObjects.at(i); } // Write objects. if (numberOfObjects > 0) { s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('o', 'b', 'j', 'e', 'c', 't', 's') >::RESULT, sstr.str()); } return out; }
ostream& PointModel::operator<<(ostream &out) const { // Serializer super class. LaneModel::operator<<(out); SerializationFactory sf; Serializer &s = sf.getSerializer(out); uint32_t numberOfIdentifiableVertices = static_cast<uint32_t>(m_listOfIdentifiableVertices.size()); s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('n', 'u', 'm', 'i', 'd', 'v', 's') >::RESULT, numberOfIdentifiableVertices); // Write identifiable vertices to stringstream. stringstream sstr; for (uint32_t i = 0; i < numberOfIdentifiableVertices; i++) { // Write data to stringstream. sstr << m_listOfIdentifiableVertices.at(i); } // Write identifiable vertices. if (numberOfIdentifiableVertices > 0) { s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('i', 'd', 'v', 's') >::RESULT, sstr.str()); } return out; }
ostream& BoundingBox::operator<<(ostream &out) const { SerializationFactory& sf=SerializationFactory::getInstance(); core::SharedPointer<Serializer> s = sf.getSerializer(out); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL6('u', 'p', 'l', 'e', 'f', 't') >::RESULT, m_upperLeft); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('u', 'p', 'r', 'i', 'g', 'h', 't') >::RESULT, m_upperRight); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('l', 'o', 'r', 'i', 'g', 'h', 't') >::RESULT, m_lowerRight); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL6('l', 'o', 'l', 'e', 'f', 't') >::RESULT, m_lowerLeft); return out; }
ostream& Lane::operator<<(ostream &out) const { SerializationFactory& sf=SerializationFactory::getInstance(); std::shared_ptr<Serializer> s = sf.getSerializer(out); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL2('i', 'd') >::RESULT, getIdentifier()); // Check if we have to serialize a lane model. bool hasLaneModel = (getLaneModel() != NULL); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('h', 'a', 's', 'l', 'a', 'm', 'd') >::RESULT, hasLaneModel); if (hasLaneModel) { s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('l', 'a', 'n', 'e', 'm', 'd', 'l') >::RESULT, static_cast<uint32_t>(getLaneModel()->getType())); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('m', 'o', 'd', 'e', 'l') >::RESULT, *getLaneModel()); } return out; }
ostream& Header::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_STRINGLITERAL7('v', 'e', 'r', 's', 'i', 'o', 'n') >::RESULT, m_version); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('d', 'a', 't', 'e') >::RESULT, m_date); s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL3('s', 'c', 'n') >::RESULT, m_scenario); 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& 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; }
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, m_speed); d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('v', 'l', 'o', 'g') >::RESULT,
s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL2('i', 'd') >::RESULT, m_identifier); s.write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('v', 'e', 'r', 's', 'i', 'o', 'n') >::RESULT, m_version); return out; } istream& ModuleDescriptor::operator>>(istream &in) { SerializationFactory sf; 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); d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('v', 'e', 'r', 's', 'i', 'o', 'n') >::RESULT, m_version); return in; } } } } // core::data::dmcp
return out; } istream& Lane::operator>>(istream &in) { SerializationFactory& sf=SerializationFactory::getInstance(); std::shared_ptr<Deserializer> d = sf.getDeserializer(in); OPENDAVINCI_CORE_DELETE_POINTER(m_laneModel); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL2('i', 'd') >::RESULT, m_identifier); // Check if we have to deserialize a lane model. bool hasLaneModel = false; d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('h', 'a', 's', 'l', 'a', 'm', 'd') >::RESULT, hasLaneModel); if (hasLaneModel) { uint32_t type = 0; d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('l', 'a', 'n', 'e', 'm', 'd', 'l') >::RESULT, type); enum LaneModel::LANEMODELTYPE laneModelType = static_cast<enum LaneModel::LANEMODELTYPE>(type); switch (laneModelType) { case LaneModel::ARC: { Arc *a = new Arc(); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('m', 'o', 'd', 'e', 'l') >::RESULT, *a);
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 20; } const string IntrinsicParameters::getShortName() const { return "IntrinsicParameters"; }
return out; } istream& PointModel::operator>>(istream &in) { // Deserializer super class. LaneModel::operator>>(in); SerializationFactory sf; Deserializer &d = sf.getDeserializer(in); // Clean up. m_listOfIdentifiableVertices.clear(); uint32_t numberOfIdentifiableVertices = 0; d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('n', 'u', 'm', 'i', 'd', 'v', 's') >::RESULT, numberOfIdentifiableVertices); if (numberOfIdentifiableVertices > 0) { string str; // Read identifiable vertices into stringstream. d.read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('i', 'd', 'v', 's') >::RESULT, str); stringstream sstr(str); // Read identifiable vertices from stringstream. for (uint32_t i = 0; i < numberOfIdentifiableVertices; i++) { IDVertex3 idV; sstr >> idV; addIdentifiableVertex(idV);
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--; } uint32_t color = 0; d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('c', 'o', 'l', 'o', 'r') >::RESULT, color); m_color = static_cast<enum COLOR>(color);
s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL6('l', 'o', 'l', 'e', 'f', 't') >::RESULT, m_lowerLeft); return out; } istream& BoundingBox::operator>>(istream &in) { SerializationFactory& sf=SerializationFactory::getInstance(); core::SharedPointer<Deserializer> d = sf.getDeserializer(in); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL6('u', 'p', 'l', 'e', 'f', 't') >::RESULT, m_upperLeft); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('u', 'p', 'r', 'i', 'g', 'h', 't') >::RESULT, m_upperRight); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('l', 'o', 'r', 'i', 'g', 'h', 't') >::RESULT, m_lowerRight); d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL6('l', 'o', 'l', 'e', 'f', 't') >::RESULT, m_lowerLeft); return in; } } } } // hesperia::data::situation