.. _program_listing_file_include_gwmodelpp_spatialweight_DMatDistance.h: Program Listing for File DMatDistance.h ======================================= |exhale_lsh| :ref:`Return to documentation for file ` (``include/gwmodelpp/spatialweight/DMatDistance.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef DMATDISTANCE_H #define DMATDISTANCE_H #include #include "Distance.h" namespace gwm { class DMatDistance : public Distance { public: struct Parameter : public Distance::Parameter { arma::uword rowSize; Parameter(arma::uword size, arma::uword rows) : rowSize(size) { total = rows; } }; public: explicit DMatDistance(std::string dmatFile); DMatDistance(const DMatDistance& distance); virtual Distance * clone() const override { return new DMatDistance(*this); } DistanceType type() override { return DistanceType::DMatDistance; } std::string dMatFile() const; void setDMatFile(const std::string &dMatFile); public: virtual void makeParameter(std::initializer_list plist) override; virtual arma::vec distance(arma::uword focus) override; virtual double maxDistance() override; virtual double minDistance() override; private: std::string mDMatFile; std::unique_ptr mParameter = nullptr; }; inline std::string DMatDistance::dMatFile() const { return mDMatFile; } inline void DMatDistance::setDMatFile(const std::string &dMatFile) { mDMatFile = dMatFile; } } #endif // DMATDISTANCE_H