epoint_transform/
filter.rs1use crate::Error;
2use epoint_core::PointCloud;
3use polars::prelude::{IntoLazy, all, col};
4
5pub fn filter_none_values_of_column_in_place(
6 point_cloud: &mut PointCloud,
7 column_name: &str,
8) -> Result<(), Error> {
9 let filtered_point_data = point_cloud
10 .point_data
11 .data_frame
12 .clone()
13 .lazy()
14 .filter(col(column_name).is_not_null())
15 .select([all().as_expr()])
16 .collect()?;
17
18 point_cloud.point_data.data_frame = filtered_point_data;
19
20 Ok(())
21}