Cambios en la logica de Alto - Ancho y Angulo pasado a osBase

This commit is contained in:
Miguel 2024-06-30 14:32:32 +02:00
parent e09e4e710a
commit 8fddbb409b
27 changed files with 200 additions and 513 deletions

View File

@ -296,27 +296,35 @@ namespace CtrEditor
{ {
case "TopLeft": case "TopLeft":
rect.Cursor = Cursors.Arrow; rect.Cursor = Cursors.Arrow;
rect.Stroke = Brushes.Gray;
break; break;
case "TopRight": case "TopRight":
rect.Cursor = rotationCursorRx; // Cursor de rotación rect.Cursor = rotationCursorRx; // Cursor de rotación
rect.Stroke = Brushes.Red;
break; break;
case "BottomLeft": case "BottomLeft":
rect.Cursor = rotationCursorSx; // Cursor de rotación rect.Cursor = rotationCursorSx; // Cursor de rotación
rect.Stroke = Brushes.DarkRed;
break; break;
case "BottomRight": case "BottomRight":
rect.Cursor = Cursors.SizeNWSE; // Cursor de dimensionar altura y anchura rect.Cursor = Cursors.SizeNWSE; // Cursor de dimensionar altura y anchura
rect.Stroke = Brushes.Blue;
break; break;
case "TopCenter": case "TopCenter":
rect.Cursor = Cursors.Arrow; rect.Cursor = Cursors.Arrow;
rect.Stroke = Brushes.Gray;
break; break;
case "BottomCenter": case "BottomCenter":
rect.Cursor = Cursors.SizeNS; // Cursor de dimensionar altura rect.Cursor = Cursors.SizeNS; // Cursor de dimensionar altura
rect.Stroke = Brushes.Blue;
break; break;
case "CenterLeft": case "CenterLeft":
rect.Cursor = rotationCursorRx; // Cursor de rotación rect.Cursor = rotationCursorRx; // Cursor de rotación
rect.Stroke = Brushes.Red;
break; break;
case "CenterRight": case "CenterRight":
rect.Cursor = Cursors.SizeWE; // Cursor de dimensionar anchura rect.Cursor = Cursors.SizeWE; // Cursor de dimensionar anchura
rect.Stroke = Brushes.Blue;
break; break;
} }
@ -433,8 +441,8 @@ namespace CtrEditor
var newX = Canvas.GetLeft(_currentDraggingControl) + dx; var newX = Canvas.GetLeft(_currentDraggingControl) + dx;
var newY = Canvas.GetTop(_currentDraggingControl) + dy; var newY = Canvas.GetTop(_currentDraggingControl) + dy;
if (_currentDraggingControl is IDataContainer dataContainer) if (_currentDraggingControl is IDataContainer dataContainer && dataContainer.Datos is osBase mvBase)
dataContainer.Move((float)newX, (float)newY); mvBase.Move((float)newX, (float)newY);
_startPointUserControl = currentPosition; // Actualiza el punto inicial para el siguiente movimiento _startPointUserControl = currentPosition; // Actualiza el punto inicial para el siguiente movimiento
} }
@ -460,8 +468,8 @@ namespace CtrEditor
//RotateTransform rotateTransform = control.RenderTransform as RotateTransform; //RotateTransform rotateTransform = control.RenderTransform as RotateTransform;
//rotateTransform.Angle = angle; // - _initialAngleUserControl; // Asegúrate de ajustar esta parte según cómo calcules el ángulo inicial //rotateTransform.Angle = angle; // - _initialAngleUserControl; // Asegúrate de ajustar esta parte según cómo calcules el ángulo inicial
if (control is IDataContainer dataContainer) if (control is IDataContainer dataContainer && dataContainer.Datos is osBase mvBase)
dataContainer.Rotate((float)angle); mvBase.Rotate((float)angle);
// Actualizar el ángulo mostrado // Actualizar el ángulo mostrado
_angleDisplayTextBlock.Text = $"Ángulo: {angle:F2}°"; _angleDisplayTextBlock.Text = $"Ángulo: {angle:F2}°";
@ -479,7 +487,7 @@ namespace CtrEditor
{ {
bool ActivateRotation = false, ActivateSizeWidth = false, ActivateSizeHeight = false, ActivateMove = false; bool ActivateRotation = false, ActivateSizeWidth = false, ActivateSizeHeight = false, ActivateMove = false;
if (control is IDataContainer dataContainer) if (control is IDataContainer dataContainer && dataContainer.Datos is osBase mvBase)
{ {
MakeResizeRectanglesTransparent(); MakeResizeRectanglesTransparent();
@ -525,7 +533,8 @@ namespace CtrEditor
var newX = Canvas.GetLeft(_currentDraggingControl) + dx; var newX = Canvas.GetLeft(_currentDraggingControl) + dx;
var newY = Canvas.GetTop(_currentDraggingControl) + dy; var newY = Canvas.GetTop(_currentDraggingControl) + dy;
dataContainer.Move((float)newX, (float)newY); mvBase.Move(newX, newY);
// dataContainer.Move((float)newX, (float)newY);
} }
if (ActivateRotation) if (ActivateRotation)
{ {
@ -534,7 +543,8 @@ namespace CtrEditor
double angle = Math.Atan2(deltaY, deltaX) * (180 / Math.PI); double angle = Math.Atan2(deltaY, deltaX) * (180 / Math.PI);
if (lastAngle == 0 && angle != 0) lastAngle = (float)angle; if (lastAngle == 0 && angle != 0) lastAngle = (float)angle;
dataContainer.Rotate((float)angle - lastAngle); mvBase.Rotate(angle - lastAngle);
// dataContainer.Rotate((float)angle - lastAngle);
lastAngle = (float)angle; lastAngle = (float)angle;
@ -554,7 +564,8 @@ namespace CtrEditor
if (!ActivateSizeHeight) heightChange = 0; if (!ActivateSizeHeight) heightChange = 0;
if (!ActivateSizeWidth) widthChange = 0; if (!ActivateSizeWidth) widthChange = 0;
dataContainer.Resize((float)widthChange, (float)heightChange); mvBase.Resize(widthChange, heightChange);
// dataContainer.Resize((float)widthChange, (float)heightChange);
} }
_startPointUserControl = currentPosition; // Actualiza el punto inicial para el siguiente movimiento _startPointUserControl = currentPosition; // Actualiza el punto inicial para el siguiente movimiento
} }

