Program Listing for File SpatialMultiscaleAlgorithm.h

Return to documentation for file (include/gwmodelpp/SpatialMultiscaleAlgorithm.h)

#ifndef SPATIALMULTISCALEALGORITHM_H
#define SPATIALMULTISCALEALGORITHM_H

#include "SpatialAlgorithm.h"
#include <vector>
#include "spatialweight/SpatialWeight.h"

namespace gwm
{

class SpatialMultiscaleAlgorithm : public SpatialAlgorithm
{
public:

    SpatialMultiscaleAlgorithm() {}

    SpatialMultiscaleAlgorithm(const arma::mat& coords, const std::vector<SpatialWeight>& spatialWeights) : SpatialAlgorithm(coords)
    {
        mSpatialWeights = spatialWeights;
    }

    virtual ~SpatialMultiscaleAlgorithm() {}

public:

    const std::vector<SpatialWeight>& spatialWeights() const;

    virtual void setSpatialWeights(const std::vector<SpatialWeight> &spatialWeights);

    void createDistanceParameter(size_t size);

protected:
    std::vector<SpatialWeight> mSpatialWeights;
};

inline const std::vector<SpatialWeight>& SpatialMultiscaleAlgorithm::spatialWeights() const
{
    return mSpatialWeights;
}

inline void SpatialMultiscaleAlgorithm::setSpatialWeights(const std::vector<SpatialWeight> &spatialWeights)
{
    mSpatialWeights = spatialWeights;
}

}

#endif  // SPATIALMULTISCALEALGORITHM_H