Fix CSG commands to be included in the artifact graph (#6391)
* Fix CSG commands to be included in the artifact graph * Update output
This commit is contained in:
@ -1122,32 +1122,36 @@ fn artifacts_to_update(
|
||||
|
||||
let mut new_solid_ids = vec![id];
|
||||
|
||||
// Make sure we don't ever create a duplicate ID since merge_ids
|
||||
// can't handle it.
|
||||
let not_cmd_id = move |solid_id: &ArtifactId| *solid_id != id;
|
||||
|
||||
match response {
|
||||
OkModelingCmdResponse::BooleanIntersection(intersection) => intersection
|
||||
.extra_solid_ids
|
||||
.iter()
|
||||
.copied()
|
||||
.map(ArtifactId::new)
|
||||
.filter(not_cmd_id)
|
||||
.for_each(|id| new_solid_ids.push(id)),
|
||||
OkModelingCmdResponse::BooleanSubtract(subtract) => subtract
|
||||
.extra_solid_ids
|
||||
.iter()
|
||||
.copied()
|
||||
.map(ArtifactId::new)
|
||||
.filter(not_cmd_id)
|
||||
.for_each(|id| new_solid_ids.push(id)),
|
||||
OkModelingCmdResponse::BooleanUnion(union) => union
|
||||
.extra_solid_ids
|
||||
.iter()
|
||||
.copied()
|
||||
.map(ArtifactId::new)
|
||||
.filter(not_cmd_id)
|
||||
.for_each(|id| new_solid_ids.push(id)),
|
||||
_ => {}
|
||||
}
|
||||
let return_arr = new_solid_ids
|
||||
.into_iter()
|
||||
// Extra solid IDs may include the command's ID. Make sure we
|
||||
// don't create a duplicate.
|
||||
.filter(|solid_id| *solid_id != id)
|
||||
.map(|solid_id| {
|
||||
Artifact::CompositeSolid(CompositeSolid {
|
||||
id: solid_id,
|
||||
|
@ -48,6 +48,7 @@ flowchart LR
|
||||
42["SweepEdge Adjacent"]
|
||||
43["SweepEdge Opposite"]
|
||||
44["SweepEdge Adjacent"]
|
||||
45["CompositeSolid Intersect<br>[448, 477, 0]"]
|
||||
1 --- 2
|
||||
2 --- 3
|
||||
2 --- 4
|
||||
@ -114,4 +115,6 @@ flowchart LR
|
||||
30 --- 42
|
||||
30 --- 43
|
||||
30 --- 44
|
||||
2 <--x 45
|
||||
24 <--x 45
|
||||
```
|
||||
|
@ -36,6 +36,7 @@ flowchart LR
|
||||
30["Cap End"]
|
||||
31["SweepEdge Opposite"]
|
||||
32["SweepEdge Adjacent"]
|
||||
33["CompositeSolid Subtract<br>[461, 497, 0]"]
|
||||
1 --- 2
|
||||
2 --- 3
|
||||
2 --- 4
|
||||
@ -81,4 +82,6 @@ flowchart LR
|
||||
27 --- 30
|
||||
27 --- 31
|
||||
27 --- 32
|
||||
2 <--x 33
|
||||
24 <--x 33
|
||||
```
|
||||
|
@ -48,6 +48,7 @@ flowchart LR
|
||||
42["SweepEdge Adjacent"]
|
||||
43["SweepEdge Opposite"]
|
||||
44["SweepEdge Adjacent"]
|
||||
45["CompositeSolid Subtract<br>[445, 479, 0]"]
|
||||
1 --- 2
|
||||
2 --- 3
|
||||
2 --- 4
|
||||
@ -114,4 +115,6 @@ flowchart LR
|
||||
30 --- 42
|
||||
30 --- 43
|
||||
30 --- 44
|
||||
2 <--x 45
|
||||
24 <--x 45
|
||||
```
|
||||
|
@ -48,6 +48,7 @@ flowchart LR
|
||||
42["SweepEdge Adjacent"]
|
||||
43["SweepEdge Opposite"]
|
||||
44["SweepEdge Adjacent"]
|
||||
45["CompositeSolid Union<br>[448, 473, 0]"]
|
||||
1 --- 2
|
||||
2 --- 3
|
||||
2 --- 4
|
||||
@ -114,4 +115,6 @@ flowchart LR
|
||||
30 --- 42
|
||||
30 --- 43
|
||||
30 --- 44
|
||||
2 <--x 45
|
||||
24 <--x 45
|
||||
```
|
||||
|
Reference in New Issue
Block a user