Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

117
Vistas
¿Cómo cambiar solo 1 punto de un dojox.gfx.Line?

Estoy creando un editor donde los nodos (grupos de dojo) están conectados entre sí a través de enlaces (líneas de dojo). Al mover estos nodos usando applyTransform(matrix), el nodo se mueve correctamente pero toda la línea se mueve de acuerdo con la transformación. Lo que quiero es que solo el punto conectado al nodo se mueva con él y que el otro punto se quede donde está.

Tengo un motor personalizado que debería mover el nodo y el punto de línea conectado

 dojo.declare("customMover", dojox.gfx.Mover, { onMouseMove: function(event) { let transform = this.shape.getTransform(); if (transform==null) { transform = { dx: 0, dy: 0 }; } let x = event.clientX; let y = event.clientY; this.shape.applyLeftTransform({ dx: x - this.lastX, dy: y - this.lastY }); this.shape.bonds.forEach(bond => { console.log(bond) for (let nodeIndex = 0; nodeIndex < bond.nodes.length; nodeIndex++) { let node = bond.nodes[nodeIndex]; if (node === this.shape) { // do something to change 1 point of the line } } }) this.lastX = x; this.lastY = y; dojo.stopEvent(event); } })

y una función que crea líneas entre dos nodos.

 export function createLine(start, end, group) { let startMat = null; let endMat = null; let startNode = start.getParent() let endNode = end.getParent() if (startNode.matrix) { startMat = startNode.matrix } if (endNode.matrix) { endMat = endNode.matrix } let line = group.createLine({ x1: startMat ? start.shape.cx + startMat.dx : start.shape.cx, y1: startMat ? start.shape.cy + startMat.dy : start.shape.cy, x2: endMat ? end.shape.cx + endMat.dx : end.shape.cx, y2: endMat ? end.shape.cy + endMat.dy : end.shape.cy}) line.moveToBack() line.setStroke({}) line.nodes = [startNode, endNode] startNode.bonds.push(line) endNode.bonds.push(line) }

¿Cómo podría cambiar un punto de la línea?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda