Miguel
de4193dee3
Add unit test for hydraulic component type assignability
...
- Created a new test class TestItemsSource in test_osBaseItemsSource.cs.
- Implemented TestTypeAssignability method to verify that osHydPipe, osHydDischargeTank, and osHydPump correctly implement the IHydraulicComponent interface.
- Added console output to display results of type checks and comparisons.
2025-09-04 18:25:31 +02:00
Miguel
091170b70d
Agregado de NombreCategoria a los osSimulables
2025-09-04 12:26:24 +02:00
Miguel
a6cbd8c4ab
Se realizaron mejoras en la gestión de barreras en el sistema de simulación. Se eliminó la dependencia de cuerpos físicos para las barreras, implementando un sistema de detección basado en RayCast. Se actualizaron los métodos de creación y actualización de barreras, así como su visualización en 3D, optimizando la representación del haz de luz. Además, se simplificó la lógica de detección y se eliminaron métodos obsoletos relacionados con la geometría de barreras.
2025-07-04 22:45:26 +02:00
Miguel
e38adc9f56
Se eliminaron archivos de documentación innecesarios en el proyecto y se realizaron ajustes en la visibilidad de métodos en la clase osBase, cambiando de privado a protegido. Se implementó un nuevo método para verificar las dimensiones de los descartes y se mejoró la lógica de actualización de geometrías en ucDescarte y ucGuia, utilizando un sistema inteligente para optimizar el rendimiento. Además, se corrigieron errores en la conversión de coordenadas y se restauró el factor de conversión de velocidad en BEPU.
2025-07-02 17:19:31 +02:00
Miguel
fd215bc677
Intento con LinearAxisMotor
2025-07-02 15:17:50 +02:00
Miguel
fbac81ec45
Codigo adaptado base aun errores
2025-07-01 19:47:10 +02:00
Miguel
121e586d53
Inicio de Migracion de 2D a 3D
2025-07-01 19:03:06 +02:00
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
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
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
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
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
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
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
20bdad509b
Correccion errores de OCR
2025-04-02 17:34:51 +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
3dab570f5d
Multiseleccion funcionando
2025-02-18 18:08:55 +01:00
Miguel
633cd71d00
Mejorado la descripcion de las extracciones de Tag con Patrones
2025-02-17 13:04:21 +01:00
Miguel
dc164e96ef
Agregadas las opciones de consultar si guardar luego de hacer modificaciones y agregado el uso de la tecla Delete para borrar elementos
2025-02-13 16:52:33 +01:00
Miguel
e63577e5c3
Modificado Zindex para soportar los Frame
2025-02-13 14:00:47 +01:00
Miguel
9f41401e40
Creado 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.
2025-01-04 10:34:19 +01:00
Miguel
353b4b99e6
Agregada la funcion de crear el archivo base.png si no hay imagenes en el directorio elegido
2024-09-12 16:43:39 +02:00
Miguel
261fe679d8
Mejorado logica de Zindex para los Panel Plate y los ExtraccionTag. Las osGuia ahora al modificar la posicion se actualiza la simulacion en tiempo real.
2024-07-03 16:12:54 +02:00
Miguel
c8abb98c7d
Terminada las modificaciones de Movimiento / Angulo / Resize. Creado Enum para zindex
2024-06-30 18:17:44 +02:00
Miguel
8fddbb409b
Cambios en la logica de Alto - Ancho y Angulo pasado a osBase
2024-06-30 14:32:32 +02:00
Miguel
e09e4e710a
Mejorada la implementacion de rotacion y redimensionado.
2024-06-28 19:47:08 +02:00
Miguel
dc01704da6
Si funcionar del todo con el TreeView
2024-06-11 19:43:12 +02:00
Miguel
759ee627e2
Mejorado de la exportacion a Excel
2024-06-11 12:30:27 +02:00
Miguel
922a46d616
Creando los botones de Seleccion multiple
2024-06-11 00:22:33 +02:00
Miguel
506ee16ae1
Terminado la logica de Groups y con un mecanismo antibucle basico. Faltaria controlar que los nombres de los objetos no puedan ser iguales.
2024-06-09 17:33:09 +02:00
Miguel
c58a264d38
Mejorando 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 serializar
2024-06-09 10:39:31 +02:00
Miguel
0305ae2506
Creado BuscarCoincidencias, implementando logica
2024-06-06 16:53:00 +02:00
Miguel
84725cc8d6
Separando los ObjetosSimulables para todas las paginas de los individuales
2024-06-05 22:27:53 +02:00
Miguel
84e7ac1c28
Agregado de ExtracionTag
2024-06-04 22:27:35 +02:00
Miguel
0410c87e93
Agregado del TextPlate
2024-06-04 17:33:00 +02:00
Miguel
1ce0371d18
Trabajando con los decimales
2024-06-02 19:14:35 +02:00
Miguel
47735ef00a
Xceed PropetyGrid
2024-06-02 09:13:01 +02:00
Miguel
c1ac20964e
TransporteUnion Terminado
2024-05-31 19:25:24 +02:00
Miguel
268b66ad76
Creando GuiasUnion
2024-05-31 15:06:49 +02:00