📄 deltaop.hpp
字号:
* present in reference station data but missing in input data. * * @param gData gnssRinex data object holding the reference station data. * @param delSats Boolean value setting if satellites present in reference station data but missing in input data will be deleted from the later (this is the default). */ DeltaOp(const gnssRinex& gData, const bool& delSats=true) : refData(gData.body), deleteMissingSats(delSats) { diffTypes.insert(TypeID::prefitC); } /** Common constructor taking a gnssRinex as reference station data. * By default it will delete satellites present in reference station data * but missing in input data. * * @param gData gnssRinex data object holding the reference station data. * @param difftype TypeID of data values to be differenced. * @param delSats Boolean value setting if satellites present in reference station data but missing in input data will be deleted from the later (this is the default). */ DeltaOp(const gnssRinex& gData, const TypeID& difftype, const bool& delSats=true) : refData(gData.body), deleteMissingSats(delSats) { diffTypes.insert(difftype); } /** Common constructor taking a gnssRinex as reference station data. * By default it will delete satellites present in reference station data * but missing in input data. * * @param gData gnssRinex data object holding the reference station data. * @param diffSet TypeIDSet of data values to be differenced. * @param delSats Boolean value setting if satellites present in reference station data but missing in input data will be deleted from the later (this is the default). */ DeltaOp(const gnssRinex& gData, const TypeIDSet& diffSet, const bool& delSats=true) : refData(gData.body), deleteMissingSats(delSats), diffTypes(diffSet) {} /** Method to set the satTypeValueMap data object holding the reference station data. * @param gData satTypeValueMap data object holding the reference station data. */ virtual void setRefData(const satTypeValueMap& gData) { refData = gData; }; /// Method to get the satTypeValueMap data object holding the reference station data. virtual satTypeValueMap getRefData() const { return refData; }; /** Method to set if satellites present in reference station data but missing in input data will be deleted from the later (this is the default). * @param deleteSats Boolean stating if satellites will be deleted or not. */ virtual void setDeleteMissingSats(const bool& deleteSats) { deleteMissingSats = deleteSats; }; /// Method to get the deleteMissingSats field value (i.e., if missing satellites will be deleted or not). virtual bool getDeleteMissingSats() const { return deleteMissingSats; }; /** Method to set the data values to be differenced. The previous type values will be deleted. If this is not what you want, see method addDiffType. * @param difftype TypeID of data values to be differenced. */ virtual void setDiffType(const TypeID& difftype) { diffTypes.clear(); // Delete the previous types diffTypes.insert(difftype); }; /** Method to add a data value type to be differenced. * @param difftype TypeID of data values to be added to the ones being differenced. */ virtual void addDiffType(const TypeID& difftype) { diffTypes.insert(difftype); }; /** Method to set the data values to be differenced. The previous type values will be deleted. If this is not what you want, see method addDiffType. * @param diffSet TypeIDSet of data values to be differenced. */ virtual void setDiffTypeSet(const TypeIDSet& diffSet) { diffTypes.clear(); // Delete the previous types diffTypes = diffSet; }; /** Method to add a set of data value types to be differenced. * @param diffSet TypeIDSet of data values to be added to the ones being differenced. */ virtual void addDiffTypeSet(const TypeIDSet& diffSet) { TypeIDSet::const_iterator pos; for (pos = diffSet.begin(); pos != diffSet.end(); ++pos) diffTypes.insert(*pos); }; /// Method to get the set of data value types to be differenced. virtual TypeIDSet getDiffTypeSet() const { return diffTypes; }; /** Returns a reference to a satTypeValueMap object after differencing the data type values given in the diffTypes field with respect to reference station data in refData field. * * @param gData Data object holding the data. */ virtual satTypeValueMap& Difference(satTypeValueMap& gData); /** Returns a reference to a gnssSatTypeValue object after differencing the data type values given in the diffTypes field with respect to reference station data in refData field. * * @param gData Data object holding the data. */ virtual gnssSatTypeValue& Difference(gnssSatTypeValue& gData) { (*this).Difference(gData.body); return gData; }; /** Returns a reference to a gnnsRinex object after differencing the data type values given in the diffTypes field with respect to reference station data in refData field. * * @param gData Data object holding the data. */ virtual gnssRinex& Difference(gnssRinex& gData) { (*this).Difference(gData.body); return gData; }; /// Destructor. virtual ~DeltaOp() {}; private: /// satTypeValueMap data structure containing reference station data. satTypeValueMap refData; /// Flag indicating if satellites present in reference station data but missing in input data will be deleted. bool deleteMissingSats; /// Set (TypeIDSet) containing the types of data to be differenced. TypeIDSet diffTypes; }; // class DeltaOp /// Input operator from gnssSatTypeValue to DeltaOp. inline gnssSatTypeValue& operator>>(gnssSatTypeValue& gData, DeltaOp& delta) { delta.Difference(gData); return gData; } /// Input operator from gnssRinex to DeltaOp. inline gnssRinex& operator>>(gnssRinex& gData, DeltaOp& delta) { delta.Difference(gData); return gData; } //@}} // namespace#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -