std::string serialise(const Seismic1dSpec& g) { Seismic1dSpecProtobuf pb; pb.set_numlocations(g.locations.rows()); pb.set_locations(matrixString(g.locations)); for (const Eigen::VectorXi & interfaces : g.interfaces) { pb.add_numinterfaces(interfaces.rows()); pb.add_interfaces(matrixString(interfaces)); } NoiseSpecProtobuf* npb = pb.mutable_noise(); npb->set_inversegammaalpha(g.noise.inverseGammaAlpha); npb->set_inversegammabeta(g.noise.inverseGammaBeta); return protobufToString(pb); }
std::string serialise(const Seismic1dResults& g) { Seismic1dResultsProtobuf pb; pb.set_likelihood(g.likelihood); for (const Eigen::VectorXd & reading : g.readings) { pb.add_numreadings(reading.rows()); pb.add_readings(matrixString(reading)); } return protobufToString(pb); }
void GLC_WorldTo3dxml::writeInstance3D(const GLC_StructInstance* pInstance, unsigned int parentId) { const GLC_StructReference* pRef= pInstance->structReference(); const unsigned int referenceId= m_ReferenceToIdHash.value(pRef); const QString instanceMatrix(matrixString(pInstance->relativeMatrix())); m_pOutStream->writeStartElement("Instance3D"); m_pOutStream->writeAttribute("xsi:type", "Instance3DType"); m_pOutStream->writeAttribute("id", QString::number(++m_CurrentId)); m_pOutStream->writeAttribute("name", pInstance->name()); m_pOutStream->writeTextElement("IsAggregatedBy", QString::number(parentId)); m_pOutStream->writeTextElement("IsInstanceOf", QString::number(referenceId)); m_pOutStream->writeTextElement("RelativeMatrix", instanceMatrix); if (pInstance->containsAttributes()) { m_pOutStream->writeStartElement("Instance3DExtensionType"); writeExtensionAttributes(pInstance->attributesHandle()); m_pOutStream->writeEndElement(); // Instance3DExtensionType } m_pOutStream->writeEndElement(); // Instance3D m_InstanceToIdHash.insert(pInstance, m_CurrentId); }
void GLC_WorldTo3dxml::writeOccurenceDefaultViewProperty(const GLC_StructOccurence* pOccurence) { QList<unsigned int> path= instancePath(pOccurence); GLC_3DViewInstance* pInstance= m_World.collection()->instanceHandle(pOccurence->id()); Q_ASSERT(NULL != pInstance); const bool isVisible= pOccurence->isVisible(); m_pOutStream->writeStartElement("DefaultViewProperty"); m_pOutStream->writeStartElement("OccurenceId"); const QString prefix= "urn:3DXML:" + QFileInfo(m_FileName).fileName() + "#"; const int pathSize= path.size(); for (int i= 0; i < pathSize; ++i) { m_pOutStream->writeTextElement("id", prefix + QString::number(path.at(i))); } m_pOutStream->writeEndElement(); // OccurenceId if (pOccurence->isFlexible()) { m_pOutStream->writeTextElement("RelativePosition", matrixString(pOccurence->occurrenceRelativeMatrix())); } if (!isVisible || !pInstance->renderPropertiesHandle()->isDefault()) { qDebug() << "(!isVisible || !pInstance->renderPropertiesHandle()->isDefault())"; m_pOutStream->writeStartElement("GraphicProperties"); m_pOutStream->writeAttribute("xsi:type", "GraphicPropertiesType"); if (! isVisible) { m_pOutStream->writeStartElement("GeneralAttributes"); m_pOutStream->writeAttribute("xsi:type", "GeneralAttributesType"); m_pOutStream->writeAttribute("visible", "false"); m_pOutStream->writeAttribute("selectable", "true"); m_pOutStream->writeEndElement(); // GeneralAttributes } if (!pInstance->renderPropertiesHandle()->isDefault()) { const GLC_RenderProperties* pProperties= pInstance->renderPropertiesHandle(); if ((pProperties->renderingMode() == glc::OverwriteTransparency)) { m_pOutStream->writeStartElement("SurfaceAttributes"); m_pOutStream->writeAttribute("xsi:type", "SurfaceAttributesType"); m_pOutStream->writeStartElement("Color"); m_pOutStream->writeAttribute("xsi:type", "RGBAColorType"); m_pOutStream->writeAttribute("red", "-1"); m_pOutStream->writeAttribute("green", "-1"); m_pOutStream->writeAttribute("blue", "-1"); m_pOutStream->writeAttribute("alpha", QString::number(pProperties->overwriteTransparency())); m_pOutStream->writeEndElement(); // Color m_pOutStream->writeEndElement(); // SurfaceAttributes } else if ((pProperties->renderingMode() == glc::OverwriteTransparencyAndMaterial)) { GLC_Material* pMaterial= pProperties->overwriteMaterial(); m_pOutStream->writeStartElement("SurfaceAttributes"); m_pOutStream->writeAttribute("xsi:type", "SurfaceAttributesType"); m_pOutStream->writeStartElement("Color"); m_pOutStream->writeAttribute("xsi:type", "RGBAColorType"); m_pOutStream->writeAttribute("red", QString::number(pMaterial->diffuseColor().redF())); m_pOutStream->writeAttribute("green", QString::number(pMaterial->diffuseColor().greenF())); m_pOutStream->writeAttribute("blue", QString::number(pMaterial->diffuseColor().blueF())); m_pOutStream->writeAttribute("alpha", QString::number(pProperties->overwriteTransparency())); m_pOutStream->writeEndElement(); // Color m_pOutStream->writeEndElement(); // SurfaceAttributes } else if ((pProperties->renderingMode() == glc::OverwriteMaterial)) { GLC_Material* pMaterial= pProperties->overwriteMaterial(); m_pOutStream->writeStartElement("SurfaceAttributes"); m_pOutStream->writeAttribute("xsi:type", "SurfaceAttributesType"); m_pOutStream->writeStartElement("Color"); m_pOutStream->writeAttribute("xsi:type", "RGBAColorType"); m_pOutStream->writeAttribute("red", QString::number(pMaterial->diffuseColor().redF())); m_pOutStream->writeAttribute("green", QString::number(pMaterial->diffuseColor().greenF())); m_pOutStream->writeAttribute("blue", QString::number(pMaterial->diffuseColor().blueF())); m_pOutStream->writeAttribute("alpha", QString::number(pMaterial->opacity())); m_pOutStream->writeEndElement(); // Color m_pOutStream->writeEndElement(); // SurfaceAttributes } } m_pOutStream->writeEndElement(); // GraphicProperties } m_pOutStream->writeEndElement(); // DefaultViewProperty }