Measurements of units were added
This commit is contained in:
@@ -9,6 +9,7 @@ using StructureHelper.Services.Primitives;
|
||||
using StructureHelper.UnitSystem;
|
||||
using StructureHelper.UnitSystem.Systems;
|
||||
using StructureHelperCommon.Infrastructures.Enums;
|
||||
using StructureHelperCommon.Services.Units;
|
||||
using StructureHelperLogics.Models.Calculations.CalculationProperties;
|
||||
using StructureHelperLogics.Models.Materials;
|
||||
using StructureHelperLogics.Models.Materials.Factories;
|
||||
|
||||
@@ -157,25 +157,32 @@
|
||||
<i:InvokeCommandAction Command="{Binding ScaleCanvasUp}"/>
|
||||
</mouseEventTriggers:MouseWheelUpEventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
<Canvas.RenderTransform>
|
||||
<Canvas.LayoutTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="{Binding ScaleValue}" ScaleY="{Binding ScaleValue}"
|
||||
CenterX="{Binding ScrollPanelX}" CenterY="{Binding ScrollPanelY}"/>
|
||||
</TransformGroup>
|
||||
</Canvas.RenderTransform>
|
||||
</Canvas.LayoutTransform>
|
||||
<Canvas.Background>
|
||||
<DrawingBrush Viewport="0,0,10,10" ViewportUnits="Absolute" TileMode="Tile">
|
||||
<VisualBrush TileMode="Tile"
|
||||
Viewport="0,0,0.050,0.050" ViewportUnits="Absolute"
|
||||
Viewbox="0,0,0.050,0.050" ViewboxUnits="Absolute">
|
||||
<VisualBrush.Visual>
|
||||
<Rectangle StrokeThickness="{Binding GridLineThickness}" Height="0.050" Width="0.050" Stroke="Darkgray"/>
|
||||
</VisualBrush.Visual>
|
||||
</VisualBrush>
|
||||
<!--<DrawingBrush Viewport="0,0,0.05,0.05" ViewportUnits="Absolute" TileMode="Tile">
|
||||
<DrawingBrush.Drawing>
|
||||
<GeometryDrawing Brush="Black">
|
||||
<GeometryDrawing.Geometry>
|
||||
<GeometryGroup FillRule="EvenOdd">
|
||||
<RectangleGeometry Rect="0,0,50,50"/>
|
||||
<RectangleGeometry Rect="0,0,49.5,49.5"/>
|
||||
<RectangleGeometry Rect="0,0,0.050,0.050"/>
|
||||
<RectangleGeometry Rect="0,0,0.0499,0.0499"/>
|
||||
</GeometryGroup>
|
||||
</GeometryDrawing.Geometry>
|
||||
</GeometryDrawing>
|
||||
</DrawingBrush.Drawing>
|
||||
</DrawingBrush>
|
||||
</DrawingBrush>-->
|
||||
</Canvas.Background>
|
||||
<Line X1="0" X2="{Binding XX2}" Y1="{Binding XY1}" Y2="{Binding XY1}" Stroke="Red" StrokeThickness="{Binding AxisLineThickness}"/>
|
||||
<Line X1="{Binding YX1}" X2="{Binding YX1}" Y1="0" Y2="{Binding YY2}" Stroke="ForestGreen" StrokeThickness="{Binding AxisLineThickness}"/>
|
||||
|
||||
@@ -37,10 +37,12 @@ namespace StructureHelper.Windows.MainWindow
|
||||
{
|
||||
public class MainViewModel : ViewModelBase
|
||||
{
|
||||
const double ConstAxisLineThickness = 2d;
|
||||
|
||||
const double scale = 1d;
|
||||
private double ConstAxisLineThickness = 2d * scale;
|
||||
private double ConstGridLineThickness = 0.25d * scale;
|
||||
|
||||
private List<IHeadMaterial> headMaterials;
|
||||
private readonly double scaleRate = 1.1;
|
||||
private readonly double scaleRate = 1.1d;
|
||||
|
||||
private IPrimitiveRepository PrimitiveRepository { get; }
|
||||
public PrimitiveBase SelectedPrimitive { get; set; }
|
||||
@@ -73,7 +75,7 @@ namespace StructureHelper.Windows.MainWindow
|
||||
}
|
||||
|
||||
public int PrimitivesCount => Primitives.Count;
|
||||
private double scaleValue = 1.0;
|
||||
private double scaleValue;
|
||||
|
||||
public double ScaleValue
|
||||
{
|
||||
@@ -83,13 +85,19 @@ namespace StructureHelper.Windows.MainWindow
|
||||
OnPropertyChanged(value, ref scaleValue);
|
||||
axisLineThickness = ConstAxisLineThickness / scaleValue;
|
||||
OnPropertyChanged(nameof(AxisLineThickness));
|
||||
gridLineThickness = ConstGridLineThickness / scaleValue;
|
||||
OnPropertyChanged(nameof(GridLineThickness));
|
||||
}
|
||||
}
|
||||
|
||||
public double AxisLineThickness
|
||||
{
|
||||
get =>axisLineThickness == 0d? ConstAxisLineThickness: axisLineThickness;
|
||||
set { axisLineThickness = value; }
|
||||
get => axisLineThickness;
|
||||
}
|
||||
|
||||
public double GridLineThickness
|
||||
{
|
||||
get => gridLineThickness;
|
||||
}
|
||||
|
||||
private double canvasWidth, canvasHeight, xX2, xY1, yX1, yY2;
|
||||
@@ -165,18 +173,22 @@ namespace StructureHelper.Windows.MainWindow
|
||||
|
||||
private double delta = 0.0005;
|
||||
private double axisLineThickness;
|
||||
private double gridLineThickness;
|
||||
|
||||
public MainViewModel(MainModel model, IPrimitiveRepository primitiveRepository, UnitSystemService unitSystemService)
|
||||
{
|
||||
PrimitiveRepository = primitiveRepository;
|
||||
Model = model;
|
||||
headMaterials = Model.HeadMaterialRepository.HeadMaterials;
|
||||
CanvasWidth = 1500;
|
||||
CanvasHeight = 1000;
|
||||
CanvasWidth = 2d * scale;
|
||||
CanvasHeight = 1.5d * scale;
|
||||
XX2 = CanvasWidth;
|
||||
XY1 = CanvasHeight / 2d;
|
||||
YX1 = CanvasWidth / 2d;
|
||||
YY2 = CanvasHeight;
|
||||
scaleValue = 1000d / scale;
|
||||
axisLineThickness = ConstAxisLineThickness / scaleValue;
|
||||
gridLineThickness = ConstGridLineThickness / scaleValue;
|
||||
calculationProperty = new CalculationProperty();
|
||||
|
||||
LeftButtonUp = new RelayCommand(o =>
|
||||
|
||||
@@ -35,11 +35,11 @@
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="Elastic material"/>
|
||||
<TextBlock Grid.Row="1" Text="Young's modulus"/>
|
||||
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding Modulus, Converter={StaticResource StressConverter}, ValidatesOnDataErrors=True}"/>
|
||||
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding Modulus, Converter={StaticResource StressConverter}, ValidatesOnExceptions=True}"/>
|
||||
<TextBlock Grid.Row="2" Text="Compressive strength"/>
|
||||
<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding CompressiveStrength, Converter={StaticResource StressConverter}, ValidatesOnDataErrors=True}"/>
|
||||
<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding CompressiveStrength, Converter={StaticResource StressConverter}, ValidatesOnExceptions=True}"/>
|
||||
<TextBlock Grid.Row="3" Text="Tensile strength"/>
|
||||
<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding TensileStrength, Converter={StaticResource StressConverter}, ValidatesOnDataErrors=True}"/>
|
||||
<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding TensileStrength, Converter={StaticResource StressConverter}, ValidatesOnExceptions=True}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</Window.Resources>
|
||||
|
||||
Reference in New Issue
Block a user