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";
}