类 SpatialWeight
类文档
-
class SpatialWeight
距离和权重的组合类。 该类的实例通常用于提供指向 CGwmDistance 和 CGwmWeight 类型的指针。 在构造函数中,类型 CGwmDistance 和 CGwmWeight 的实例将会被克隆。 该类型也提供方法 CGwmSpatialWeight::weightVector() 用于直接计算空间权重。
如果距离和权重通过指针设置,那么该类对象将会取得他们的控制权,并在析构的时候释放资源。 如果距离和权重通过引用设置,那么该类对象将会克隆他们。
公有成员函数
-
SpatialWeight()
构造一个新的 CGwmSpatialWeight 对象。
-
SpatialWeight(Weight *weight, Distance *distance)
构造一个新的 CGwmSpatialWeight 对象。
- 参数
weight – 指向权重配置的指针。
distance – 指向距离配置的指针。
-
SpatialWeight(const SpatialWeight &spatialWeight)
复制构造一个新的 CGwmSpatialWeight 对象。
- 参数
spatialWeight – 被复制对象的引用。
-
virtual ~SpatialWeight()
销毁 CGwmSpatialWeight 对象。
-
inline Weight *weight() const
获得 CGwmSpatialWeight::mWeight 的指针。
- 返回
指针 CGwmSpatialWeight::mWeight 。
-
inline void setWeight(Weight *weight)
设置 CGwmSpatialWeight::mWeight 指针所指向的对象。
- 参数
weight – 指向 CGwmWeight 实例的指针。 获取该指针的控制权,并在类对象析构时释放该指针所指向的对象。
-
inline void setWeight(Weight &weight)
设置 CGwmSpatialWeight::mWeight 指针所指向的对象。
- 参数
weight – 指向 CGwmWeight 实例的指针。 指针所指向的对象会被克隆。
-
inline void setWeight(Weight &&weight)
设置 CGwmSpatialWeight::mWeight 指针所指向的对象。
- 参数
weight – 指向 CGwmWeight 实例的指针。 指针所指向的对象会被克隆。
-
template<typename T>
inline T *weight() const 获得指针 CGwmSpatialWeight::mWeight 并将其转换到所要求的类型
T
。- 模板参数
T – 返回值的类型。只允许设置为 CGwmWeight 的派生类。
- 返回
转换后的 CGwmSpatialWeight::mWeight 指针。
-
inline Distance *distance() const
获得指针 CGwmSpatialWeight::mDistance。
- 返回
CGwmSpatialWeight::mDistance 指针。
-
inline void setDistance(Distance *distance)
设置 CGwmSpatialWeight::mDistance 指针所指向的对象。
- 参数
distance – Pointer to CGwmDistance instance. Con获取该指针的控制权,并在类对象析构时释放该指针所指向的对象。
-
inline void setDistance(Distance &distance)
设置 CGwmSpatialWeight::mDistance 指针所指向的对象。
- 参数
distance – 指向 CGwmDistance 实例的指针。 指针所指向的对象会被克隆。
-
inline void setDistance(Distance &&distance)
设置 CGwmSpatialWeight::mDistance 指针所指向的对象。
- 参数
distance – 指向 CGwmDistance 实例的指针。 指针所指向的对象会被克隆。
-
template<typename T>
inline T *distance() const 获得指针 CGwmSpatialWeight::mDistance 并将其转换到所要求的类型
T
。- 模板参数
T – 返回值的类型。只允许设置为 CGwmDistance 的派生类。
- 返回
转换后的 CGwmSpatialWeight::mDistance 指针。
-
SpatialWeight &operator=(const SpatialWeight &spatialWeight)
重载的
=
运算符。 该函数会先实方当前 CGwmSpatialWeight::mWeight 和 CGwmSpatialWeight::mDistance 所指向的对象, 然后克隆右值传入的 CGwmWeight 和 CGwmDistance 实例。- 参数
spatialWeight – 右值的引用。
- 返回
该对象的引用。
-
SpatialWeight &operator=(const SpatialWeight &&spatialWeight)
重载的
=
运算符。 该函数会先实方当前 CGwmSpatialWeight::mWeight 和 CGwmSpatialWeight::mDistance 所指向的对象, 然后克隆右值传入的 CGwmWeight 和 CGwmDistance 实例。- 参数
spatialWeight – 右值的引用。
- 返回
该对象的引用。
-
inline virtual arma::vec weightVector(arma::uword focus)
计算当前样本到其他样本的空间权重向量(包括当前样本自身)。
- 参数
focus – 当前样本的索引值。
- 返回
vec 当前样本到其他所有样本的空间权重向量。
-
virtual bool isValid()
获取当前对象的设置是否合法。
- 返回
true 如果当前对象合法。
- 返回
false 如果当前对象不合法。
-
template<>
inline BandwidthWeight *weight() const 获得指针 CGwmSpatialWeight::mWeight 并将其转换到所要求的类型 CGwmBandwidthWeight 。
- 返回
转换后的 CGwmSpatialWeight::mWeight 指针。
-
template<>
inline CRSDistance *distance() const 获得指针 CGwmSpatialWeight::mDistance 并将其转换到所要求的类型 CGwmCRSDistance 。
- 返回
转换后的 CGwmSpatialWeight::mDistance 指针。
-
template<>
inline MinkwoskiDistance *distance() const 获得指针 CGwmSpatialWeight::mDistance 并将其转换到所要求的类型 CGwmMinkwoskiDistance 。
- 返回
转换后的 CGwmSpatialWeight::mDistance 指针。
-
template<>
inline DMatDistance *distance() const 获得指针 CGwmSpatialWeight::mDistance 并将其转换到所要求的类型 CGwmDMatDistance 。
- 返回
转换后的 CGwmSpatialWeight::mDistance 指针。
-
template<>
inline OneDimDistance *distance() const 获得指针 CGwmSpatialWeight::mDistance 并将其转换到所要求的类型 CGwmOneDimDistance 。
- 返回
转换后的 CGwmSpatialWeight::mDistance 指针。
-
SpatialWeight()