Make circle3Point tool an actor (#4906)
This commit is contained in:
@ -1230,12 +1230,13 @@ export class SceneEntities {
|
|||||||
// lee: Well, it appears all our code in sceneEntities each act as their own
|
// lee: Well, it appears all our code in sceneEntities each act as their own
|
||||||
// kind of classes. In this case, I'll keep utility functions pertaining to
|
// kind of classes. In this case, I'll keep utility functions pertaining to
|
||||||
// circle3Point here. Feel free to extract as needed.
|
// circle3Point here. Feel free to extract as needed.
|
||||||
entryDraftCircle3Point = async (
|
entryDraftCircle3Point = (
|
||||||
|
done: () => void,
|
||||||
startSketchOnASTNodePath: PathToNode,
|
startSketchOnASTNodePath: PathToNode,
|
||||||
forward: Vector3,
|
forward: Vector3,
|
||||||
up: Vector3,
|
up: Vector3,
|
||||||
sketchOrigin: Vector3
|
sketchOrigin: Vector3
|
||||||
) => {
|
): (() => void) => {
|
||||||
// lee: Not a fan we need to re-iterate this dummy object all over the place
|
// lee: Not a fan we need to re-iterate this dummy object all over the place
|
||||||
// just to get the scale but okie dokie.
|
// just to get the scale but okie dokie.
|
||||||
const dummy = new Mesh()
|
const dummy = new Mesh()
|
||||||
@ -1374,13 +1375,13 @@ export class SceneEntities {
|
|||||||
groupOfDrafts.add(groupCircle)
|
groupOfDrafts.add(groupCircle)
|
||||||
}
|
}
|
||||||
|
|
||||||
const cleanup = () => {
|
|
||||||
this.scene.remove(groupOfDrafts)
|
|
||||||
}
|
|
||||||
|
|
||||||
// The target of our dragging
|
// The target of our dragging
|
||||||
let target: Object3D | undefined = undefined
|
let target: Object3D | undefined = undefined
|
||||||
|
|
||||||
|
const cleanupFn = () => {
|
||||||
|
this.scene.remove(groupOfDrafts)
|
||||||
|
}
|
||||||
|
|
||||||
sceneInfra.setCallbacks({
|
sceneInfra.setCallbacks({
|
||||||
async onDrag(args) {
|
async onDrag(args) {
|
||||||
const draftPointsIntersected = args.intersects.filter(
|
const draftPointsIntersected = args.intersects.filter(
|
||||||
@ -1444,9 +1445,11 @@ export class SceneEntities {
|
|||||||
await kclManager.executeAstMock(astSnapshot)
|
await kclManager.executeAstMock(astSnapshot)
|
||||||
await codeManager.updateEditorWithAstAndWriteToFile(astSnapshot)
|
await codeManager.updateEditorWithAstAndWriteToFile(astSnapshot)
|
||||||
|
|
||||||
sceneInfra.modelingSend({ type: 'circle3PointsFinished', cleanup })
|
done()
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
return cleanupFn
|
||||||
}
|
}
|
||||||
setupDraftCircle = async (
|
setupDraftCircle = async (
|
||||||
sketchPathToNode: PathToNode,
|
sketchPathToNode: PathToNode,
|
||||||
|
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user