v1.0.0-rc.91
This commit is contained in:
@@ -241,6 +241,7 @@ inline void CBOR_ENC(CborEncoder &encoder, const Reflection& r) {
|
||||
CBOR_ENC(mapEncoder, "bkg", r.bkg);
|
||||
CBOR_ENC(mapEncoder, "sigma", r.sigma);
|
||||
CBOR_ENC(mapEncoder, "image", r.image_number);
|
||||
CBOR_ENC(mapEncoder, "rp", r.dist_ewald);
|
||||
cborErr(cbor_encoder_close_container(&encoder, &mapEncoder));
|
||||
}
|
||||
|
||||
@@ -411,6 +412,28 @@ inline void CBOR_ENC(CborEncoder &encoder, const char* key, const UnitCell &val)
|
||||
cborErr(cbor_encoder_close_container(&encoder, &mapEncoder));
|
||||
}
|
||||
|
||||
// Add encoder for LatticeMessage
|
||||
inline void CBOR_ENC(CborEncoder &encoder, const char* key, const LatticeMessage &val) {
|
||||
CborEncoder mapEncoder;
|
||||
cborErr(cbor_encode_text_stringz(&encoder, key));
|
||||
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, 4));
|
||||
CBOR_ENC(mapEncoder, "centering", std::string(1, val.centering));
|
||||
CBOR_ENC(mapEncoder, "niggli_class", val.niggli_class);
|
||||
const char* cs_name = "triclinic";
|
||||
switch (val.crystal_system) {
|
||||
case gemmi::CrystalSystem::Triclinic: cs_name = "triclinic"; break;
|
||||
case gemmi::CrystalSystem::Monoclinic: cs_name = "monoclinic"; break;
|
||||
case gemmi::CrystalSystem::Orthorhombic:cs_name = "orthorhombic";break;
|
||||
case gemmi::CrystalSystem::Tetragonal: cs_name = "tetragonal"; break;
|
||||
case gemmi::CrystalSystem::Trigonal: cs_name = "trigonal"; break;
|
||||
case gemmi::CrystalSystem::Hexagonal: cs_name = "hexagonal"; break;
|
||||
case gemmi::CrystalSystem::Cubic: cs_name = "cubic"; break;
|
||||
}
|
||||
CBOR_ENC(mapEncoder, "system", std::string(cs_name));
|
||||
CBOR_ENC(mapEncoder, "primitive_lattice", val.primitive.GetVector());
|
||||
cborErr(cbor_encoder_close_container(&encoder, &mapEncoder));
|
||||
}
|
||||
|
||||
inline nlohmann::json CBOR_ENC_ROI_CONFIG(const std::vector<ROIConfig> &roi) {
|
||||
nlohmann::json j;
|
||||
for (const auto &r: roi) {
|
||||
@@ -520,9 +543,6 @@ inline void CBOR_ENC_START_USER_DATA(CborEncoder& encoder, const char* key,
|
||||
case GeomRefinementAlgorithmEnum::BeamCenter:
|
||||
j["geom_refinement_algorithm"] = "beam_center";
|
||||
break;
|
||||
case GeomRefinementAlgorithmEnum::BeamCenterSymmetry:
|
||||
j["geom_refinement_algorithm"] = "beam_center_tetragonal";
|
||||
break;
|
||||
default:
|
||||
j["geom_refinement_algorithm"] = "none";
|
||||
break;
|
||||
@@ -678,6 +698,8 @@ void CBORStream2Serializer::SerializeImageInternal(CborEncoder &mapEncoder, cons
|
||||
CBOR_ENC(mapEncoder, "indexing_unit_cell", message.indexing_unit_cell);
|
||||
CBOR_ENC(mapEncoder, "xfel_pulse_id", message.xfel_pulse_id);
|
||||
CBOR_ENC(mapEncoder, "xfel_event_code", message.xfel_event_code);
|
||||
if (message.lattice_type)
|
||||
CBOR_ENC(mapEncoder, "lattice_type", message.lattice_type.value());
|
||||
CBOR_ENC(mapEncoder, "jf_info", message.jf_info);
|
||||
CBOR_ENC(mapEncoder, "receiver_aq_dev_delay", message.receiver_aq_dev_delay);
|
||||
CBOR_ENC(mapEncoder, "receiver_free_send_buf", message.receiver_free_send_buf);
|
||||
|
||||
Reference in New Issue
Block a user