more diagonal work (unfinished)
This commit is contained in:
@@ -35,7 +35,6 @@
|
||||
|
||||
<script setup>
|
||||
import BuilderPanel from "@/components/chart/BuilderPanel.vue";
|
||||
import {useOrderStore} from "@/store/store.js";
|
||||
import {deleteBuilder, linearWeights, useChartOrderStore} from "@/orderbuild.js";
|
||||
import {linspace, sideColor} from "@/misc.js";
|
||||
import {computed, watchEffect} from "vue";
|
||||
@@ -44,15 +43,14 @@ import {cancelDrawing} from "@/charts/chart.js";
|
||||
import {
|
||||
devectorize,
|
||||
vectorAdd,
|
||||
vectorDiv,
|
||||
vectorMul,
|
||||
vectorSub,
|
||||
vectorDiv, vectorEquals,
|
||||
vectorIsNull,
|
||||
vectorIsZero,
|
||||
vectorize,
|
||||
vectorIsZero
|
||||
vectorMul,
|
||||
vectorSub
|
||||
} from "@/vector.js";
|
||||
|
||||
const os = useOrderStore()
|
||||
const co = useChartOrderStore()
|
||||
const endpoints = defineModel('modelValue') // 2-item list of points/values
|
||||
const props = defineProps({
|
||||
@@ -60,7 +58,7 @@ const props = defineProps({
|
||||
order: Object,
|
||||
builder: Object,
|
||||
buildTranches: Function,
|
||||
stdWidth: Number,
|
||||
stdWidth: [Number, Array],
|
||||
shape: Function, // shape() -> Shape
|
||||
mode: { type: Number, default: 0 }, // rung addition mode: 0 = split, 1 = extend
|
||||
flip: { type: Boolean, default: false }, // if true, the skew slider is flipped upside-down
|
||||
@@ -89,6 +87,7 @@ watchEffect(()=>{
|
||||
|
||||
|
||||
function setEndpoints(a, b) {
|
||||
console.log('rb setting endpoints', devectorize(a), devectorize(b))
|
||||
endpoints.value = [devectorize(a), devectorize(b)]
|
||||
}
|
||||
|
||||
@@ -234,7 +233,7 @@ function translateOnModel(shape) {
|
||||
const prev = getModelValue(oldModel)
|
||||
const cur = vectorize(getModelValue(this.model))
|
||||
const delta = vectorSub(cur, prev)
|
||||
// console.log('delta', shape.id, prev, cur, delta)
|
||||
console.log('delta', shape.id, prev, cur, delta)
|
||||
let [a, b] = endpoints.value
|
||||
a = vectorize(a)
|
||||
if (!vectorIsZero(delta)) {
|
||||
@@ -254,7 +253,8 @@ function setModelColor(model) {
|
||||
const shapeA = createShape(endpoints.value[0], {color: defaultColor},
|
||||
function (model) {
|
||||
const value = getModelValue(model);
|
||||
if (value !== endpoints.value[0])
|
||||
console.log('gotModelValue', model, value)
|
||||
if ( !vectorEquals(value, endpoints.value[0]) )
|
||||
setEndpoints(value, endpoints.value[1])
|
||||
setModelColor(model)
|
||||
},
|
||||
@@ -266,7 +266,7 @@ if (props.mode===1)
|
||||
const shapeB = createShape(endpoints.value[1], {color:defaultColor},
|
||||
function (model) {
|
||||
const value = getModelValue(model);
|
||||
if (value !== endpoints.value[1])
|
||||
if ( !vectorEquals(value, endpoints.value[1]) )
|
||||
setEndpoints(endpoints.value[0], value)
|
||||
setModelColor(model)
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user