[][src]Function density_mesh_core::generate_densitymesh_from_points_cloud

pub fn generate_densitymesh_from_points_cloud(
    points: Vec<Coord>,
    map: DensityMap,
    settings: &GenerateDensityMeshSettings
) -> Result<DensityMesh, GenerateDensityMeshError>

Generate density mesh from points cloud.

Arguments

  • points - List of initial points.
  • map - Density map.
  • settings - Density mesh generation settings.

Returns

Density mesh or error.

Examples

use density_mesh_core::*;

let map = DensityMap::new(2, 2, 1, vec![1, 2, 3, 1]).unwrap();
let settings = GenerateDensityMeshSettings {
    points_separation: 0.5,
    visibility_threshold: 0.0,
    steepness_threshold: 0.0,
    ..Default::default()
};
assert_eq!(
    generate_densitymesh_from_points_cloud(vec![], map, &settings),
    Ok(DensityMesh {
        points: vec![
            Coord { x: 0.0, y: 1.0 },
            Coord { x: 0.0, y: 0.0 },
            Coord { x: 1.0, y: 0.0 },
            Coord { x: 1.0, y: 1.0 },
        ],
        triangles: vec![
            Triangle { a: 0, b: 2, c: 1 },
            Triangle { a: 0, b: 3, c: 2 },
        ],
    }),
);