hi i’m using try_from_points to generate a convex hull,
how can i get the number of faces generated?
currently i’m using the number of generated points but sometimes it doesn’t match, here’s my code snippet:
let convex = ConvexHull::try_from_points(&points[..]).expect("***** Invalid convex shape. *****");
convex.check_geometry();
// println!("N. points: {}\N{:?}", convex.points().len(), convex.points());
let pnts = convex.points();
let n_pnts = pnts.len();
let face = ConvexPolygonalFeature::<f32>::new(); // get face
// let fff = convex.get_faces();
println!("faces in {} generated points: {}", N, n_pnts);
for i in 0..n_pnts {
let mut face = face.clone();
convex.face(FeatureId::Face(i), &mut face);
let faces = face.vertices_id;
print!("face {:5}/{} ({} pts): ", i, n_pnts, faces.len());
for f in faces {
let vix = f.unwrap_vertex(); // index to vertex
let vertex = pnts[vix].coords.data; // the vertex as [x, y, z]
print!("{} ({:?}) ", vix, vertex);
}
println!("");
}