Allow resizing the grid cells via [ and ]
This commit is contained in:
parent
9cbfed136c
commit
9c0e3dccbd
2 changed files with 22 additions and 2 deletions
|
@ -97,7 +97,20 @@ class ViewController: NSViewController, RendererDelegate {
|
|||
}
|
||||
|
||||
override func keyDown(with event: NSEvent) {
|
||||
print("key down: \(event)")
|
||||
switch event.charactersIgnoringModifiers {
|
||||
case .some("["):
|
||||
let size = marchingSquares.sampleGridSize
|
||||
if size.x > 2 {
|
||||
marchingSquares.sampleGridSize = Size(size.x / 2)
|
||||
}
|
||||
case .some("]"):
|
||||
let size = marchingSquares.sampleGridSize
|
||||
if size.x < 32 {
|
||||
marchingSquares.sampleGridSize = Size(size.x * 2)
|
||||
}
|
||||
default:
|
||||
print("key down: \(event)")
|
||||
}
|
||||
}
|
||||
|
||||
override var acceptsFirstResponder: Bool {
|
||||
|
|
|
@ -12,11 +12,18 @@ import simd
|
|||
|
||||
class MarchingSquares {
|
||||
private var field: Field
|
||||
private var sampleGridSize = Size(16)
|
||||
|
||||
var sampleGridSize = Size(16) {
|
||||
didSet {
|
||||
fieldDidResize()
|
||||
}
|
||||
}
|
||||
|
||||
private var semaphore: DispatchSemaphore
|
||||
|
||||
/// Compute pipeline for sampling the field.
|
||||
private var samplingPipeline: MTLComputePipelineState?
|
||||
/// Compute pipeline for calculating the contours based on a grid of samples.
|
||||
private var contouringPipeline: MTLComputePipelineState?
|
||||
|
||||
private var parametersBuffer: MTLBuffer?
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue