Init commit

This commit is contained in:
NickAppLab
2022-06-13 21:24:13 +05:00
commit 60eb406cbe
42 changed files with 3806 additions and 0 deletions

View 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);
}
}
}

View File

@@ -0,0 +1,146 @@
using System.ComponentModel;
using System.Runtime.CompilerServices;
using System.Windows.Media;
using StructureHelper.Annotations;
namespace StructureHelper
{
public class PrimitiveDefinitionBase : INotifyPropertyChanged
{
private bool captured, parameterCaptured, elementLock;
public bool Captured
{
set
{
captured = value;
OnPropertyChanged();
}
get => captured;
}
public bool ParameterCaptured
{
set
{
parameterCaptured = value;
OnPropertyChanged();
}
get => parameterCaptured;
}
public bool ElementLock
{
get => elementLock;
set
{
elementLock = value;
OnPropertyChanged();
}
}
private SolidColorBrush brush = null;
public SolidColorBrush Brush
{
get => brush;
set
{
brush = value;
OnPropertyChanged();
}
}
private MaterialDefinitionBase material = null;
public MaterialDefinitionBase Material
{
get => material;
set
{
material = value;
MaterialName = material.MaterialClass;
OnPropertyChanged();
OnPropertyChanged(nameof(MaterialName));
}
}
private string materialName = string.Empty;
public string MaterialName
{
get => materialName;
set
{
materialName = value;
OnPropertyChanged();
}
}
private bool paramsPanelVisibilty;
public bool ParamsPanelVisibilty
{
get => paramsPanelVisibilty;
set
{
paramsPanelVisibilty = value;
OnPropertyChanged();
}
}
private bool popupCanBeClosed = true;
public bool PopupCanBeClosed
{
get => popupCanBeClosed;
set
{
popupCanBeClosed = value;
OnPropertyChanged();
}
}
private double opacity = 1;
private double showedOpacity = 0;
public double ShowedOpacity
{
get => showedOpacity;
set
{
showedOpacity = value;
Opacity = (100 - value) / 100;
OnPropertyChanged(nameof(Opacity));
OnPropertyChanged();
}
}
public double Opacity
{
get => opacity;
set
{
opacity = value;
OnPropertyChanged();
}
}
private int showedZIndex = 1;
public int ShowedZIndex
{
get => showedZIndex;
set
{
showedZIndex = value;
ZIndex = value - 1;
OnPropertyChanged(nameof(ZIndex));
OnPropertyChanged();
}
}
private int zIndex;
public int ZIndex
{
get => zIndex;
set
{
zIndex = value;
OnPropertyChanged();
}
}
public event PropertyChangedEventHandler PropertyChanged;
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
}

View File

@@ -0,0 +1,97 @@
using System;
using System.Windows.Media;
namespace StructureHelper
{
public class RectangleDefinition : PrimitiveDefinitionBase
{
private bool borderCaptured = false;
private double rectX, rectY, borderWidth, borderHeight;
public bool BorderCaptured
{
set
{
borderCaptured = value;
OnPropertyChanged();
}
get => borderCaptured;
}
public double RectX
{
get => rectX;
set
{
rectX = value;
OnPropertyChanged();
}
}
public double RectY
{
get => rectY;
set
{
rectY = value;
OnPropertyChanged();
}
}
private double showedRectX, showedRectY;
private double initialRectX, initialRectY;
public double ShowedRectX
{
get => showedRectX;
set
{
showedRectX = value;
RectX = value + initialRectX;
OnPropertyChanged(nameof(RectX));
OnPropertyChanged();
}
}
public double ShowedRectY
{
get => showedRectY;
set
{
showedRectY = value;
RectY = -value + initialRectY - BorderHeight;
OnPropertyChanged(nameof(RectY));
OnPropertyChanged();
}
}
public double BorderWidth
{
get => borderWidth;
set
{
borderWidth = value;
OnPropertyChanged();
}
}
public double BorderHeight
{
get => borderHeight;
set
{
borderHeight = value;
OnPropertyChanged();
}
}
public RectangleDefinition(double borderWidth, double borderHeight, double rectX, double rectY)
{
BorderWidth = borderWidth;
BorderHeight = borderHeight;
initialRectX = rectX;
initialRectY = rectY;
ShowedRectX = 0;
ShowedRectY = 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);
}
}
}