Program Listing for File DMatDistance.h
↰ Return to documentation for file (include/gwmodelpp/spatialweight/DMatDistance.h
)
#ifndef DMATDISTANCE_H
#define DMATDISTANCE_H
#include <string>
#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() 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<DistParamVariant> 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<Parameter> mParameter = nullptr;
};
inline std::string DMatDistance::dMatFile() const
{
return mDMatFile;
}
inline void DMatDistance::setDMatFile(const std::string &dMatFile)
{
mDMatFile = dMatFile;
}
}
#endif // DMATDISTANCE_H