Skip to main content

GetCloudPointColor​

原型​

std::optional<Color> GetCloudPointColor(unsigned id, size_t index);

功能​

查询点云中某个点当前的颜色覆盖。该函数只读取内存中的会话内颜色状态,不会修改点云,也不会触发视图刷新。

参数​

  • id: 点云对象的Id。
  • index: 点的索引,从0开始,与 GetCloudPoints 返回的点顺序一致。

返回值​

有颜色覆盖时返回对应的颜色(std::optional<Color> 有值),参见 Color 类。返回的颜色分量已钳制到 [0, 1]。

以下情况返回 std::nullopt:

  • id 不存在,或 id 对应的对象不是点云;
  • index 越界;
  • 该点没有设置颜色覆盖。

示例​

// 查询索引为 0 的点是否有颜色覆盖
auto color = mpl::GetCloudPointColor(pointCloudId, 0);
if (color) {
std::cout << color->r << " " << color->g << " " << color->b << "\n";
} else {
std::cout << "no color override\n";
}