User Tools

Site Tools


class:domain:xinterpolator

XInterpolator

Inherited from SpaceHashBucket,

Inherited by NULL

Friend class NULL

Description

XInterpolator从SpaceHashBucket继承以适配器模式封装了插值器接口,插值器基于空间数据点云构建空间哈希索引,给定任意坐标通过不同插值算法计算得到该坐标下的值,通过继承XInterpolatorMethod可支持扩展不同的插值算法。

Members

  • TypeID m_iMethod = -1
  • XInterpolatorMethod * m_pMethod = 0

Public interface


TypeID m_iMethod = -1

XInterpolatorMethod * m_pMethod = 0


static bool registerMethod(TypeID t, InterpolateCtor ctor)

  • function: 注册插值算法
  • parameters:
    1. [i]TypeID t: 插值类型ID
    2. [i] InterpolateCtor ctor: 插值类构造函数
  • return value: 注册成功返回true,否则返回false

XInterpolator()

  • function: 构造函数
  • parameters: NULL
  • return value: 无

void setMethod(TypeID t)

  • function: 设置当前的插值方法
  • parameters:
    1. [i]TypeID t: 插值方法ID
  • return value: 无

TypeID getMethod() const

  • function: 获取当前的插值方法ID
  • parameters: NULL
  • return value: 插值方法ID

void setDataPoints(vector<XDataPoint> * dataPoints, XCoordSystem * coordSys = 0)

  • function: 输入源数据点云构建空间哈希索引
  • parameters:
    1. [i]vector<XDataPoint> * dataPoints: 数据点数组
    2. [i] XCoordSystem * coordSys = 0: 局部坐标系
  • return value: 无

double interpolateAt(const double * pos)

  • function: 将源数据场插值到位置pos上
  • parameters:
    1. [i]const double * pos: 待插值的空间坐标
  • return value: 在pos上的值

bool interpolateAt(vector<Vector3d> * pts, vector<double> * values)

  • function: 将源数据场插值到一组空间点上
  • parameters:
    1. [i]vector<Vector3d> * pts: 待插值的空间坐标数组
    2. [o]vector<double> * values: 在空间坐标点数组上的值,与输入的空间坐标数组一一对应
  • return value: 插值成功返回true,否则返回false
class/domain/xinterpolator.txt · Last modified: 2022/11/17 12:13 (external edit)