View File

@ -41,13 +41,6 @@ namespace CtrEditor.ObjetosSim
public float alto_Titulo; public float alto_Titulo;
[ObservableProperty]
public float ancho;
[ObservableProperty]
public float alto;
[ObservableProperty]
public float angulo;
public override void TopChanging(float oldValue, float newValue) { public override void TopChanging(float oldValue, float newValue) {
offsetY = newValue - oldValue; offsetY = newValue - oldValue;
} }
@ -91,28 +84,6 @@ namespace CtrEditor.ObjetosSim
{ {
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height)
{
if (Datos is osTextPlate datos)
{
datos.Ancho += PixelToMeter.Instance.calc.PixelsToMeters(width);
datos.Alto += PixelToMeter.Instance.calc.PixelsToMeters(height);
}
}
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle)
{
if (Datos != null)
if (Datos is osTextPlate datos)
datos.Angulo += Angle;
}
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -32,6 +32,20 @@ namespace CtrEditor.ObjetosSim
set => SetProperty(ref nombre, value); set => SetProperty(ref nombre, value);
} }
public override void TopChanged(float value) {
UpdateAfterMove();
}
public override void LeftChanged(float value)
{
UpdateAfterMove();
}
public override void OnResize(float Delta_Width, float Delta_Height)
{
Diametro += Delta_Width;
}
[ObservableProperty] [ObservableProperty]
private Brush colorButton_oculto; private Brush colorButton_oculto;
@ -167,18 +181,6 @@ namespace CtrEditor.ObjetosSim
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height) { }
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
if (Datos is osBotella botella)
botella.UpdateAfterMove();
}
}
public void Rotate(float Angle) { }
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -30,6 +30,21 @@ namespace CtrEditor.ObjetosSim
set => SetProperty(ref nombre, value); set => SetProperty(ref nombre, value);
} }
public override void TopChanged(float value)
{
UpdateAfterMove();
}
public override void LeftChanged(float value)
{
UpdateAfterMove();
}
public override void OnResize(float Delta_Width, float Delta_Height)
{
Diametro += Delta_Width;
}
[ObservableProperty] [ObservableProperty]
private Brush colorButton_oculto; private Brush colorButton_oculto;
@ -154,18 +169,6 @@ namespace CtrEditor.ObjetosSim
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height) { }
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
if (Datos is osBotellaCuello BotellaCuello)
BotellaCuello.UpdateAfterMove();
}
}
public void Rotate(float Angle) { }
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -69,12 +69,7 @@ namespace CtrEditor.ObjetosSim
private float velocidad_actual_percentual; private float velocidad_actual_percentual;
[ObservableProperty] [ObservableProperty]
private float diametro_botella; private float diametro_botella;
[ObservableProperty]
private float ancho;
[ObservableProperty]
private float alto;
[ObservableProperty]
private float angulo;
public osBottGenerator() public osBottGenerator()
{ {
@ -176,28 +171,6 @@ namespace CtrEditor.ObjetosSim
{ {
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height)
{
if (Datos is osBottGenerator datos)
{
datos.Ancho += PixelToMeter.Instance.calc.PixelsToMeters(width);
datos.Alto += PixelToMeter.Instance.calc.PixelsToMeters(width);
}
}
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle)
{
if (Datos != null)
if (Datos is osBottGenerator datos)
datos.Angulo += Angle;
}
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -70,12 +70,6 @@ namespace CtrEditor.ObjetosSim
private float velocidad_actual_percentual; private float velocidad_actual_percentual;
[ObservableProperty] [ObservableProperty]
private float diametro_botella; private float diametro_botella;
[ObservableProperty]
private float ancho;
[ObservableProperty]
private float alto;
[ObservableProperty]
private float angulo;
public osFiller() public osFiller()
{ {
@ -93,13 +87,13 @@ namespace CtrEditor.ObjetosSim
if (Consenso_NC) if (Consenso_NC)
Consenso = !LeerBitTag(Tag_consenso); Consenso = !LeerBitTag(Tag_consenso);
else else
Consenso = LeerBitTag(Tag_consenso); Consenso = LeerBitTag(Tag_consenso);
} }
public override void UpdateControl(int elapsedMilliseconds) public override void UpdateControl(int elapsedMilliseconds)
{ {
bool habilitado; bool habilitado;
_TON_TOFF.Tiempo_ON_s = _TON_TOFF.Tiempo_OFF_s = Filtro_consenso_s; _TON_TOFF.Tiempo_ON_s = _TON_TOFF.Tiempo_OFF_s = Filtro_consenso_s;
if (Consenso_Filtrado) if (Consenso_Filtrado)
@ -185,20 +179,6 @@ namespace CtrEditor.ObjetosSim
datos.Alto += PixelToMeter.Instance.calc.PixelsToMeters(height); datos.Alto += PixelToMeter.Instance.calc.PixelsToMeters(height);
} }
} }
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle)
{
if (Datos != null)
if (Datos is osFiller datos)
datos.Angulo += Angle;
}
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -46,12 +46,6 @@ namespace CtrEditor.ObjetosSim
public float max_OUT_Scaled; public float max_OUT_Scaled;
[ObservableProperty] [ObservableProperty]
public float level; public float level;
[ObservableProperty]
public float ancho;
[ObservableProperty]
public float alto;
[ObservableProperty]
public float angulo;
public osTanque() public osTanque()
{ {
@ -110,28 +104,6 @@ namespace CtrEditor.ObjetosSim
{ {
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height)
{
if (Datos is osTanque datos)
{
datos.Ancho += PixelToMeter.Instance.calc.PixelsToMeters(width);
datos.Alto += PixelToMeter.Instance.calc.PixelsToMeters(width);
}
}
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle)
{
if (Datos != null)
if (Datos is osTanque datos)
datos.Angulo += Angle;
}
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -129,24 +129,6 @@ namespace CtrEditor.ObjetosSim
{ {
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height)
{
if (Datos is osDescarte datos)
{
datos.Diametro += PixelToMeter.Instance.calc.PixelsToMeters(width+ height);
}
}
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle)
{
}
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -25,15 +25,9 @@ namespace CtrEditor.ObjetosSim
set => SetProperty(ref nombre, value); set => SetProperty(ref nombre, value);
} }
[ObservableProperty]
public float ancho;
[ObservableProperty] [ObservableProperty]
public float altoGuia; public float altoGuia;
[ObservableProperty]
public float angulo;
private void ActualizarGeometrias() private void ActualizarGeometrias()
{ {
if (_visualRepresentation is ucGuia uc) if (_visualRepresentation is ucGuia uc)
@ -95,25 +89,6 @@ namespace CtrEditor.ObjetosSim
{ {
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height)
{
if (Datos is osGuia datos)
datos.Ancho += PixelToMeter.Instance.calc.PixelsToMeters(width);
}
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle)
{
if (Datos != null)
if (Datos is osGuia datos)
datos.Angulo += Angle;
}
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -85,9 +85,10 @@ namespace CtrEditor.ObjetosSim
} }
} }
[ObservableProperty] public override void AnguloChanged(float value)
[NotifyPropertyChangedFor(nameof(AnguloFinal))] {
public float angulo; OnPropertyChanged(nameof(AnguloFinal));
}
[ObservableProperty] [ObservableProperty]
[NotifyPropertyChangedFor(nameof(AnguloFinal))] [NotifyPropertyChangedFor(nameof(AnguloFinal))]
@ -180,31 +181,6 @@ namespace CtrEditor.ObjetosSim
{ {
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float RadioExterno, float RadioInterno)
{
if (Datos is osTransporteCurva datos)
{
if (RadioExterno > RadioInterno && RadioExterno > 0 && RadioInterno >= 0)
{
datos.RadioExterno += PixelToMeter.Instance.calc.PixelsToMeters(RadioExterno);
datos.RadioInterno += PixelToMeter.Instance.calc.PixelsToMeters(RadioInterno);
}
}
}
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle)
{
if (Datos != null)
if (Datos is osTransporteCurva datos)
datos.Angulo += Angle;
}
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -93,12 +93,7 @@ namespace CtrEditor.ObjetosSim
} }
} }
[ObservableProperty] public override void AltoChanged(float value)
public float ancho;
[ObservableProperty]
public float alto;
partial void OnAltoChanged(float value)
{ {
ActualizarGeometrias(); ActualizarGeometrias();
} }
@ -112,8 +107,6 @@ namespace CtrEditor.ObjetosSim
SimGeometria.isBrake = value; SimGeometria.isBrake = value;
} }
[ObservableProperty]
public float angulo;
[ObservableProperty] [ObservableProperty]
public float frictionCoefficient; public float frictionCoefficient;
[ObservableProperty] [ObservableProperty]
@ -217,25 +210,6 @@ namespace CtrEditor.ObjetosSim
{ {
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height)
{
if (Datos is osTransporteGuias datos)
datos.Ancho += PixelToMeter.Instance.calc.PixelsToMeters(width);
}
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle)
{
if (Datos != null)
if (Datos is osTransporteGuias datos)
datos.Angulo += Angle;
}
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -147,6 +147,10 @@ namespace CtrEditor.ObjetosSim
} }
} }
public override void OnResize(float Delta_Width, float Delta_Height)
{
AnchoRecto += Delta_Width;
}
[ObservableProperty] [ObservableProperty]
public float anchoRecto; public float anchoRecto;
@ -167,16 +171,6 @@ namespace CtrEditor.ObjetosSim
[ObservableProperty] [ObservableProperty]
public float anchoTransporte_oculto; public float anchoTransporte_oculto;
[ObservableProperty]
public float alto;
partial void OnAltoChanged(float value)
{
// ActualizarGeometrias();
}
[ObservableProperty]
public float angulo;
[ObservableProperty] [ObservableProperty]
public float frictionCoefficient; public float frictionCoefficient;
[ObservableProperty] [ObservableProperty]
@ -384,25 +378,6 @@ namespace CtrEditor.ObjetosSim
{ {
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height)
{
if (Datos is osTransporteGuiasUnion datos)
datos.AnchoRecto += PixelToMeter.Instance.calc.PixelsToMeters(width);
}
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle)
{
if (Datos != null)
if (Datos is osTransporteGuiasUnion datos)
datos.Angulo += Angle;
}
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -90,16 +90,7 @@ namespace CtrEditor.ObjetosSim
} }
} }
[ObservableProperty]
[property: Category("Layout:")]
public float ancho;
[ObservableProperty]
[property: Category("Layout:")]
public float alto;
[ObservableProperty]
[property: Category("Layout:")]
public float angulo;
[ObservableProperty] [ObservableProperty]
[property: Category("Setup:")] [property: Category("Setup:")]
public float frictionCoefficient; public float frictionCoefficient;
@ -188,25 +179,6 @@ namespace CtrEditor.ObjetosSim
{ {
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height)
{
if (Datos is osTransporteTTop datos)
datos.Ancho += PixelToMeter.Instance.calc.PixelsToMeters(width);
}
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle)
{
if (Datos != null)
if (Datos is osTransporteTTop datos)
datos.Angulo += Angle;
}
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -35,11 +35,14 @@ namespace CtrEditor.ObjetosSim
[ObservableProperty] [ObservableProperty]
public ImageSource imageSource_oculta; public ImageSource imageSource_oculta;
[ObservableProperty]
public float angulo;
[ObservableProperty] [ObservableProperty]
public float tamano; public float tamano;
public override void OnResize(float Delta_Width, float Delta_Height)
{
Tamano += Delta_Width + Delta_Height;
}
[ObservableProperty] [ObservableProperty]
public float proporcionalSpeed; public float proporcionalSpeed;
@ -146,28 +149,6 @@ namespace CtrEditor.ObjetosSim
{ {
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height)
{
if (Datos != null)
if (Datos is osVMmotorSim datos)
{
datos.Tamano += PixelToMeter.Instance.calc.PixelsToMeters( width + height);
}
}
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle)
{
if (Datos != null)
if (Datos is osVMmotorSim datos)
datos.Angulo += Angle;
}
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -105,20 +105,6 @@ namespace CtrEditor.ObjetosSim.Extraccion_Datos
offsetX = newValue - oldValue; offsetX = newValue - oldValue;
} }
[ObservableProperty]
[property: Description("Width of the object.")]
[property: Category("Layout:")]
public float ancho;
[ObservableProperty]
[property: Description("Height of the object.")]
[property: Category("Layout:")]
public float alto;
[ObservableProperty]
[property: Category("Layout:")]
public float angulo;
[ObservableProperty] [ObservableProperty]
[property: Category("Tag Extraction:")] [property: Category("Tag Extraction:")]
string tag_extract; string tag_extract;
@ -431,28 +417,6 @@ namespace CtrEditor.ObjetosSim.Extraccion_Datos
{ {
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height)
{
if (Datos is osBuscarCoincidencias datos)
{
datos.Ancho += PixelToMeter.Instance.calc.PixelsToMeters(width);
datos.Alto += PixelToMeter.Instance.calc.PixelsToMeters(height);
}
}
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle)
{
if (Datos != null)
if (Datos is osBuscarCoincidencias datos)
datos.Angulo += Angle;
}
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -58,31 +58,18 @@ namespace CtrEditor.ObjetosSim.Extraccion_Datos
ResetTimer(); ResetTimer();
} }
[ObservableProperty] public override void OnResize(float Delta_Width, float Delta_Height)
[property: Category("Layout:")] {
public float ancho; if (Extraer)
ResetTimer();
partial void OnAnchoChanged(float value) }
public override void OnMove(float LeftPixels, float TopPixels)
{ {
if (Extraer) if (Extraer)
ResetTimer(); ResetTimer();
} }
[ObservableProperty] public override void OnRotate(float Angle)
[property: Category("Layout:")]
public float alto;
partial void OnAltoChanged(float value)
{
if (Extraer)
ResetTimer();
}
[ObservableProperty]
[property: Category("Layout:")]
public float angulo;
partial void OnAnguloChanged(float value)
{ {
if (Extraer) if (Extraer)
ResetTimer(); ResetTimer();
@ -220,6 +207,13 @@ namespace CtrEditor.ObjetosSim.Extraccion_Datos
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels); Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
} }
} }
public float Angle()
{
if (Datos != null)
if (Datos is osExtraccionTag datos)
return datos.Angulo;
return 0f;
}
public void Rotate(float Angle) public void Rotate(float Angle)
{ {
if (Datos != null) if (Datos != null)

View File

@ -54,8 +54,10 @@ namespace CtrEditor.ObjetosSim
[ObservableProperty] [ObservableProperty]
public float tamano; public float tamano;
[ObservableProperty] public override void OnResize(float Delta_Width, float Delta_Height)
public float angulo; {
Tamano += Delta_Width + Delta_Height;
}
[ObservableProperty] [ObservableProperty]
public bool estado; public bool estado;
@ -179,20 +181,6 @@ namespace CtrEditor.ObjetosSim
e.Handled = true; // Evita que el evento se propague e.Handled = true; // Evita que el evento se propague
} }
} }
public void Resize(float width, float height) { }
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle) {
if (Datos is osBoton osBotonData)
osBotonData.Angulo += Angle;
}
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -58,10 +58,8 @@ namespace CtrEditor.ObjetosSim
private Brush color_oculto; private Brush color_oculto;
[ObservableProperty] [ObservableProperty]
public float velocidadActual; public float velocidadActual;
[ObservableProperty]
public double angulo;
partial void OnAnguloChanged(double value) public override void AnguloChanged(float value)
{ {
// Generar pulsos cuadrados en función del ángulo // Generar pulsos cuadrados en función del ángulo
Pulso = DetectarDiente(); Pulso = DetectarDiente();
@ -98,6 +96,12 @@ namespace CtrEditor.ObjetosSim
[ObservableProperty] [ObservableProperty]
public float giros_segundo_a_100; public float giros_segundo_a_100;
public override void OnResize(float Delta_Width, float Delta_Height)
{
Radio_Externo += Delta_Width;
Radio_Interno += Delta_Height;
}
[ObservableProperty] [ObservableProperty]
[property: Description("Link to Motor")] [property: Description("Link to Motor")]
[property: Category("PLC link:")] [property: Category("PLC link:")]
@ -157,7 +161,7 @@ namespace CtrEditor.ObjetosSim
double incrementoAngulo = (girosPorSegundo * 360.0) * segundosTranscurridos; double incrementoAngulo = (girosPorSegundo * 360.0) * segundosTranscurridos;
// Actualizar el ángulo // Actualizar el ángulo
Angulo = (Angulo + incrementoAngulo) % 360; Angulo = (float) (Angulo + incrementoAngulo) % 360;
} }
} }
} }
@ -232,16 +236,6 @@ namespace CtrEditor.ObjetosSim
{ {
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height) { }
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle) { }
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -122,30 +122,22 @@ namespace CtrEditor.ObjetosSim
ActualizarGeometrias(); ActualizarGeometrias();
} }
[ObservableProperty] public override void AnguloChanged(float value)
public float ancho;
partial void OnAnchoChanged(float value)
{ {
ActualizarGeometrias(); ActualizarGeometrias();
} }
[ObservableProperty] public override void AltoChanged(float value)
public float alto;
partial void OnAltoChanged(float value)
{ {
ActualizarGeometrias(); ActualizarGeometrias();
} }
[ObservableProperty] public override void AnchoChanged(float value)
public float angulo;
partial void OnAnguloChanged(float value)
{ {
ActualizarGeometrias(); ActualizarGeometrias();
} }
private void ActualizarGeometrias() private void ActualizarGeometrias()
{ {
if (_visualRepresentation is ucPhotocell uc) if (_visualRepresentation is ucPhotocell uc)
@ -220,30 +212,6 @@ namespace CtrEditor.ObjetosSim
{ {
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height)
{
if (Datos is osPhotocell datos)
{
datos.Ancho += PixelToMeter.Instance.calc.PixelsToMeters(width);
datos.Alto += PixelToMeter.Instance.calc.PixelsToMeters(height/2);
if (datos.Ancho <= 0) datos.Ancho = 0.1f;
if (datos.Alto <= 0) datos.Alto = 0.1f;
}
}
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle)
{
if (Datos != null)
if (Datos is osPhotocell datos)
datos.Angulo += Angle;
}
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -40,13 +40,6 @@ namespace CtrEditor.ObjetosSim
EscribirWordTagScaled(Tag, value, 0, 100, Min_OUT_Scaled, Max_OUT_Scaled); EscribirWordTagScaled(Tag, value, 0, 100, Min_OUT_Scaled, Max_OUT_Scaled);
} }
[ObservableProperty]
public float ancho;
[ObservableProperty]
public float alto;
[ObservableProperty]
public float angulo;
public osSensTemperatura() public osSensTemperatura()
{ {
Ancho = 0.4f; Ancho = 0.4f;
@ -93,28 +86,6 @@ namespace CtrEditor.ObjetosSim
{ {
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height)
{
if (Datos is osSensTemperatura datos)
{
datos.Ancho += PixelToMeter.Instance.calc.PixelsToMeters(width);
datos.Alto += PixelToMeter.Instance.calc.PixelsToMeters(width);
}
}
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle)
{
if (Datos != null)
if (Datos is osSensTemperatura datos)
datos.Angulo += Angle;
}
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -31,6 +31,12 @@ namespace CtrEditor.ObjetosSim
[ObservableProperty] [ObservableProperty]
public float tamano; public float tamano;
public override void OnResize(float Delta_Width, float Delta_Height)
{
Tamano += Delta_Width + Delta_Height;
}
[ObservableProperty] [ObservableProperty]
[NotifyPropertyChangedFor(nameof(Value))] [NotifyPropertyChangedFor(nameof(Value))]
public string tag; public string tag;
@ -117,16 +123,6 @@ namespace CtrEditor.ObjetosSim
{ {
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height) { }
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle) { }
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -47,11 +47,14 @@ namespace CtrEditor.ObjetosSim
Color_oculto = Brushes.Transparent; Color_oculto = Brushes.Transparent;
} }
[ObservableProperty]
public float angulo;
[ObservableProperty] [ObservableProperty]
public float tamano; public float tamano;
public override void OnResize(float Delta_Width, float Delta_Height)
{
Tamano += Delta_Width + Delta_Height;
}
[ObservableProperty] [ObservableProperty]
[NotifyPropertyChangedFor(nameof(Estado))] [NotifyPropertyChangedFor(nameof(Estado))]
public string tag; public string tag;
@ -100,20 +103,6 @@ namespace CtrEditor.ObjetosSim
{ {
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height) { }
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle)
{
if (Datos is osBoolTag osBoolData)
osBoolData.Angulo += Angle;
}
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -34,6 +34,11 @@ namespace CtrEditor.ObjetosSim
[ObservableProperty] [ObservableProperty]
public float tamano; public float tamano;
public override void OnResize(float Delta_Width, float Delta_Height)
{
Tamano += Delta_Width + Delta_Height;
}
public override void ucLoaded() public override void ucLoaded()
{ {
// El UserControl ya se ha cargado y podemos obtener las coordenadas para // El UserControl ya se ha cargado y podemos obtener las coordenadas para
@ -64,16 +69,6 @@ namespace CtrEditor.ObjetosSim
{ {
Datos?.ucUnLoaded(); Datos?.ucUnLoaded();
} }
public void Resize(float width, float height) { }
public void Move(float LeftPixels, float TopPixels)
{
if (Datos != null)
{
Datos.Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
}
public void Rotate(float Angle) { }
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -292,7 +292,7 @@ namespace CtrEditor.ObjetosSim
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels); Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
} }
} }
public void Rotate(float Angle) { } public float Angle() { return 0; } public void Rotate(float Angle) { }
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -157,7 +157,7 @@ namespace CtrEditor.ObjetosSim
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels); Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
} }
} }
public void Rotate(float Angle) { } public float Angle() { return 0; } public void Rotate(float Angle) { }
public void Highlight(bool State) { } public void Highlight(bool State) { }
public int ZIndex() public int ZIndex()
{ {

View File

@ -35,9 +35,6 @@ namespace CtrEditor.ObjetosSim
{ {
[JsonIgnore] [JsonIgnore]
osBase? Datos { get; set; } osBase? Datos { get; set; }
void Resize(float width, float height);
void Move(float Left, float Top);
void Rotate(float Angle);
void Highlight(bool State); void Highlight(bool State);
int ZIndex(); int ZIndex();
} }
@ -119,6 +116,83 @@ namespace CtrEditor.ObjetosSim
public virtual void TopChanging(float oldValue, float newValue) { } public virtual void TopChanging(float oldValue, float newValue) { }
[ObservableProperty]
[property: Description("Widht.")]
[property: Category("Layout:")]
private float ancho;
partial void OnAnchoChanged(float value)
{
AnchoChanged(value);
}
public virtual void AnchoChanged(float value) { }
[ObservableProperty]
[property: Description("Height.")]
[property: Category("Layout:")]
private float alto;
partial void OnAltoChanged(float value)
{
AltoChanged(value);
}
public virtual void AltoChanged(float value) { }
[ObservableProperty]
[property: Description("Angle.")]
[property: Category("Layout:")]
private float angulo;
partial void OnAnguloChanged(float value)
{
AnguloChanged(value);
}
public virtual void AnguloChanged(float value) { }
public void Resize(double width, double height)
{
Resize((float)width, (float)height);
}
public void Resize(float Delta_W_pixels, float Delta_H_pixels)
{
var Delta_W = PixelToMeter.Instance.calc.PixelsToMeters(Delta_W_pixels);
var Delta_H = PixelToMeter.Instance.calc.PixelsToMeters(Delta_H_pixels);
OnResize(Delta_W, Delta_H);
Ancho += Delta_W;
Alto += Delta_H;
if (Ancho < 0.01f) Ancho = 0.01f;
if (Alto < 0.01f) Alto = 0.01f;
}
public virtual void OnResize(float Delta_Width, float Delta_Height) { }
public void Move(double LeftPixels, double TopPixels)
{
Move((float)LeftPixels, (float)TopPixels);
}
public void Move(float LeftPixels, float TopPixels)
{
OnMove(LeftPixels, TopPixels);
Left = PixelToMeter.Instance.calc.PixelsToMeters(LeftPixels);
Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
}
public virtual void OnMove(float LeftPixels, float TopPixels) { }
public void Rotate(double Delta_Angle)
{
Rotate((float)Delta_Angle);
}
public void Rotate(float Delta_Angle)
{
OnRotate(Delta_Angle);
Angulo += Delta_Angle;
}
public virtual void OnRotate(float Delta_Angle) { }
public void InicializaNuevoObjeto() public void InicializaNuevoObjeto()
{ {
Id = new UniqueId().ObtenerNuevaID(); Id = new UniqueId().ObtenerNuevaID();

View File

@ -178,6 +178,13 @@ namespace CtrEditor.ObjetosSim
Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels); Datos.Top = PixelToMeter.Instance.calc.PixelsToMeters(TopPixels);
} }
} }
public float Angle()
{
if (Datos != null)
if (Datos is osBasicExample datos)
return datos.Angulo;
return 0f;
}
public void Rotate(float Angle) public void Rotate(float Angle)
{ {
if (Datos != null) if (Datos != null)