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

View File

@ -41,13 +41,6 @@ namespace CtrEditor.ObjetosSim
public float alto_Titulo;
[ObservableProperty]
public float ancho;
[ObservableProperty]
public float alto;
[ObservableProperty]
public float angulo;
public override void TopChanging(float oldValue, float newValue) {
offsetY = newValue - oldValue;
}
@ -91,28 +84,6 @@ namespace CtrEditor.ObjetosSim
{
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 int ZIndex()
{

View File

@ -32,6 +32,20 @@ namespace CtrEditor.ObjetosSim
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]
private Brush colorButton_oculto;
@ -167,18 +181,6 @@ namespace CtrEditor.ObjetosSim
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 int ZIndex()
{

View File

@ -30,6 +30,21 @@ namespace CtrEditor.ObjetosSim
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]
private Brush colorButton_oculto;
@ -154,18 +169,6 @@ namespace CtrEditor.ObjetosSim
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 int ZIndex()
{

View File

@ -69,12 +69,7 @@ namespace CtrEditor.ObjetosSim
private float velocidad_actual_percentual;
[ObservableProperty]
private float diametro_botella;
[ObservableProperty]
private float ancho;
[ObservableProperty]
private float alto;
[ObservableProperty]
private float angulo;
public osBottGenerator()
{
@ -176,28 +171,6 @@ namespace CtrEditor.ObjetosSim
{
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 int ZIndex()
{

View File

@ -70,12 +70,6 @@ namespace CtrEditor.ObjetosSim
private float velocidad_actual_percentual;
[ObservableProperty]
private float diametro_botella;
[ObservableProperty]
private float ancho;
[ObservableProperty]
private float alto;
[ObservableProperty]
private float angulo;
public osFiller()
{
@ -93,13 +87,13 @@ namespace CtrEditor.ObjetosSim
if (Consenso_NC)
Consenso = !LeerBitTag(Tag_consenso);
else
Consenso = LeerBitTag(Tag_consenso);
Consenso = LeerBitTag(Tag_consenso);
}
public override void UpdateControl(int elapsedMilliseconds)
{
bool habilitado;
_TON_TOFF.Tiempo_ON_s = _TON_TOFF.Tiempo_OFF_s = Filtro_consenso_s;
if (Consenso_Filtrado)
@ -185,20 +179,6 @@ namespace CtrEditor.ObjetosSim
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 int ZIndex()
{

View File

@ -46,12 +46,6 @@ namespace CtrEditor.ObjetosSim
public float max_OUT_Scaled;
[ObservableProperty]
public float level;
[ObservableProperty]
public float ancho;
[ObservableProperty]
public float alto;
[ObservableProperty]
public float angulo;
public osTanque()
{
@ -110,28 +104,6 @@ namespace CtrEditor.ObjetosSim
{
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 int ZIndex()
{

View File

@ -129,24 +129,6 @@ namespace CtrEditor.ObjetosSim
{
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 int ZIndex()
{

View File

@ -25,15 +25,9 @@ namespace CtrEditor.ObjetosSim
set => SetProperty(ref nombre, value);
}
[ObservableProperty]
public float ancho;
[ObservableProperty]
public float altoGuia;
[ObservableProperty]
public float angulo;
private void ActualizarGeometrias()
{
if (_visualRepresentation is ucGuia uc)
@ -95,25 +89,6 @@ namespace CtrEditor.ObjetosSim
{
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 int ZIndex()
{

View File

@ -85,9 +85,10 @@ namespace CtrEditor.ObjetosSim
}
}
[ObservableProperty]
[NotifyPropertyChangedFor(nameof(AnguloFinal))]
public float angulo;
public override void AnguloChanged(float value)
{
OnPropertyChanged(nameof(AnguloFinal));
}
[ObservableProperty]
[NotifyPropertyChangedFor(nameof(AnguloFinal))]
@ -180,31 +181,6 @@ namespace CtrEditor.ObjetosSim
{
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 int ZIndex()
{

View File

@ -93,12 +93,7 @@ namespace CtrEditor.ObjetosSim
}
}
[ObservableProperty]
public float ancho;
[ObservableProperty]
public float alto;
partial void OnAltoChanged(float value)
public override void AltoChanged(float value)
{
ActualizarGeometrias();
}
@ -112,8 +107,6 @@ namespace CtrEditor.ObjetosSim
SimGeometria.isBrake = value;
}
[ObservableProperty]
public float angulo;
[ObservableProperty]
public float frictionCoefficient;
[ObservableProperty]
@ -217,25 +210,6 @@ namespace CtrEditor.ObjetosSim
{
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 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]
public float anchoRecto;
@ -167,16 +171,6 @@ namespace CtrEditor.ObjetosSim
[ObservableProperty]
public float anchoTransporte_oculto;
[ObservableProperty]
public float alto;
partial void OnAltoChanged(float value)
{
// ActualizarGeometrias();
}
[ObservableProperty]
public float angulo;
[ObservableProperty]
public float frictionCoefficient;
[ObservableProperty]
@ -384,25 +378,6 @@ namespace CtrEditor.ObjetosSim
{
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 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]
[property: Category("Setup:")]
public float frictionCoefficient;
@ -188,25 +179,6 @@ namespace CtrEditor.ObjetosSim
{
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 int ZIndex()
{

View File

@ -35,11 +35,14 @@ namespace CtrEditor.ObjetosSim
[ObservableProperty]
public ImageSource imageSource_oculta;
[ObservableProperty]
public float angulo;
[ObservableProperty]
public float tamano;
public override void OnResize(float Delta_Width, float Delta_Height)
{
Tamano += Delta_Width + Delta_Height;
}
[ObservableProperty]
public float proporcionalSpeed;
@ -146,28 +149,6 @@ namespace CtrEditor.ObjetosSim
{
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 int ZIndex()
{

View File

@ -105,20 +105,6 @@ namespace CtrEditor.ObjetosSim.Extraccion_Datos
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]
[property: Category("Tag Extraction:")]
string tag_extract;
@ -431,28 +417,6 @@ namespace CtrEditor.ObjetosSim.Extraccion_Datos
{
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 int ZIndex()
{

View File

@ -58,31 +58,18 @@ namespace CtrEditor.ObjetosSim.Extraccion_Datos
ResetTimer();
}
[ObservableProperty]
[property: Category("Layout:")]
public float ancho;
partial void OnAnchoChanged(float value)
public override void OnResize(float Delta_Width, float Delta_Height)
{
if (Extraer)
ResetTimer();
}
public override void OnMove(float LeftPixels, float TopPixels)
{
if (Extraer)
ResetTimer();
}
[ObservableProperty]
[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)
public override void OnRotate(float Angle)
{
if (Extraer)
ResetTimer();
@ -220,6 +207,13 @@ namespace CtrEditor.ObjetosSim.Extraccion_Datos
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)
{
if (Datos != null)

View File

@ -54,8 +54,10 @@ namespace CtrEditor.ObjetosSim
[ObservableProperty]
public float tamano;
[ObservableProperty]
public float angulo;
public override void OnResize(float Delta_Width, float Delta_Height)
{
Tamano += Delta_Width + Delta_Height;
}
[ObservableProperty]
public bool estado;
@ -179,20 +181,6 @@ namespace CtrEditor.ObjetosSim
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 int ZIndex()
{

View File

@ -58,10 +58,8 @@ namespace CtrEditor.ObjetosSim
private Brush color_oculto;
[ObservableProperty]
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
Pulso = DetectarDiente();
@ -98,6 +96,12 @@ namespace CtrEditor.ObjetosSim
[ObservableProperty]
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]
[property: Description("Link to Motor")]
[property: Category("PLC link:")]
@ -157,7 +161,7 @@ namespace CtrEditor.ObjetosSim
double incrementoAngulo = (girosPorSegundo * 360.0) * segundosTranscurridos;
// Actualizar el ángulo
Angulo = (Angulo + incrementoAngulo) % 360;
Angulo = (float) (Angulo + incrementoAngulo) % 360;
}
}
}
@ -232,16 +236,6 @@ namespace CtrEditor.ObjetosSim
{
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 int ZIndex()
{

View File

@ -122,30 +122,22 @@ namespace CtrEditor.ObjetosSim
ActualizarGeometrias();
}
[ObservableProperty]
public float ancho;
partial void OnAnchoChanged(float value)
public override void AnguloChanged(float value)
{
ActualizarGeometrias();
}
[ObservableProperty]
public float alto;
partial void OnAltoChanged(float value)
public override void AltoChanged(float value)
{
ActualizarGeometrias();
}
[ObservableProperty]
public float angulo;
partial void OnAnguloChanged(float value)
public override void AnchoChanged(float value)
{
ActualizarGeometrias();
}
private void ActualizarGeometrias()
{
if (_visualRepresentation is ucPhotocell uc)
@ -220,30 +212,6 @@ namespace CtrEditor.ObjetosSim
{
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 int ZIndex()
{

View File

@ -40,13 +40,6 @@ namespace CtrEditor.ObjetosSim
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()
{
Ancho = 0.4f;
@ -93,28 +86,6 @@ namespace CtrEditor.ObjetosSim
{
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 int ZIndex()
{

View File

@ -31,6 +31,12 @@ namespace CtrEditor.ObjetosSim
[ObservableProperty]
public float tamano;
public override void OnResize(float Delta_Width, float Delta_Height)
{
Tamano += Delta_Width + Delta_Height;
}
[ObservableProperty]
[NotifyPropertyChangedFor(nameof(Value))]
public string tag;
@ -117,16 +123,6 @@ namespace CtrEditor.ObjetosSim
{
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 int ZIndex()
{

View File

@ -47,11 +47,14 @@ namespace CtrEditor.ObjetosSim
Color_oculto = Brushes.Transparent;
}
[ObservableProperty]
public float angulo;
[ObservableProperty]
public float tamano;
public override void OnResize(float Delta_Width, float Delta_Height)
{
Tamano += Delta_Width + Delta_Height;
}
[ObservableProperty]
[NotifyPropertyChangedFor(nameof(Estado))]
public string tag;
@ -100,20 +103,6 @@ namespace CtrEditor.ObjetosSim
{
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 int ZIndex()
{

View File

@ -34,6 +34,11 @@ namespace CtrEditor.ObjetosSim
[ObservableProperty]
public float tamano;
public override void OnResize(float Delta_Width, float Delta_Height)
{
Tamano += Delta_Width + Delta_Height;
}
public override void ucLoaded()
{
// El UserControl ya se ha cargado y podemos obtener las coordenadas para
@ -64,16 +69,6 @@ namespace CtrEditor.ObjetosSim
{
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 int ZIndex()
{

View File

@ -292,7 +292,7 @@ namespace CtrEditor.ObjetosSim
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 int ZIndex()
{

View File

@ -157,7 +157,7 @@ namespace CtrEditor.ObjetosSim
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 int ZIndex()
{

View File

@ -35,9 +35,6 @@ namespace CtrEditor.ObjetosSim
{
[JsonIgnore]
osBase? Datos { get; set; }
void Resize(float width, float height);
void Move(float Left, float Top);
void Rotate(float Angle);
void Highlight(bool State);
int ZIndex();
}
@ -119,6 +116,83 @@ namespace CtrEditor.ObjetosSim
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()
{
Id = new UniqueId().ObtenerNuevaID();

View File

@ -178,6 +178,13 @@ namespace CtrEditor.ObjetosSim
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)
{
if (Datos != null)