.. _program_listing_file__tmp_ws_src_sick_safetyscanners_base_include_sick_safetyscanners_base_data_processing_ParseMeasurementData.h: Program Listing for File ParseMeasurementData.h =============================================== |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/sick_safetyscanners_base/include/sick_safetyscanners_base/data_processing/ParseMeasurementData.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*- // -- BEGIN LICENSE BLOCK ---------------------------------------------- // -- END LICENSE BLOCK ------------------------------------------------ //---------------------------------------------------------------------- //---------------------------------------------------------------------- #ifndef SICK_SAFETYSCANNERS_BASE_DATA_PROCESSING_PARSEMEASUREMENTDATA_H #define SICK_SAFETYSCANNERS_BASE_DATA_PROCESSING_PARSEMEASUREMENTDATA_H #include "sick_safetyscanners_base/datastructure/Data.h" #include "sick_safetyscanners_base/datastructure/MeasurementData.h" #include "sick_safetyscanners_base/datastructure/PacketBuffer.h" #include "sick_safetyscanners_base/Logging.h" #include "sick_safetyscanners_base/data_processing/ReadWriteHelper.hpp" #include #include namespace sick { namespace data_processing { class ParseMeasurementData { public: ParseMeasurementData(); datastructure::MeasurementData parseUDPSequence(const datastructure::PacketBuffer& buffer, datastructure::Data& data); private: float m_angle; float m_angle_delta; void setDataInMeasurementData(std::vector::const_iterator data_ptr, datastructure::MeasurementData& measurement_data); void setNumberOfBeamsInMeasurementData(std::vector::const_iterator data_ptr, datastructure::MeasurementData& measurement_data) const; void setStartAngleAndDelta(const datastructure::Data& data); void setScanPointsInMeasurementData(std::vector::const_iterator data_ptr, datastructure::MeasurementData& measurement_data); void addScanPointToMeasurementData(uint16_t offset, std::vector::const_iterator data_ptr, datastructure::MeasurementData& measurement_data) const; bool checkIfPreconditionsAreMet(const datastructure::Data& data) const; bool checkIfMeasurementDataIsPublished(const datastructure::Data& data) const; bool checkIfDataContainsNeededParsedBlocks(const datastructure::Data& data) const; }; } // namespace data_processing } // namespace sick #endif // SICK_SAFETYSCANNERS_BASE_DATA_PROCESSING_PARSEMEASUREMENTDATA_H