Miguel
|
256d86aca5
|
Se realizaron actualizaciones en múltiples clases para mejorar la legibilidad y la organización de las propiedades. Se añadieron nuevos atributos de descripción y nombre en varias clases, como ucBasicExample, ucTransporteCurva, y ucTransporteGuias, facilitando la identificación de los elementos en la interfaz de usuario. Además, se eliminaron archivos innecesarios del proyecto y se ajustaron las categorías de propiedades para una mejor clasificación. Estas mejoras optimizan la experiencia del usuario y la gestión de los objetos en la simulación.
|
2025-06-24 21:35:17 +02:00 |
Miguel
|
3bc314182c
|
Se realizaron mejoras en la clase MainViewModel al agregar espacios en blanco para mejorar la legibilidad. En TagEditorAttribute, se añadieron nuevos atributos y se implementó la lógica para manejar nombres personalizados de propiedades. En UserControlFactory, se optimizó la obtención de nombres de propiedades y se eliminaron espacios en blanco innecesarios. Finalmente, se añadió un atributo Name en ucTransporteTTop para el coeficiente de fricción, mejorando la claridad en la interfaz de usuario.
|
2025-06-24 17:45:47 +02:00 |
Miguel
|
6928088691
|
Se añadieron nuevas propiedades y métodos en el control CircularSegment para gestionar guías visuales, incluyendo la distancia, grosor y color de las guías. Se implementó la lógica para dibujar las guías en el segmento circular, mejorando la visualización y personalización del control.
|
2025-06-24 17:32:17 +02:00 |
Miguel
|
81329e4c09
|
Se añadieron nuevas propiedades y métodos en la clase ucTransporteCurvaGuias para gestionar guías curvas, incluyendo la creación y actualización de segmentos de guías. Se implementaron validaciones para el número de segmentos y se mejoró la lógica de actualización de geometrías al cambiar propiedades relevantes.
|
2025-06-24 17:07:37 +02:00 |
Miguel
|
b6f616f6cc
|
Agregado del control TransportCurva con Guias
|
2025-06-24 16:53:03 +02:00 |
Miguel
|
1449544d71
|
Se actualizaron las propiedades en las clases osBase, ucCustomImage y ucVMmotorSim para utilizar el nuevo atributo [property: JsonIgnore], mejorando la gestión de la serialización JSON. Además, se ajustó la configuración del serializador en StateSerializer.cs para respetar los atributos JsonIgnore, optimizando la deserialización de objetos.
|
2025-06-24 11:17:34 +02:00 |
Miguel
|
5c2daaeb98
|
Se añadió un estilo global para TreeViewItem en App.xaml para evitar errores de binding. Se actualizaron las referencias de paquetes en CtrEditor.csproj, cambiando la versión de LiveChartsCore.SkiaSharpView.WPF y añadiendo SkiaSharp.Views.WPF. Se mejoró la gestión de carga de imágenes en osBase.cs y ucCustomImage.xaml.cs, implementando un manejo de errores más robusto y estableciendo imágenes por defecto en caso de fallos. Se ajustó el XAML de ucBoolTag para mejorar la conversión de color. Se implementó un convertidor seguro para ImageSource en StateSerializer.cs, mejorando la deserialización de imágenes.
|
2025-06-24 10:59:58 +02:00 |
Miguel
|
3af9ad99d8
|
Se añadió un nuevo parámetro de ángulo en el método CrearAnimacionStoryBoardTrasnporteCircular en la clase osBase, permitiendo ajustar la dirección de la animación según el valor del ángulo. Se actualizaron las llamadas a este método en ucTransporteCurva para incluir el nuevo parámetro, mejorando la lógica de animación en función de la dirección y el ángulo proporcionado.
|
2025-06-23 23:40:48 +02:00 |
Miguel
|
da8d0516cb
|
Se añadió la funcionalidad para crear y actualizar animaciones de transporte circular en la clase osBase y se integró en ucTransporteCurva. Se implementaron métodos para gestionar la dirección de las animaciones y se mejoró la lógica de actualización de geometrías. Además, se realizaron ajustes en el XAML de CircularSegment para incluir un patrón visual en el Path.
|
2025-06-23 22:10:00 +02:00 |
Miguel
|
ac8773ebc7
|
Se realizaron mejoras en la gestión de objetos visuales en la clase ObjectManipulationManager. Se optimizó la lógica para purgar objetos eliminados y se mejoró la rotación de objetos, permitiendo rotaciones en incrementos de 45 grados al mantener presionada la tecla Shift. Además, se ajustaron espacios en blanco y se mejoró la legibilidad del código en varias secciones.
|
2025-06-23 21:36:53 +02:00 |
Miguel
|
75c507be4e
|
Se añadieron nuevas propiedades relacionadas con el encoder en la clase ucVMmotorSim, permitiendo la lectura del valor actual de la posición del encoder y la habilitación de su uso. Se eliminaron instancias innecesarias de Stopwatch en las clases ucEncoderMotor y ucEncoderMotorLineal, optimizando el código. Además, se realizaron ajustes en la interfaz de usuario de ucBoolTag para incluir una opción de visualización de descripción.
|
2025-06-23 15:29:40 +02:00 |
Miguel
|
fefc0a700d
|
Se añadió un nuevo método para verificar si un objeto visual es un hijo visual de otro, mejorando la gestión de transformaciones en la clase osBase. Además, se implementaron mejoras en la obtención de coordenadas de rectángulos, incluyendo validaciones para asegurar que los rectángulos estén cargados y disponibles antes de realizar transformaciones. Se mejoró la lógica de creación de geometría en ucTransporteTTop, asegurando que el layout esté actualizado y manejando excepciones para evitar fallos en la creación de simulaciones.
|
2025-06-22 16:44:19 +02:00 |
Miguel
|
58781c13a3
|
Se implementó una nueva ventana de configuración de escala que permite a los usuarios ajustar la escala de simulación de manera modeless. Se añadió un temporizador para aplicar automáticamente los cambios de escala después de 0.5 segundos. Además, se mejoró la gestión de la escala en el ViewModel principal y se actualizaron los bindings de posición en osBase para asegurar una correcta visualización. Se incluyó un botón de "Aplicar" en la interfaz de usuario para facilitar la aplicación de cambios.
|
2025-06-18 21:23:39 +02:00 |
Miguel
|
b48dbeb76e
|
Se añadió un nuevo método para configurar la escala desde el menú contextual en MainViewModel, permitiendo a los usuarios ajustar la escala de simulación. Se implementó la lógica para detener simulaciones, actualizar la escala en el convertidor de unidades y forzar el redibujo del canvas. Además, se agregó una opción en el menú contextual de MainWindow para acceder a esta funcionalidad. Se mejoró la gestión de bindings de posición y tamaño en osBase para asegurar actualizaciones adecuadas tras cambios de escala.
|
2025-06-18 19:54:51 +02:00 |
Miguel
|
ca70f66ff1
|
Se añadió la funcionalidad para cargar datos de imágenes desde archivos JSON en la clase DatosDeTrabajo, mejorando la gestión de imágenes. Se implementó un nuevo método para obtener configuraciones de serialización JSON y se mejoró la lógica de carga de datos, incluyendo compatibilidad con versiones anteriores. Además, se actualizó el método de obtención de nombres de imágenes en MainViewModel para incluir etiquetas, y se ajustó el convertidor correspondiente en ImageDisplayNameConverter.
|
2025-06-18 18:55:04 +02:00 |
Miguel
|
354b4a8acf
|
Se mejoró la funcionalidad de renombrado de imágenes en la interfaz, integrando un PropertyGrid para editar propiedades de imágenes, incluyendo etiquetas. Se actualizó la lógica para eliminar entradas vacías y se modificó el diseño de la ventana de renombrado para una mejor experiencia de usuario. Además, se implementó un editor de etiquetas que permite gestionar etiquetas de manera más eficiente.
|
2025-06-18 15:20:26 +02:00 |
Miguel
|
909e438f5b
|
Se añadió la capacidad de gestionar datos de imágenes en la clase DatosDeTrabajo, permitiendo la carga de datos desde archivos JSON y la integración con MainViewModel. Se implementó un nuevo método para establecer el ViewModel principal y se mejoró la lógica de renombrado de imágenes en la interfaz de usuario, incluyendo un comando para renombrar imágenes desde el contexto del ListBox. Además, se incorporó un convertidor para mostrar nombres de imágenes personalizados en la interfaz.
|
2025-06-18 13:40:49 +02:00 |
Miguel
|
9b710fcb00
|
Se implementó un sistema para gestionar múltiples ventanas de biblioteca, permitiendo la activación de una ventana existente o la creación de una nueva. Además, se mejoró la lógica de pegado de objetos, integrando la validación del contenido del portapapeles y la capacidad de pegar desde el portapapeles del sistema. Se añadió un método para recargar la imagen actual después de pegar en el proyecto actual, mejorando la experiencia del usuario al gestionar objetos en la biblioteca.
|
2025-06-18 11:49:22 +02:00 |
Miguel
|
c03f6970d8
|
Se añadió la clase LibraryWindowSettings para gestionar la configuración de la ventana de la biblioteca, incluyendo propiedades para dimensiones y posición. Se implementó la persistencia de estas configuraciones al abrir y cerrar la ventana. Además, se mejoró la interfaz de usuario con un TreeView jerárquico para la gestión de bibliotecas y se añadieron comandos para crear y eliminar directorios de bibliotecas. Se implementó la selección múltiple de objetos en la ventana de la biblioteca, mejorando la experiencia del usuario al gestionar objetos.
|
2025-06-18 02:11:38 +02:00 |
Miguel
|
c353f6c6ea
|
Se añadió la funcionalidad de gestión de bibliotecas de objetos en la interfaz de usuario, incluyendo un nuevo comando para abrir la ventana de gestión de bibliotecas. Se incorporó una nueva propiedad en la clase EstadoPersistente para almacenar directorios de bibliotecas y se realizaron mejoras en la estructura del código para una mayor claridad y mantenimiento.
|
2025-06-18 01:24:28 +02:00 |
Miguel
|
67fa5eef3d
|
Se implementó un sistema de filtrado por etiquetas en la interfaz de usuario, permitiendo a los usuarios buscar y seleccionar objetos basados en etiquetas personalizadas. Se añadieron nuevas propiedades y métodos en la clase osBase para gestionar etiquetas, así como mejoras en la lógica de actualización de filtros en función de los objetos disponibles. Además, se realizaron ajustes en la visualización y manejo de los filtros en el control osVisFilter.
|
2025-06-17 18:38:00 +02:00 |
Miguel
|
99248e9112
|
Se implementaron mejoras en la gestión de copias de objetos seleccionados, reutilizando la lógica de duplicación para crear copias serializables. Se agregó manejo de errores al intentar copiar objetos y se implementaron nuevas propiedades en la clase osBase para gestionar el punto de pivote en la rotación. Además, se aseguraron validaciones para evitar diámetros inválidos en la simulación, garantizando un comportamiento más robusto en la manipulación de objetos.
|
2025-06-17 17:35:35 +02:00 |
Miguel
|
f85c707cfc
|
Se añadieron mejoras en la gestión de la manipulación de objetos rotados, incluyendo métodos para adaptar los cursores y el comportamiento de los handles según la rotación del objeto. Se implementó la transformación de cambios del mouse en coordenadas locales para un redimensionamiento más intuitivo. Además, se documentaron las nuevas funcionalidades en la clase ObjectManipulationManager.
|
2025-06-14 22:48:00 +02:00 |
Miguel
|
88e6de77cb
|
Se implementaron métodos para actualizar la posición relativa de los objetos en función de un FramePlate, incluyendo la gestión de la rotación orbital. Se añadieron propiedades para almacenar la posición relativa y el ángulo inicial, y se mejoró la lógica de actualización de posición al cambiar la posición del FramePlate. Además, se implementó un método para recalcular la posición relativa al mover los objetos, asegurando un comportamiento más preciso en la simulación.
|
2025-06-14 17:07:05 +02:00 |
Miguel
|
94b11cf068
|
Se implementó un sistema de gestión de historial de deshacer (undo) en la aplicación, permitiendo capturar y restaurar estados de objetos seleccionados. Se añadieron métodos para limpiar el historial y se mejoró la interfaz de usuario para mostrar información sobre el estado del historial de deshacer. Además, se realizaron ajustes en la lógica de manipulación de objetos para asegurar la correcta captura de estados antes de movimientos y redimensionamientos.
|
2025-06-14 16:47:25 +02:00 |
Miguel
|
20467c88ae
|
Se agregaron nuevas propiedades y métodos para gestionar el ángulo de rotación en la clase ucFramePlate, incluyendo la implementación de encoders para la rotación. Se mejoró la actualización de la posición en función del valor del encoder de rotación y se implementaron cambios en la gestión de eventos para reflejar adecuadamente las modificaciones en el ángulo.
|
2025-06-13 23:50:19 +02:00 |
Miguel
|
e935efb0cb
|
Se agregó la función CanPasteFromClipboard para validar el contenido del portapapeles antes de pegar objetos, mejorando la gestión de errores y asegurando que solo se seleccionen objetos con representación visual válida. Se implementó un retraso en la selección para permitir el renderizado completo de los objetos pegados.
|
2025-06-13 23:28:50 +02:00 |
Miguel
|
16f5131803
|
Implementada la funcionalidad de copiar y pegar objetos seleccionados como JSON desde el portapapeles, incluyendo opciones para reemplazar IDs existentes. Se agregó manejo de errores y validación del contenido del portapapeles para asegurar la correcta deserialización de los objetos.
|
2025-06-13 22:33:13 +02:00 |
Miguel
|
883620b69d
|
Implementada la funcionalidad de bloqueo y desbloqueo de objetos seleccionados en el menú contextual: se agregó un submenú para gestionar el estado de bloqueo de los objetos, actualizando visualmente la selección y marcando cambios sin guardar en el modelo de vista.
|
2025-06-13 22:07:37 +02:00 |
Miguel
|
9c4e87be9b
|
Mejora en la normalización de ángulos en la clase Aether: se implementó un manejo más robusto de los ángulos para casos donde el arco cruza el límite 0/2π, asegurando un cálculo preciso de la superposición y la distancia a los bordes.
|
2025-06-13 20:59:09 +02:00 |
Miguel
|
380bc14b69
|
Implementada la función para forzar la actualización de bindings en el PropertyGrid antes de limpiar la selección y al cambiar el objeto seleccionado. Se mejoró la gestión del foco en el PropertyGrid para asegurar la correcta actualización de los datos.
|
2025-06-13 20:48:48 +02:00 |
Miguel
|
0d8780b16f
|
Implementada la funcionalidad de bloqueo de movimiento para objetos: se agregó la propiedad 'lock_movement' en la clase osBase y se modificaron las funciones de manipulación de objetos para respetar este bloqueo, evitando redimensionamientos, movimientos y eliminaciones de objetos bloqueados.
|
2025-06-13 20:16:12 +02:00 |
Miguel
|
b8d3c953e6
|
Actualización de la simulación de fluidos: se han agregado nuevos comandos para iniciar y detener la simulación de fluidos, así como métodos para manejar su inicio, detención y actualización. Se han modificado las referencias de Emgu.CV a una versión anterior y se han realizado ajustes en los archivos XAML para reflejar cambios en los espacios de nombres.
|
2025-06-13 19:52:43 +02:00 |
Miguel
|
f42a4bb5d1
|
Compilado
|
2025-04-13 18:21:03 +02:00 |
Miguel
|
53af46ec06
|
Primeras funciones de Fluidos
|
2025-04-13 17:07:54 +02:00 |
Miguel
|
d1ec333243
|
Agregada funciones de Fluidos
|
2025-04-13 16:42:18 +02:00 |
Miguel
|
20bdad509b
|
Correccion errores de OCR
|
2025-04-02 17:34:51 +02:00 |
Miguel
|
fe8f2119ce
|
Mejorado de delete y dumplicate para objetos multiples
|
2025-03-31 13:40:28 +02:00 |
Miguel
|
736068619a
|
Agregado de PaddleOCR y correccion de TagPattern
|
2025-03-27 14:50:51 +01:00 |
Miguel
|
98c5f2e6ff
|
Creada las opciones de datos locales para las posiciones de los objetos globales
|
2025-03-26 21:12:04 +01:00 |
Miguel
|
211c518be6
|
Agregada la posibilidad de invertir la imagen ucCustomImage
|
2025-03-26 15:18:58 +01:00 |
Miguel
|
304bdb06d4
|
Agregado posibilidad al Frame de moverse horizontal y verticalmente. Agregado TransporteDualInverter para que sea comandado por dos inverters seleccionables desde un tag. Agregada funcionalidad de cambio de tamaño a las curvas.
|
2025-03-07 11:00:27 +01:00 |
Miguel
|
f264efd9ce
|
Cambiado Path de teseract a absoluto en la carpeta de la aplicacion
|
2025-03-01 23:28:29 +01:00 |
Miguel
|
3d70992b1a
|
Creado Control osVisFilter
|
2025-02-26 11:37:19 +01:00 |
Miguel
|
b6b078f8ce
|
Cambiado funcionamiento de BuscarCoincidencias para guardar el clip original.
|
2025-02-25 21:36:07 +01:00 |
Miguel
|
3fe845b02f
|
Creado Panel de Edicion de Propiedades para multiples objetos. Multiinstancia.
|
2025-02-25 14:34:11 +01:00 |
Miguel
|
e14c28920f
|
Creada una UserControl para PanelEdicion que permita la edicion de los objetos
|
2025-02-25 11:10:58 +01:00 |
Miguel
|
8a5ebe6ac6
|
Creado un UserControl con los objetos en TreeView para simplificar la seleccion de los objetos
|
2025-02-24 21:39:15 +01:00 |
Miguel
|
621ee8be39
|
CustomImage con imagen por defecto. Creada visualizcion de tiempo de ciclo. Modificada logica de Preserve_Outside_Transport. Agregada opcion a osFramePlate de showPlate
|
2025-02-24 16:33:27 +01:00 |
Miguel
|
5e95459e3e
|
Agregado un nuevo objeto CustomImage
|
2025-02-24 11:37:52 +01:00 |