.. _program_listing_file_include_gwmodelpp_spatialweight_OneDimDistance.h: Program Listing for File OneDimDistance.h ========================================= |exhale_lsh| :ref:`Return to documentation for file ` (``include/gwmodelpp/spatialweight/OneDimDistance.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef ONEDIMDISTANCE_H #define ONEDIMDISTANCE_H #include "Distance.h" namespace gwm { class OneDimDistance : public Distance { public: struct Parameter : public Distance::Parameter { arma::vec focusPoints; arma::vec dataPoints; Parameter(const arma::vec& fp, const arma::vec& dp) : Distance::Parameter() , focusPoints(fp) , dataPoints(dp) { total = fp.n_rows; } }; public: static arma::vec AbstractDistance(const double& out_loc, const arma::vec& in_locs) { // arma::vec d = abs(in_locs - out_loc); // d.print("d"); return abs(in_locs - out_loc); } public: OneDimDistance(); explicit OneDimDistance(bool isGeographic); OneDimDistance(const OneDimDistance& distance); virtual Distance * clone() const override { return new OneDimDistance(*this); } DistanceType type() override { return DistanceType::OneDimDistance; } public: virtual void makeParameter(std::initializer_list plist) override; virtual arma::vec distance(arma::uword focus) override; arma::vec noAbsdistance(arma::uword focus); virtual double maxDistance() override; virtual double minDistance() override; protected: std::unique_ptr mParameter = nullptr; }; } #endif // ONEDIMDISTANCE_H