fix: fixed copying 1 gate
This commit is contained in:
parent
3c59690f30
commit
1a898dc926
|
@ -26,6 +26,7 @@ import { GateInitter } from '../types/GateInitter'
|
||||||
import { handleMouseDown } from '../helpers/handleMouseDown'
|
import { handleMouseDown } from '../helpers/handleMouseDown'
|
||||||
import { handleMouseUp } from '../helpers/handleMouseUp'
|
import { handleMouseUp } from '../helpers/handleMouseUp'
|
||||||
import { handleMouseMove } from '../helpers/handleMouseMove'
|
import { handleMouseMove } from '../helpers/handleMouseMove'
|
||||||
|
import { Gate } from '../../simulation/classes/Gate'
|
||||||
|
|
||||||
export class SimulationRenderer {
|
export class SimulationRenderer {
|
||||||
public mouseDownOutput = new Subject<MouseEventInfo>()
|
public mouseDownOutput = new Subject<MouseEventInfo>()
|
||||||
|
@ -117,7 +118,7 @@ export class SimulationRenderer {
|
||||||
* @throws SimulationError if an id isnt valid
|
* @throws SimulationError if an id isnt valid
|
||||||
* @throws SimulationError if the id doesnt have a data prop
|
* @throws SimulationError if the id doesnt have a data prop
|
||||||
*/
|
*/
|
||||||
public getSelected() {
|
public getSelected(): Gate[] {
|
||||||
return setToArray(this.allSelectedIds()).map(id => {
|
return setToArray(this.allSelectedIds()).map(id => {
|
||||||
const gate = this.simulation.gates.get(id)
|
const gate = this.simulation.gates.get(id)
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ import { vector2 } from '../../../common/math/types/vector2'
|
||||||
export const add = (...vectors: vector2[]): vector2 => {
|
export const add = (...vectors: vector2[]): vector2 => {
|
||||||
const first = vectors[0]
|
const first = vectors[0]
|
||||||
const others = vectors.slice(1)
|
const others = vectors.slice(1)
|
||||||
const othersSum = others.length > 1 ? add(...others) : others[0]
|
const othersSum = others.length >= 1 ? add(...others) : [0, 0]
|
||||||
|
|
||||||
return first.map((value, index) => value + othersSum[index]) as vector2
|
return first.map((value, index) => value + othersSum[index]) as vector2
|
||||||
}
|
}
|
||||||
|
@ -69,4 +69,4 @@ export const inverse = (vector: vector2) => vector.map(a => 1 / a) as vector2
|
||||||
*
|
*
|
||||||
* @param vectors tHe vectors to find the averege of
|
* @param vectors tHe vectors to find the averege of
|
||||||
*/
|
*/
|
||||||
export const averege = (...vectors: vector2[]) => multiply(add(...vectors), 1 / vectors.length)
|
export const averege = (...vectors: vector2[]): vector2 => vectors.length ? multiply(add(...vectors), 1 / vectors.length) : [0, 0]
|
|
@ -3,12 +3,16 @@
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"jsx": "preserve",
|
"jsx": "preserve",
|
||||||
"noImplicitAny": true,
|
|
||||||
"experimentalDecorators": true,
|
"experimentalDecorators": true,
|
||||||
"target": "esnext",
|
"target": "esnext",
|
||||||
|
"downlevelIteration": true,
|
||||||
"strictNullChecks": true,
|
"strictNullChecks": true,
|
||||||
"module": "esnext"
|
"module": "esnext"
|
||||||
},
|
},
|
||||||
"exclude": ["node_modules"],
|
"exclude": [
|
||||||
"include": ["src"]
|
"node_modules"
|
||||||
|
],
|
||||||
|
"include": [
|
||||||
|
"src"
|
||||||
|
]
|
||||||
}
|
}
|
Loading…
Reference in a new issue