mirror of
https://github.com/hannobraun/Fornjot
synced 2025-10-09 17:38:22 +00:00
Return bare Solid
from split
model
This commit is contained in:
parent
5ba2eb09be
commit
7234a05d41
@ -5,31 +5,24 @@ use fj::core::{
|
||||
update::UpdateSolid,
|
||||
},
|
||||
services::Services,
|
||||
storage::Handle,
|
||||
};
|
||||
|
||||
pub fn model(
|
||||
size: f64,
|
||||
split_pos: f64,
|
||||
services: &mut Services,
|
||||
) -> Handle<Solid> {
|
||||
pub fn model(size: f64, split_pos: f64, services: &mut Services) -> Solid {
|
||||
let cuboid = cuboid::model([size, size, size], services);
|
||||
|
||||
cuboid
|
||||
.update_shell(cuboid.shells().only(), |shell| {
|
||||
let face = shell.faces().first();
|
||||
let cycle = face.region().exterior();
|
||||
cuboid.update_shell(cuboid.shells().only(), |shell| {
|
||||
let face = shell.faces().first();
|
||||
let cycle = face.region().exterior();
|
||||
|
||||
let line = [
|
||||
(cycle.half_edges().nth(0).unwrap(), [split_pos]),
|
||||
(cycle.half_edges().nth(2).unwrap(), [split_pos]),
|
||||
];
|
||||
let line = [
|
||||
(cycle.half_edges().nth(0).unwrap(), [split_pos]),
|
||||
(cycle.half_edges().nth(2).unwrap(), [split_pos]),
|
||||
];
|
||||
|
||||
let (shell, [face, _]) = shell.split_face(face, line, services);
|
||||
let (shell, [face, _]) = shell.split_face(face, line, services);
|
||||
|
||||
shell
|
||||
.sweep_face_of_shell(face, [0., 0., -size / 2.], services)
|
||||
.insert(services)
|
||||
})
|
||||
.insert(services)
|
||||
shell
|
||||
.sweep_face_of_shell(face, [0., 0., -size / 2.], services)
|
||||
.insert(services)
|
||||
})
|
||||
}
|
||||
|
@ -1,10 +1,8 @@
|
||||
use std::ops::Deref;
|
||||
|
||||
use fj::{core::services::Services, handle_model};
|
||||
|
||||
fn main() -> fj::Result {
|
||||
let mut services = Services::new();
|
||||
let model = split::model(1.0, 0.2, &mut services);
|
||||
handle_model(model.deref(), services)?;
|
||||
handle_model(&model, services)?;
|
||||
Ok(())
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user