Init commit
This commit is contained in:
103
Models/PrimitiveDefinition/EllipseDefinition.cs
Normal file
103
Models/PrimitiveDefinition/EllipseDefinition.cs
Normal file
@@ -0,0 +1,103 @@
|
||||
using System;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace StructureHelper
|
||||
{
|
||||
public class EllipseDefinition : PrimitiveDefinitionBase
|
||||
{
|
||||
private double diameter, showedDiameter, ellipseX, ellipseY;
|
||||
public double Diameter
|
||||
{
|
||||
get => diameter;
|
||||
set
|
||||
{
|
||||
diameter = value;
|
||||
ShowedDiameter = Math.Round(value, 2);
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
public double ShowedDiameter
|
||||
{
|
||||
get => showedDiameter;
|
||||
set
|
||||
{
|
||||
showedDiameter = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public double EllipseX
|
||||
{
|
||||
get => ellipseX;
|
||||
set
|
||||
{
|
||||
ellipseX = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
public double EllipseY
|
||||
{
|
||||
get => ellipseY;
|
||||
set
|
||||
{
|
||||
ellipseY = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private double showedEllipseX, showedEllipseY;
|
||||
private double initialEllipseX, initialEllipseY;
|
||||
public double ShowedEllipseX
|
||||
{
|
||||
get => showedEllipseX;
|
||||
set
|
||||
{
|
||||
showedEllipseX = value;
|
||||
EllipseX = value + initialEllipseX - Diameter / 2;
|
||||
OnPropertyChanged(nameof(EllipseX));
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
public double ShowedEllipseY
|
||||
{
|
||||
get => showedEllipseY;
|
||||
set
|
||||
{
|
||||
showedEllipseY = value;
|
||||
EllipseY = -value + initialEllipseY - Diameter / 2;
|
||||
OnPropertyChanged(nameof(ShowedEllipseY));
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private double square;
|
||||
public double Square
|
||||
{
|
||||
get => square;
|
||||
set
|
||||
{
|
||||
square = value;
|
||||
Diameter = Math.Sqrt(4 * value / Math.PI);
|
||||
OnPropertyChanged(nameof(Diameter));
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public EllipseDefinition(double square, double ellipseX, double ellipseY)
|
||||
{
|
||||
Square = square;
|
||||
initialEllipseX = ellipseX;
|
||||
initialEllipseY = ellipseY;
|
||||
ShowedEllipseX = 0;
|
||||
ShowedEllipseY = 0;
|
||||
var randomR = new Random().Next(150, 255);
|
||||
var randomG = new Random().Next(0, 255);
|
||||
var randomB = new Random().Next(30, 130);
|
||||
var color = Color.FromRgb((byte)randomR, (byte)randomG, (byte)randomB);
|
||||
Brush = new SolidColorBrush(color);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user