256d86aca5Se 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.
Aether
Miguel2025-06-24 21:35:17 +0200
3bc314182cSe 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.Miguel2025-06-24 17:45:47 +0200
6928088691Se 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.Miguel2025-06-24 17:32:17 +0200
81329e4c09Se 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.Miguel2025-06-24 17:07:37 +0200
b6f616f6ccAgregado del control TransportCurva con GuiasMiguel2025-06-24 16:53:03 +0200
1449544d71Se 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.Miguel2025-06-24 11:17:34 +0200
5c2daaeb98Se 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.Miguel2025-06-24 10:59:58 +0200
3af9ad99d8Se 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.Miguel2025-06-23 23:40:48 +0200
da8d0516cbSe 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.Miguel2025-06-23 22:10:00 +0200
ac8773ebc7Se 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.Miguel2025-06-23 21:36:53 +0200
75c507be4eSe 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.Miguel2025-06-23 15:29:40 +0200
fefc0a700dSe 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.Miguel2025-06-22 16:44:19 +0200
58781c13a3Se 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.Miguel2025-06-18 21:23:39 +0200
b48dbeb76eSe 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.Miguel2025-06-18 19:54:51 +0200
ca70f66ff1Se 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.Miguel2025-06-18 18:55:04 +0200
354b4a8acfSe 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.Miguel2025-06-18 15:20:26 +0200
909e438f5bSe 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.Miguel2025-06-18 13:40:49 +0200
9b710fcb00Se 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.Miguel2025-06-18 11:49:22 +0200
c03f6970d8Se 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.Miguel2025-06-18 02:11:38 +0200
c353f6c6eaSe 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.Miguel2025-06-18 01:24:28 +0200
67fa5eef3dSe 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.Miguel2025-06-17 18:38:00 +0200
99248e9112Se 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.Miguel2025-06-17 17:35:35 +0200
f85c707cfcSe 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.Miguel2025-06-14 22:48:00 +0200
88e6de77cbSe 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.Miguel2025-06-14 17:07:05 +0200
94b11cf068Se 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.Miguel2025-06-14 16:47:25 +0200
20467c88aeSe 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.Miguel2025-06-13 23:50:19 +0200
e935efb0cbSe 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.Miguel2025-06-13 23:28:50 +0200
16f5131803Implementada 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.Miguel2025-06-13 22:33:13 +0200
883620b69dImplementada 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.Miguel2025-06-13 22:07:37 +0200
9c4e87be9bMejora 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.Miguel2025-06-13 20:59:09 +0200
380bc14b69Implementada 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.Miguel2025-06-13 20:48:48 +0200
0d8780b16fImplementada 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.Miguel2025-06-13 20:16:12 +0200
b8d3c953e6Actualizació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.Miguel2025-06-13 19:52:43 +0200
53af46ec06Primeras funciones de FluidosMiguel2025-04-13 17:07:54 +0200
d1ec333243Agregada funciones de FluidosMiguel2025-04-13 16:42:18 +0200
20bdad509bCorreccion errores de OCRMiguel2025-04-02 17:34:51 +0200
fe8f2119ceMejorado de delete y dumplicate para objetos multiplesMiguel2025-03-31 13:40:28 +0200
736068619aAgregado de PaddleOCR y correccion de TagPatternMiguel2025-03-27 14:50:51 +0100
98c5f2e6ffCreada las opciones de datos locales para las posiciones de los objetos globalesMiguel2025-03-26 21:12:04 +0100
211c518be6Agregada la posibilidad de invertir la imagen ucCustomImageMiguel2025-03-26 15:18:58 +0100
304bdb06d4Agregado 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.Miguel2025-03-07 11:00:27 +0100
f264efd9ceCambiado Path de teseract a absoluto en la carpeta de la aplicacionMiguel2025-03-01 23:28:29 +0100
3d70992b1aCreado Control osVisFilterMiguel2025-02-26 11:37:19 +0100
b6b078f8ceCambiado funcionamiento de BuscarCoincidencias para guardar el clip original.Miguel2025-02-25 21:36:07 +0100
3fe845b02fCreado Panel de Edicion de Propiedades para multiples objetos. Multiinstancia.Miguel2025-02-25 14:19:03 +0100
e14c28920fCreada una UserControl para PanelEdicion que permita la edicion de los objetosMiguel2025-02-25 11:10:58 +0100
8a5ebe6ac6Creado un UserControl con los objetos en TreeView para simplificar la seleccion de los objetosMiguel2025-02-24 21:39:15 +0100
621ee8be39CustomImage con imagen por defecto. Creada visualizcion de tiempo de ciclo. Modificada logica de Preserve_Outside_Transport. Agregada opcion a osFramePlate de showPlateMiguel2025-02-24 16:33:27 +0100
5e95459e3eAgregado un nuevo objeto CustomImageMiguel2025-02-24 11:37:52 +0100
5f680b3a7aMejorado de las curvas. Se creo un overlapPercentage para las curvas.Miguel2025-02-23 21:22:42 +0100
d06607ccc6Rectangulo de seleccion funcionando para seleccionar multiples objetosMiguel2025-02-21 22:25:14 +0100
061007158dAgregada clase de Serializacion para separar la logica del MainViewModelMiguel2025-02-21 15:12:10 +0100
0a52c543e6Marcado en purpura el objeto tomado de referenciaMiguel2025-02-20 13:17:03 +0100
38ca212d9fAgregado movimiento con flechas de los objetos seleccionadosMiguel2025-02-19 21:27:33 +0100
89745d15bfMejorada la seleccion de objetos.Miguel2025-02-17 15:16:40 +0100
633cd71d00Mejorado la descripcion de las extracciones de Tag con PatronesMiguel2025-02-17 13:04:21 +0100
8573d942c4Agregado exportacion a Excel desde la ventana de Analizar la Matriz. Agregada la correccion de las columnas de descripcion.Miguel2025-02-15 22:38:12 +0100
3a2e87cd75Agregada funcion de analizar la matriz de exportacion de tags. Creada un submenu para cargar los ultimos directorios ustilizados. Cambiado intercambio de datos para los Motores simulados a DINTMiguel2025-02-14 14:04:29 +0100
dc164e96efAgregadas las opciones de consultar si guardar luego de hacer modificaciones y agregado el uso de la tecla Delete para borrar elementosMiguel2025-02-13 16:52:33 +0100
e63577e5c3Modificado Zindex para soportar los FrameMiguel2025-02-13 14:00:47 +0100
9f41401e40Creado Encoder Lineal. Corregido error de inicio de tiempo en simulacion. Creado Frame Plate para que se muevan los objetos con un encoder lineal. Agregado a los transportes la actualizacion de geometrias en caso de que sean movidos por la interfaz.Miguel2025-01-04 10:34:19 +0100
353b4b99e6Agregada la funcion de crear el archivo base.png si no hay imagenes en el directorio elegidoMiguel2024-09-12 16:43:39 +0200
261fe679d8Mejorado logica de Zindex para los Panel Plate y los ExtraccionTag. Las osGuia ahora al modificar la posicion se actualiza la simulacion en tiempo real.Miguel2024-07-03 16:12:54 +0200
c8abb98c7dTerminada las modificaciones de Movimiento / Angulo / Resize. Creado Enum para zindexMiguel2024-06-30 18:17:44 +0200
8fddbb409bCambios en la logica de Alto - Ancho y Angulo pasado a osBaseMiguel2024-06-30 14:32:32 +0200
e09e4e710aMejorada la implementacion de rotacion y redimensionado.Miguel2024-06-28 19:47:08 +0200
77c9f3db5eMejorado de Zoom y panningMiguel2024-06-09 21:26:09 +0200
506ee16ae1Terminado la logica de Groups y con un mecanismo antibucle basico. Faltaria controlar que los nombres de los objetos no puedan ser iguales.Miguel2024-06-09 17:33:09 +0200
2187783fe2Actualizados todos los objetos Transporte con la nueva logicaMiguel2024-06-09 10:55:21 +0200
c58a264d38Mejorando sistema de Links entre Objetos. Usando IItemsSource y suscribiendose al evento de cambio de Nombre. De esta forma se mantiene un enlace por string mas simple para serializarMiguel2024-06-09 10:39:31 +0200