Add beam shear classes
This commit is contained in:
14
StructureHelper/Infrastructure/Enums/AnalysisTypes.cs
Normal file
14
StructureHelper/Infrastructure/Enums/AnalysisTypes.cs
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelper.Infrastructure.Enums
|
||||||
|
{
|
||||||
|
public enum AnalysisTypes
|
||||||
|
{
|
||||||
|
CrossSection,
|
||||||
|
BeamShear
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -155,13 +155,19 @@
|
|||||||
</Canvas>
|
</Canvas>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
|
||||||
<DataTemplate x:Key="OkCancelButtons">
|
<DataTemplate x:Key="Back">
|
||||||
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Right">
|
<Path Margin="4" Data="M -1 18 l 2 -9 l 1 3 a 15 15 90 0 1 22 -3 l -2 4 a 13 13 90 0 0 -18 2 l 3 3 z" Fill="White" Stroke="Black"/>
|
||||||
<Button Style="{StaticResource CancelButton}" Command="{Binding CancelCommand}"/>
|
</DataTemplate>
|
||||||
<Button Style="{StaticResource OkButton}" Command="{Binding OkCommand}"/>
|
<DataTemplate x:Key="BeamShear">
|
||||||
</StackPanel>
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<Line X1="2" Y1="11" X2="30" Y2="11" Stroke="Black" StrokeThickness="0.5"/>
|
||||||
|
<Path Data="M2,11 v-6 l28,12 v-6" Stroke="Black" StrokeThickness="1"/>
|
||||||
|
<Path Data="M2,26 v-8 h10 v2 l-8,6 z" Fill="DarkGray" Stroke="Black" StrokeThickness="1"/>
|
||||||
|
<Path Data="M14,22 v-2 h16 v8 h-24 z" Fill="DarkGray" Stroke="Black" StrokeThickness="1"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
|
||||||
<DataTemplate x:Key="ButtonCalculatorRectangle">
|
<DataTemplate x:Key="ButtonCalculatorRectangle">
|
||||||
<Rectangle Style="{DynamicResource ButtonRect}" Stroke="{DynamicResource CalculatorFrame}">
|
<Rectangle Style="{DynamicResource ButtonRect}" Stroke="{DynamicResource CalculatorFrame}">
|
||||||
<Rectangle.Fill>
|
<Rectangle.Fill>
|
||||||
@@ -172,7 +178,6 @@
|
|||||||
</Rectangle.Fill>
|
</Rectangle.Fill>
|
||||||
</Rectangle>
|
</Rectangle>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
|
||||||
<DataTemplate x:Key="ButtonResultRectangle">
|
<DataTemplate x:Key="ButtonResultRectangle">
|
||||||
<Rectangle Style="{DynamicResource ButtonRect}" Stroke="{DynamicResource ResultFrame}">
|
<Rectangle Style="{DynamicResource ButtonRect}" Stroke="{DynamicResource ResultFrame}">
|
||||||
<Rectangle.Fill>
|
<Rectangle.Fill>
|
||||||
@@ -183,19 +188,15 @@
|
|||||||
</Rectangle.Fill>
|
</Rectangle.Fill>
|
||||||
</Rectangle>
|
</Rectangle>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
|
||||||
<DataTemplate x:Key="DiagramCalculator">
|
<DataTemplate x:Key="CalculatorRun">
|
||||||
<Canvas Style="{DynamicResource ButtonCalculatorCanvas}">
|
<Canvas Style="{DynamicResource ButtonCalculatorCanvas}">
|
||||||
<Canvas.Children>
|
<Canvas.Children>
|
||||||
<ContentControl ContentTemplate="{DynamicResource ButtonCalculatorRectangle}"/>
|
<ContentControl ContentTemplate="{DynamicResource ButtonCalculatorRectangle}"/>
|
||||||
<Line Margin="4" X1="0" Y1="20" X2="25" Y2="20" StrokeThickness="1.5" Stroke="{DynamicResource CalculatorFrame}"/>
|
<Path Margin="4" Data="M 4 2 l 12 10 l -12 10 l 0 -20" Fill="{DynamicResource CalculatorFrame}"/>
|
||||||
<Line Margin="4" X1="4" Y1="0" X2="4" Y2="25" StrokeThickness="1.5" Stroke="{DynamicResource CalculatorFrame}"/>
|
|
||||||
<Path Margin="4" Data="M 0 5 l 4 -4 l 7 4 l 7 6 l 2 4 l -2 7 l -2 2 " Stroke="{DynamicResource CalculatorFrame}"/>
|
|
||||||
<TextBlock Margin="4,2,0,0" Text="M-N" Foreground="Black" FontSize="10" HorizontalAlignment="Stretch" FontWeight="Bold" />
|
|
||||||
</Canvas.Children>
|
</Canvas.Children>
|
||||||
</Canvas>
|
</Canvas>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
|
||||||
<DataTemplate x:Key="CrackCalculator">
|
<DataTemplate x:Key="CrackCalculator">
|
||||||
<Canvas Style="{DynamicResource ButtonCalculatorCanvas}">
|
<Canvas Style="{DynamicResource ButtonCalculatorCanvas}">
|
||||||
<Canvas.Children>
|
<Canvas.Children>
|
||||||
@@ -212,16 +213,15 @@
|
|||||||
</Canvas.Children>
|
</Canvas.Children>
|
||||||
</Canvas>
|
</Canvas>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="CopyToClipboard">
|
||||||
<DataTemplate x:Key="CalculatorRun">
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
<Canvas Style="{DynamicResource ButtonCalculatorCanvas}">
|
|
||||||
<Canvas.Children>
|
<Canvas.Children>
|
||||||
<ContentControl ContentTemplate="{DynamicResource ButtonCalculatorRectangle}"/>
|
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
||||||
<Path Margin="4" Data="M 4 2 l 12 10 l -12 10 l 0 -20" Fill="{DynamicResource CalculatorFrame}"/>
|
<ContentControl Canvas.Top="10" Canvas.Left="14" ContentTemplate="{DynamicResource Document}"/>
|
||||||
|
<ContentControl Canvas.Top="6" Canvas.Left="8" ContentTemplate="{DynamicResource Document}"/>
|
||||||
</Canvas.Children>
|
</Canvas.Children>
|
||||||
</Canvas>
|
</Canvas>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
|
||||||
<DataTemplate x:Key="CoordGrid">
|
<DataTemplate x:Key="CoordGrid">
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
<Canvas.Children>
|
<Canvas.Children>
|
||||||
@@ -231,47 +231,6 @@
|
|||||||
</Canvas.Children>
|
</Canvas.Children>
|
||||||
</Canvas>
|
</Canvas>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
|
||||||
<DataTemplate x:Key="StepSolution">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource CoordGrid}"/>
|
|
||||||
<Line X1="5" Y1="27" X2="26" Y2="6" Stroke="Black"/>
|
|
||||||
<Line X1="25.5" Y1="22" X2="25.5" Y2="6" Stroke="LightGray"/>
|
|
||||||
<Line X1="10" Y1="6" X2="25.5" Y2="6" Stroke="LightGray"/>
|
|
||||||
<Line X1="5.5" Y1="26" X2="5.5" Y2="22" Stroke="LightGray"/>
|
|
||||||
<Line X1="5.5" Y1="26" X2="10" Y2="26" Stroke="LightGray"/>
|
|
||||||
<Ellipse Margin="4, 25, 0, 0" Width="3" Height="3" Fill="Black"/>
|
|
||||||
<Ellipse Margin="11, 18, 0, 0" Width="3" Height="3" Fill="Black"/>
|
|
||||||
<Ellipse Margin="18, 11, 0, 0" Width="3" Height="3" Fill="Black"/>
|
|
||||||
<Ellipse Margin="24, 5, 0, 0" Width="3" Height="3" Fill="Black"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="MomentCurvature">
|
|
||||||
<Path Margin="4" Data="M 3 18 l 4 -7 h 4 l 8 -7 h 5" Stroke="Black"/>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="MomentCurvatureDiagram">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource CoordGrid}"/>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource MomentCurvature}"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="MomentCurvatureCrackDiagram">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource CoordGrid}"/>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource MomentCurvature}"/>
|
|
||||||
<TextBlock Text="Crc" FontSize="8" FontWeight="Bold" Margin="4,2,0,0"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="CrackForces">
|
<DataTemplate x:Key="CrackForces">
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
<Canvas.Children>
|
<Canvas.Children>
|
||||||
@@ -281,7 +240,255 @@
|
|||||||
</Canvas.Children>
|
</Canvas.Children>
|
||||||
</Canvas>
|
</Canvas>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
|
||||||
|
<DataTemplate x:Key="DeSelectAll">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<CheckBox Canvas.Left="13" Canvas.Top="13" IsChecked="False" IsEnabled="False"/>
|
||||||
|
<CheckBox Canvas.Left="2" Canvas.Top="2" IsChecked="False" IsEnabled="False"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="Diagrams">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<Line X1="2" Y1="16" X2="30" Y2="16" Stroke="Black" StrokeThickness="0.5"/>
|
||||||
|
<Line X1="16" Y1="2" X2="16" Y2="30" Stroke="Black" StrokeThickness="0.5"/>
|
||||||
|
<Path Margin="2" Data="M 0 21 l 6 0 l 9 -8 l 9 -8 l 4 0" Stroke="Black" StrokeThickness="1"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="DiagramCalculator">
|
||||||
|
<Canvas Style="{DynamicResource ButtonCalculatorCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource ButtonCalculatorRectangle}"/>
|
||||||
|
<Line Margin="4" X1="0" Y1="20" X2="25" Y2="20" StrokeThickness="1.5" Stroke="{DynamicResource CalculatorFrame}"/>
|
||||||
|
<Line Margin="4" X1="4" Y1="0" X2="4" Y2="25" StrokeThickness="1.5" Stroke="{DynamicResource CalculatorFrame}"/>
|
||||||
|
<Path Margin="4" Data="M 0 5 l 4 -4 l 7 4 l 7 6 l 2 4 l -2 7 l -2 2 " Stroke="{DynamicResource CalculatorFrame}"/>
|
||||||
|
<TextBlock Margin="4,2,0,0" Text="M-N" Foreground="Black" FontSize="10" HorizontalAlignment="Stretch" FontWeight="Bold" />
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="Document">
|
||||||
|
<Canvas>
|
||||||
|
<Canvas.Children>
|
||||||
|
<Rectangle Height="16" Width="12" Fill="White" Stroke="DarkGray"/>
|
||||||
|
<Line X1="2" Y1="4" X2="10" Y2="4" Stroke="Black"/>
|
||||||
|
<Line X1="2" Y1="7" X2="10" Y2="7" Stroke="Black"/>
|
||||||
|
<Line X1="2" Y1="10" X2="10" Y2="10" Stroke="Black"/>
|
||||||
|
<Line X1="2" Y1="13" X2="10" Y2="13" Stroke="Black"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="EditAnalysis">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<Path Margin="4" Data="M 2 22 l 4 -6 l 15 -16 l 4 4 l -15 14 z" Fill="DarkGray" Stroke="Black" StrokeThickness="1"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="AnalysisVersions">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<Ellipse Width="10" Height="10" Fill="LightGray" Stroke="Black" StrokeThickness="1" Margin="18,18,0,0"/>
|
||||||
|
<Ellipse Width="12" Height="12" Fill="LightGray" Stroke="Black" StrokeThickness="1" Margin="12,12,0,0"/>
|
||||||
|
<Ellipse Width="14" Height="14" Fill="White" Stroke="Black" StrokeThickness="1" Margin="5,5,0,0"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="ExportToNewAnalysis">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<Path Margin="4" Data="M 12 22 l 0 -18 l 12 0 l 0 14 l -4 4 z" Fill="White" Stroke="Black"/>
|
||||||
|
<Path Margin="4" Data="M 20 22 l 0 -4 l 4 0 " Fill="White" Stroke="Black"/>
|
||||||
|
<TextBlock Margin="16, 4, 0, 0" Text="+-" FontSize="10"/>
|
||||||
|
<Path Margin="4" Data="M -1 18 l 0 -4 l 10 0 l 0 -3 l 5 5 l -5 5 l 0 -3 z" Fill="White" Stroke="Black"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="ExportToXLS">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource Table}"/>
|
||||||
|
<TextBlock Text="CSV" FontSize="8" FontWeight="Bold" Margin="4,2,0,2"/>
|
||||||
|
<TextBlock Text="XLS" FontSize="12" FontWeight="Bold" FontStyle="Italic" Margin="6,14,0,2"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="ExportToExcelButton">
|
||||||
|
<Button Style="{DynamicResource ToolButton}" Command="{Binding ExportToCSVCommand}">
|
||||||
|
<Button.ToolTip>
|
||||||
|
<uc:ButtonToolTipEh HeaderText="Export to *.csv"
|
||||||
|
IconContent="{StaticResource ExportToXLS}"
|
||||||
|
DescriptionText="Export all valid results to *.csv file"/>
|
||||||
|
</Button.ToolTip>
|
||||||
|
<Viewbox>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource ExportToXLS}"/>
|
||||||
|
</Viewbox>
|
||||||
|
</Button>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="FileOpen">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<Path Margin="4" Data="M 2 6 l 8 0 l 3 3 l 6 0 l 0 12 l -17 0 z" Fill="DarkGray" Stroke="Black" StrokeThickness="1"/>
|
||||||
|
<Path Margin="4" Data="M 6 12 l 20 0 l -5 10 l -19 0 z" Fill="LightGray" Stroke="Black" StrokeThickness="1"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="FileSave">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<Rectangle Height="26" Width="26" Canvas.Left="3" Canvas.Top="3"
|
||||||
|
Fill="DarkGray" Stroke="Black" StrokeThickness="1"
|
||||||
|
RadiusX="2" RadiusY="2"/>
|
||||||
|
<Rectangle Height="8" Width="12" Canvas.Left="10" Canvas.Top="4"
|
||||||
|
Fill="LightGray" Stroke="Black" StrokeThickness="0.5"/>
|
||||||
|
<Rectangle Height="6" Width="4" Canvas.Left="16" Canvas.Top="5"
|
||||||
|
Fill="DarkGray" Stroke="Black" StrokeThickness="0.5"/>
|
||||||
|
<Rectangle Height="14" Width="22" Canvas.Left="5" Canvas.Top="13"
|
||||||
|
Fill="LightGray" Stroke="Black" StrokeThickness="0.5"
|
||||||
|
RadiusX="2" RadiusY="2"/>
|
||||||
|
<Line X1="7" Y1="18" X2="24" Y2="18" Stroke="Black" StrokeThickness="0.5"/>
|
||||||
|
<Line X1="7" Y1="21" X2="24" Y2="21" Stroke="Black" StrokeThickness="0.5"/>
|
||||||
|
<Line X1="7" Y1="24" X2="24" Y2="24" Stroke="Black" StrokeThickness="0.5"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="ForceTable">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource Table}"/>
|
||||||
|
<TextBlock Text="Force" FontSize="8" FontWeight="Bold" Margin="4,2,0,2"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="Forward">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource Back}">
|
||||||
|
<ContentControl.RenderTransform>
|
||||||
|
<TransformGroup>
|
||||||
|
<TranslateTransform Y="-5"/>
|
||||||
|
<ScaleTransform ScaleX="-1" CenterX="15" CenterY="8"/>
|
||||||
|
</TransformGroup>
|
||||||
|
</ContentControl.RenderTransform>
|
||||||
|
</ContentControl>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="GeometryTable">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource Table}"/>
|
||||||
|
<TextBlock Text="Geom" FontSize="8" FontWeight="Bold" Margin="4,2,0,2"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="GetArea">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<TextBlock Text="A" FontSize="22" FontWeight="Bold" Margin="2,-4,0,2"/>
|
||||||
|
<TextBlock Text="?" FontSize="18" FontWeight="Bold" Margin="20,8,0,2"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="Image">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
||||||
|
<Path Data="M 4 16 l 8 -3 l 3 3 l 6 -3 l 7 3 v 12 h -24 z" Fill="DarkGray" Stroke="Black" StrokeThickness="1"/>
|
||||||
|
<Ellipse Canvas.Top="16" Canvas.Left="18" Height="6" Width="6" Fill="White"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="InteractionDiagram">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource CoordGrid}"/>
|
||||||
|
<Path Margin="4" Data="M 6 0 l 5 3 l 6 4 l 3 5 l 0 4 l -4 3 l -10 3 z" Stroke="Black"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="InvertSelection">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<CheckBox Canvas.Left="13" Canvas.Top="13" IsChecked="True" IsEnabled="False"/>
|
||||||
|
<CheckBox Canvas.Left="2" Canvas.Top="2" IsChecked="False" IsEnabled="False"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="IsoFieldResult">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
||||||
|
<Path Margin="4" Data="M 0 0 h 20 A 20 20 90 0 1 0 24 z" Fill="Gray"/>
|
||||||
|
<Path Margin="4" Data="M 0 0 h 16 A 16 16 90 0 1 0 18 z" Fill="DarkGray"/>
|
||||||
|
<Path Margin="4" Data="M 0 0 h 10 A 10 10 90 0 1 0 10 z" Fill="LightGray"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="LappingLength">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
||||||
|
<Line X1="10" Y1="17" X2="28" Y2="17" Stroke="Black"/>
|
||||||
|
<Line X1="3" Y1="20" X2="22" Y2="20" Stroke="Black"/>
|
||||||
|
<Line X1="10" Y1="6" X2="10" Y2="15" Stroke="Black"/>
|
||||||
|
<Line X1="22" Y1="6" X2="22" Y2="15" Stroke="Black"/>
|
||||||
|
<Line X1="7" Y1="10" X2="25" Y2="10" Stroke="Black"/>
|
||||||
|
<Line X1="7" Y1="13" X2="13" Y2="7" Stroke="Black"/>
|
||||||
|
<Line X1="19" Y1="13" X2="25" Y2="7" Stroke="Black"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="MomentCurvature">
|
||||||
|
<Path Margin="4" Data="M 3 18 l 4 -7 h 4 l 8 -7 h 5" Stroke="Black"/>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="MomentCurvatureCrackDiagram">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource CoordGrid}"/>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource MomentCurvature}"/>
|
||||||
|
<TextBlock Text="Crc" FontSize="8" FontWeight="Bold" Margin="4,2,0,0"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="MomentCurvatureDiagram">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource CoordGrid}"/>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource MomentCurvature}"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="NdmCrossSection">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<Rectangle Height="16" Width="8" Canvas.Left="12" Canvas.Top="12"
|
||||||
|
Fill="DarkGray" Stroke="Black" StrokeThickness="1"/>
|
||||||
|
<Rectangle Height="6" Width="16" Canvas.Left="8" Canvas.Top="7"
|
||||||
|
Fill="LightGray" Stroke="Black" StrokeThickness="1"/>
|
||||||
|
<Line X1="2" Y1="16" X2="30" Y2="16" Stroke="Black" StrokeThickness="0.5"/>
|
||||||
|
<Line X1="16" Y1="2" X2="16" Y2="30" Stroke="Black" StrokeThickness="0.5"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="OkCancelButtons">
|
||||||
|
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Right">
|
||||||
|
<Button Style="{StaticResource CancelButton}" Command="{Binding CancelCommand}"/>
|
||||||
|
<Button Style="{StaticResource OkButton}" Command="{Binding OkCommand}"/>
|
||||||
|
</StackPanel>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="PngImage">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource Image}"/>
|
||||||
|
<TextBlock Text="PNG" FontSize="8" FontWeight="Bold" Margin="4,2,0,2"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
<DataTemplate x:Key="Prestrain">
|
<DataTemplate x:Key="Prestrain">
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
<Canvas.Children>
|
<Canvas.Children>
|
||||||
@@ -306,279 +513,6 @@
|
|||||||
</Canvas.Children>
|
</Canvas.Children>
|
||||||
</Canvas>
|
</Canvas>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
|
||||||
<DataTemplate x:Key="LappingLength">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
|
||||||
<Line X1="10" Y1="17" X2="28" Y2="17" Stroke="Black"/>
|
|
||||||
<Line X1="3" Y1="20" X2="22" Y2="20" Stroke="Black"/>
|
|
||||||
<Line X1="10" Y1="6" X2="10" Y2="15" Stroke="Black"/>
|
|
||||||
<Line X1="22" Y1="6" X2="22" Y2="15" Stroke="Black"/>
|
|
||||||
<Line X1="7" Y1="10" X2="25" Y2="10" Stroke="Black"/>
|
|
||||||
<Line X1="7" Y1="13" X2="13" Y2="7" Stroke="Black"/>
|
|
||||||
<Line X1="19" Y1="13" X2="25" Y2="7" Stroke="Black"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="ValuePointDiagram">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource CoordGrid}"/>
|
|
||||||
<Path Margin="4" Data="M 3 0 l 4 12 l 12 6 h 5" Stroke="Black"/>
|
|
||||||
<Rectangle Margin="15, 5, 0, 0" Width="10" Height="10" Fill="DarkGray"/>
|
|
||||||
<Ellipse Margin="23, 13, 0, 0" Width="3" Height="3" Fill="Black"/>
|
|
||||||
<Ellipse Margin="23, 4, 0, 0" Width="3" Height="3" Fill="Black"/>
|
|
||||||
<Ellipse Margin="14, 13, 0, 0" Width="3" Height="3" Fill="Black"/>
|
|
||||||
<Ellipse Margin="14, 4, 0, 0" Width="3" Height="3" Fill="Black"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="InteractionDiagram">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource CoordGrid}"/>
|
|
||||||
<Path Margin="4" Data="M 6 0 l 5 3 l 6 4 l 3 5 l 0 4 l -4 3 l -10 3 z" Stroke="Black"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="Table">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
|
||||||
<Line X1="4" Y1="13" X2="28" Y2="13" Stroke="Black"/>
|
|
||||||
<Line X1="4" Y1="16" X2="28" Y2="16" Stroke="Black"/>
|
|
||||||
<Line X1="4" Y1="19" X2="28" Y2="19" Stroke="DarkGray" StrokeThickness="0.5"/>
|
|
||||||
<Line X1="4" Y1="22" X2="28" Y2="22" Stroke="DarkGray" StrokeThickness="0.5"/>
|
|
||||||
<Line X1="4" Y1="25" X2="28" Y2="25" Stroke="DarkGray" StrokeThickness="0.5"/>
|
|
||||||
<Line X1="12" Y1="13" X2="12" Y2="28" Stroke="Black" StrokeThickness="0.5"/>
|
|
||||||
<Line X1="17" Y1="13" X2="17" Y2="28" Stroke="Black" StrokeThickness="0.5"/>
|
|
||||||
<Line X1="22" Y1="13" X2="22" Y2="28" Stroke="Black" StrokeThickness="0.5"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="GeometryTable">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource Table}"/>
|
|
||||||
<TextBlock Text="Geom" FontSize="8" FontWeight="Bold" Margin="4,2,0,2"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="ForceTable">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource Table}"/>
|
|
||||||
<TextBlock Text="Force" FontSize="8" FontWeight="Bold" Margin="4,2,0,2"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="Image">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
|
||||||
<Path Data="M 4 16 l 8 -3 l 3 3 l 6 -3 l 7 3 v 12 h -24 z" Fill="DarkGray" Stroke="Black" StrokeThickness="1"/>
|
|
||||||
<Ellipse Canvas.Top="16" Canvas.Left="18" Height="6" Width="6" Fill="White"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="GetArea">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<TextBlock Text="A" FontSize="22" FontWeight="Bold" Margin="2,-4,0,2"/>
|
|
||||||
<TextBlock Text="?" FontSize="18" FontWeight="Bold" Margin="20,8,0,2"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="PngImage">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource Image}"/>
|
|
||||||
<TextBlock Text="PNG" FontSize="8" FontWeight="Bold" Margin="4,2,0,2"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="Document">
|
|
||||||
<Canvas>
|
|
||||||
<Canvas.Children>
|
|
||||||
<Rectangle Height="16" Width="12" Fill="White" Stroke="DarkGray"/>
|
|
||||||
<Line X1="2" Y1="4" X2="10" Y2="4" Stroke="Black"/>
|
|
||||||
<Line X1="2" Y1="7" X2="10" Y2="7" Stroke="Black"/>
|
|
||||||
<Line X1="2" Y1="10" X2="10" Y2="10" Stroke="Black"/>
|
|
||||||
<Line X1="2" Y1="13" X2="10" Y2="13" Stroke="Black"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="CopyToClipboard">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
|
||||||
<ContentControl Canvas.Top="10" Canvas.Left="14" ContentTemplate="{DynamicResource Document}"/>
|
|
||||||
<ContentControl Canvas.Top="6" Canvas.Left="8" ContentTemplate="{DynamicResource Document}"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="Report">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
|
||||||
<ContentControl Canvas.Top="5" Canvas.Left="6" ContentTemplate="{DynamicResource Document}"/>
|
|
||||||
<ContentControl Canvas.Top="8" Canvas.Left="10" ContentTemplate="{DynamicResource Document}"/>
|
|
||||||
<ContentControl Canvas.Top="11" Canvas.Left="14" ContentTemplate="{DynamicResource Document}"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="ExportToXLS">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource Table}"/>
|
|
||||||
<TextBlock Text="CSV" FontSize="8" FontWeight="Bold" Margin="4,2,0,2"/>
|
|
||||||
<TextBlock Text="XLS" FontSize="12" FontWeight="Bold" FontStyle="Italic" Margin="6,14,0,2"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="IsoFieldResult">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
|
||||||
<Path Margin="4" Data="M 0 0 h 20 A 20 20 90 0 1 0 24 z" Fill="Gray"/>
|
|
||||||
<Path Margin="4" Data="M 0 0 h 16 A 16 16 90 0 1 0 18 z" Fill="DarkGray"/>
|
|
||||||
<Path Margin="4" Data="M 0 0 h 10 A 10 10 90 0 1 0 10 z" Fill="LightGray"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="ShowRebarsResult">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
|
||||||
<Rectangle Canvas.Left="8" Canvas.Top="6" Width="16" Height="21" Fill="LightGray" Stroke ="Black"/>
|
|
||||||
<Ellipse Canvas.Left="10" Canvas.Top="21" Width="4" Height="4" Fill="DarkGray" Stroke ="Black"/>
|
|
||||||
<Ellipse Canvas.Left="18" Canvas.Top="21" Width="4" Height="4" Fill="DarkGray" Stroke ="Black"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="FileOpen">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<Path Margin="4" Data="M 2 6 l 8 0 l 3 3 l 6 0 l 0 12 l -17 0 z" Fill="DarkGray" Stroke="Black" StrokeThickness="1"/>
|
|
||||||
<Path Margin="4" Data="M 6 12 l 20 0 l -5 10 l -19 0 z" Fill="LightGray" Stroke="Black" StrokeThickness="1"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="FileSave">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<Rectangle Height="26" Width="26" Canvas.Left="3" Canvas.Top="3"
|
|
||||||
Fill="DarkGray" Stroke="Black" StrokeThickness="1"
|
|
||||||
RadiusX="2" RadiusY="2"/>
|
|
||||||
<Rectangle Height="8" Width="12" Canvas.Left="10" Canvas.Top="4"
|
|
||||||
Fill="LightGray" Stroke="Black" StrokeThickness="0.5"/>
|
|
||||||
<Rectangle Height="6" Width="4" Canvas.Left="16" Canvas.Top="5"
|
|
||||||
Fill="DarkGray" Stroke="Black" StrokeThickness="0.5"/>
|
|
||||||
<Rectangle Height="14" Width="22" Canvas.Left="5" Canvas.Top="13"
|
|
||||||
Fill="LightGray" Stroke="Black" StrokeThickness="0.5"
|
|
||||||
RadiusX="2" RadiusY="2"/>
|
|
||||||
<Line X1="7" Y1="18" X2="24" Y2="18" Stroke="Black" StrokeThickness="0.5"/>
|
|
||||||
<Line X1="7" Y1="21" X2="24" Y2="21" Stroke="Black" StrokeThickness="0.5"/>
|
|
||||||
<Line X1="7" Y1="24" X2="24" Y2="24" Stroke="Black" StrokeThickness="0.5"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="Settings">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<Path Margin="4" Data="M8,8 v-6 l-4,-4
|
|
||||||
a7,7 90 0 1 7,10
|
|
||||||
l12,12 v3 h-3 l-12,-12
|
|
||||||
a7,7 90 0 1 -10,-7
|
|
||||||
l4,4
|
|
||||||
z" Fill="DarkGray" Stroke="Black"/>
|
|
||||||
<Ellipse Height="2" Width="2" Fill="White" Canvas.Left="24" Canvas.Top="24"/>
|
|
||||||
<Ellipse Height="5" Width="5" Fill="White" Canvas.Left="6" Canvas.Top="6"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="Diagrams">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<Line X1="2" Y1="16" X2="30" Y2="16" Stroke="Black" StrokeThickness="0.5"/>
|
|
||||||
<Line X1="16" Y1="2" X2="16" Y2="30" Stroke="Black" StrokeThickness="0.5"/>
|
|
||||||
<Path Margin="2" Data="M 0 21 l 6 0 l 9 -8 l 9 -8 l 4 0" Stroke="Black" StrokeThickness="1"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="NdmCrossSection">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<Rectangle Height="16" Width="8" Canvas.Left="12" Canvas.Top="12"
|
|
||||||
Fill="DarkGray" Stroke="Black" StrokeThickness="1"/>
|
|
||||||
<Rectangle Height="6" Width="16" Canvas.Left="8" Canvas.Top="7"
|
|
||||||
Fill="LightGray" Stroke="Black" StrokeThickness="1"/>
|
|
||||||
<Line X1="2" Y1="16" X2="30" Y2="16" Stroke="Black" StrokeThickness="0.5"/>
|
|
||||||
<Line X1="16" Y1="2" X2="16" Y2="30" Stroke="Black" StrokeThickness="0.5"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="SelectAll">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<CheckBox Canvas.Left="13" Canvas.Top="13" IsChecked="True" IsEnabled="False"/>
|
|
||||||
<CheckBox Canvas.Left="2" Canvas.Top="2" IsChecked="True" IsEnabled="False"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="DeSelectAll">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<CheckBox Canvas.Left="13" Canvas.Top="13" IsChecked="False" IsEnabled="False"/>
|
|
||||||
<CheckBox Canvas.Left="2" Canvas.Top="2" IsChecked="False" IsEnabled="False"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="InvertSelection">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<CheckBox Canvas.Left="13" Canvas.Top="13" IsChecked="True" IsEnabled="False"/>
|
|
||||||
<CheckBox Canvas.Left="2" Canvas.Top="2" IsChecked="False" IsEnabled="False"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
|
|
||||||
<DataTemplate x:Key="AnalysisVersions">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<Ellipse Width="10" Height="10" Fill="LightGray" Stroke="Black" StrokeThickness="1" Margin="18,18,0,0"/>
|
|
||||||
<Ellipse Width="12" Height="12" Fill="LightGray" Stroke="Black" StrokeThickness="1" Margin="12,12,0,0"/>
|
|
||||||
<Ellipse Width="14" Height="14" Fill="White" Stroke="Black" StrokeThickness="1" Margin="5,5,0,0"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="RunAnalysis">
|
<DataTemplate x:Key="RunAnalysis">
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
<Canvas.Children>
|
<Canvas.Children>
|
||||||
@@ -586,43 +520,6 @@
|
|||||||
</Canvas.Children>
|
</Canvas.Children>
|
||||||
</Canvas>
|
</Canvas>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
|
||||||
<DataTemplate x:Key="EditAnalysis">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<Path Margin="4" Data="M 2 22 l 4 -6 l 15 -16 l 4 4 l -15 14 z" Fill="DarkGray" Stroke="Black" StrokeThickness="1"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
|
|
||||||
<DataTemplate x:Key="Restore">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource Back}"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="Back">
|
|
||||||
<Path Margin="4" Data="M -1 18 l 2 -9 l 1 3 a 15 15 90 0 1 22 -3 l -2 4 a 13 13 90 0 0 -18 2 l 3 3 z" Fill="White" Stroke="Black"/>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="Forward">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<ContentControl ContentTemplate="{DynamicResource Back}">
|
|
||||||
<ContentControl.RenderTransform>
|
|
||||||
<TransformGroup>
|
|
||||||
<TranslateTransform Y="-5"/>
|
|
||||||
<ScaleTransform ScaleX="-1" CenterX="15" CenterY="8"/>
|
|
||||||
</TransformGroup>
|
|
||||||
</ContentControl.RenderTransform>
|
|
||||||
</ContentControl>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="Renew">
|
<DataTemplate x:Key="Renew">
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
<Canvas.Children>
|
<Canvas.Children>
|
||||||
@@ -645,7 +542,23 @@
|
|||||||
</Canvas.Children>
|
</Canvas.Children>
|
||||||
</Canvas>
|
</Canvas>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="Report">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
||||||
|
<ContentControl Canvas.Top="5" Canvas.Left="6" ContentTemplate="{DynamicResource Document}"/>
|
||||||
|
<ContentControl Canvas.Top="8" Canvas.Left="10" ContentTemplate="{DynamicResource Document}"/>
|
||||||
|
<ContentControl Canvas.Top="11" Canvas.Left="14" ContentTemplate="{DynamicResource Document}"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="Restore">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource Back}"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
<DataTemplate x:Key="RestoreAndDelete">
|
<DataTemplate x:Key="RestoreAndDelete">
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
<Canvas.Children>
|
<Canvas.Children>
|
||||||
@@ -654,22 +567,6 @@
|
|||||||
</Canvas.Children>
|
</Canvas.Children>
|
||||||
</Canvas>
|
</Canvas>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
|
||||||
<DataTemplate x:Key="StraightArrow">
|
|
||||||
<Path Margin="4" Data="M 5 13 l 0 -4 l 10 0 l 0 -3 l 5 5 l -5 5 l 0 -3 z" Fill="White" Stroke="Black"/>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="ExportToNewAnalysis">
|
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
|
||||||
<Canvas.Children>
|
|
||||||
<Path Margin="4" Data="M 12 22 l 0 -18 l 12 0 l 0 14 l -4 4 z" Fill="White" Stroke="Black"/>
|
|
||||||
<Path Margin="4" Data="M 20 22 l 0 -4 l 4 0 " Fill="White" Stroke="Black"/>
|
|
||||||
<TextBlock Margin="16, 4, 0, 0" Text="+-" FontSize="10"/>
|
|
||||||
<Path Margin="4" Data="M -1 18 l 0 -4 l 10 0 l 0 -3 l 5 5 l -5 5 l 0 -3 z" Fill="White" Stroke="Black"/>
|
|
||||||
</Canvas.Children>
|
|
||||||
</Canvas>
|
|
||||||
</DataTemplate>
|
|
||||||
|
|
||||||
<DataTemplate x:Key="Print">
|
<DataTemplate x:Key="Print">
|
||||||
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
<Canvas.Children>
|
<Canvas.Children>
|
||||||
@@ -682,18 +579,83 @@
|
|||||||
</Canvas.Children>
|
</Canvas.Children>
|
||||||
</Canvas>
|
</Canvas>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="SelectAll">
|
||||||
<DataTemplate x:Key="ExportToExcelButton">
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
<Button Style="{DynamicResource ToolButton}" Command="{Binding ExportToCSVCommand}">
|
<Canvas.Children>
|
||||||
<Button.ToolTip>
|
<CheckBox Canvas.Left="13" Canvas.Top="13" IsChecked="True" IsEnabled="False"/>
|
||||||
<uc:ButtonToolTipEh HeaderText="Export to *.csv"
|
<CheckBox Canvas.Left="2" Canvas.Top="2" IsChecked="True" IsEnabled="False"/>
|
||||||
IconContent="{StaticResource ExportToXLS}"
|
</Canvas.Children>
|
||||||
DescriptionText="Export all valid results to *.csv file"/>
|
</Canvas>
|
||||||
</Button.ToolTip>
|
</DataTemplate>
|
||||||
<Viewbox>
|
<DataTemplate x:Key="Settings">
|
||||||
<ContentControl ContentTemplate="{DynamicResource ExportToXLS}"/>
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
</Viewbox>
|
<Canvas.Children>
|
||||||
</Button>
|
<Path Margin="4" Data="M8,8 v-6 l-4,-4
|
||||||
|
a7,7 90 0 1 7,10
|
||||||
|
l12,12 v3 h-3 l-12,-12
|
||||||
|
a7,7 90 0 1 -10,-7
|
||||||
|
l4,4
|
||||||
|
z" Fill="DarkGray" Stroke="Black"/>
|
||||||
|
<Ellipse Height="2" Width="2" Fill="White" Canvas.Left="24" Canvas.Top="24"/>
|
||||||
|
<Ellipse Height="5" Width="5" Fill="White" Canvas.Left="6" Canvas.Top="6"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="ShowRebarsResult">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
||||||
|
<Rectangle Canvas.Left="8" Canvas.Top="6" Width="16" Height="21" Fill="LightGray" Stroke ="Black"/>
|
||||||
|
<Ellipse Canvas.Left="10" Canvas.Top="21" Width="4" Height="4" Fill="DarkGray" Stroke ="Black"/>
|
||||||
|
<Ellipse Canvas.Left="18" Canvas.Top="21" Width="4" Height="4" Fill="DarkGray" Stroke ="Black"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="StepSolution">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource CoordGrid}"/>
|
||||||
|
<Line X1="5" Y1="27" X2="26" Y2="6" Stroke="Black"/>
|
||||||
|
<Line X1="25.5" Y1="22" X2="25.5" Y2="6" Stroke="LightGray"/>
|
||||||
|
<Line X1="10" Y1="6" X2="25.5" Y2="6" Stroke="LightGray"/>
|
||||||
|
<Line X1="5.5" Y1="26" X2="5.5" Y2="22" Stroke="LightGray"/>
|
||||||
|
<Line X1="5.5" Y1="26" X2="10" Y2="26" Stroke="LightGray"/>
|
||||||
|
<Ellipse Margin="4, 25, 0, 0" Width="3" Height="3" Fill="Black"/>
|
||||||
|
<Ellipse Margin="11, 18, 0, 0" Width="3" Height="3" Fill="Black"/>
|
||||||
|
<Ellipse Margin="18, 11, 0, 0" Width="3" Height="3" Fill="Black"/>
|
||||||
|
<Ellipse Margin="24, 5, 0, 0" Width="3" Height="3" Fill="Black"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="StraightArrow">
|
||||||
|
<Path Margin="4" Data="M 5 13 l 0 -4 l 10 0 l 0 -3 l 5 5 l -5 5 l 0 -3 z" Fill="White" Stroke="Black"/>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="Table">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource ButtonResultRectangle}"/>
|
||||||
|
<Line X1="4" Y1="13" X2="28" Y2="13" Stroke="Black"/>
|
||||||
|
<Line X1="4" Y1="16" X2="28" Y2="16" Stroke="Black"/>
|
||||||
|
<Line X1="4" Y1="19" X2="28" Y2="19" Stroke="DarkGray" StrokeThickness="0.5"/>
|
||||||
|
<Line X1="4" Y1="22" X2="28" Y2="22" Stroke="DarkGray" StrokeThickness="0.5"/>
|
||||||
|
<Line X1="4" Y1="25" X2="28" Y2="25" Stroke="DarkGray" StrokeThickness="0.5"/>
|
||||||
|
<Line X1="12" Y1="13" X2="12" Y2="28" Stroke="Black" StrokeThickness="0.5"/>
|
||||||
|
<Line X1="17" Y1="13" X2="17" Y2="28" Stroke="Black" StrokeThickness="0.5"/>
|
||||||
|
<Line X1="22" Y1="13" X2="22" Y2="28" Stroke="Black" StrokeThickness="0.5"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="ValuePointDiagram">
|
||||||
|
<Canvas Style="{DynamicResource ButtonResultCanvas}">
|
||||||
|
<Canvas.Children>
|
||||||
|
<ContentControl ContentTemplate="{DynamicResource CoordGrid}"/>
|
||||||
|
<Path Margin="4" Data="M 3 0 l 4 12 l 12 6 h 5" Stroke="Black"/>
|
||||||
|
<Rectangle Margin="15, 5, 0, 0" Width="10" Height="10" Fill="DarkGray"/>
|
||||||
|
<Ellipse Margin="23, 13, 0, 0" Width="3" Height="3" Fill="Black"/>
|
||||||
|
<Ellipse Margin="23, 4, 0, 0" Width="3" Height="3" Fill="Black"/>
|
||||||
|
<Ellipse Margin="14, 13, 0, 0" Width="3" Height="3" Fill="Black"/>
|
||||||
|
<Ellipse Margin="14, 4, 0, 0" Width="3" Height="3" Fill="Black"/>
|
||||||
|
</Canvas.Children>
|
||||||
|
</Canvas>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
|
||||||
</ResourceDictionary>
|
</ResourceDictionary>
|
||||||
@@ -1,10 +1,12 @@
|
|||||||
using StructureHelper.Infrastructure;
|
using StructureHelper.Infrastructure;
|
||||||
|
using StructureHelper.Infrastructure.Enums;
|
||||||
using StructureHelper.Windows.MainWindow.Analyses;
|
using StructureHelper.Windows.MainWindow.Analyses;
|
||||||
using StructureHelperCommon.Infrastructures.Exceptions;
|
using StructureHelperCommon.Infrastructures.Exceptions;
|
||||||
using StructureHelperCommon.Infrastructures.Interfaces;
|
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||||
using StructureHelperCommon.Infrastructures.Settings;
|
using StructureHelperCommon.Infrastructures.Settings;
|
||||||
using StructureHelperCommon.Models.Analyses;
|
using StructureHelperCommon.Models.Analyses;
|
||||||
using StructureHelperLogic.Models.Analyses;
|
using StructureHelperLogic.Models.Analyses;
|
||||||
|
using StructureHelperLogics.Models.Analyses;
|
||||||
using StructureHelperLogics.Models.CrossSections;
|
using StructureHelperLogics.Models.CrossSections;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@@ -36,7 +38,14 @@ namespace StructureHelper.Windows.MainWindow
|
|||||||
{
|
{
|
||||||
return addAnalyisCommand ??= new RelayCommand(obj =>
|
return addAnalyisCommand ??= new RelayCommand(obj =>
|
||||||
{
|
{
|
||||||
AddCrossSectionNdmAnalysis();
|
if (obj is AnalysisTypes.CrossSection)
|
||||||
|
{
|
||||||
|
AddCrossSectionNdmAnalysis();
|
||||||
|
}
|
||||||
|
else if (obj is AnalysisTypes.BeamShear)
|
||||||
|
{
|
||||||
|
AddBeamShearAnalysis();
|
||||||
|
}
|
||||||
Refresh();
|
Refresh();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -181,7 +190,7 @@ namespace StructureHelper.Windows.MainWindow
|
|||||||
}
|
}
|
||||||
private void AddCrossSectionNdmAnalysis()
|
private void AddCrossSectionNdmAnalysis()
|
||||||
{
|
{
|
||||||
var analysis = new CrossSectionNdmAnalysis();
|
CrossSectionNdmAnalysis analysis = new();
|
||||||
analysis.Name = "New NDM Analysis";
|
analysis.Name = "New NDM Analysis";
|
||||||
analysis.Tags = "#New group";
|
analysis.Tags = "#New group";
|
||||||
var visualAnalysis = new VisualAnalysis(analysis);
|
var visualAnalysis = new VisualAnalysis(analysis);
|
||||||
@@ -189,6 +198,16 @@ namespace StructureHelper.Windows.MainWindow
|
|||||||
ProgramSetting.SetCurrentProjectToNotActual();
|
ProgramSetting.SetCurrentProjectToNotActual();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void AddBeamShearAnalysis()
|
||||||
|
{
|
||||||
|
BeamShearAnalysis analysis = new(Guid.NewGuid());
|
||||||
|
analysis.Name = "New Beam Shear Analysis";
|
||||||
|
analysis.Tags = "#New group";
|
||||||
|
VisualAnalysis visualAnalysis = new(analysis);
|
||||||
|
ProgramSetting.CurrentProject.VisualAnalyses.Add(visualAnalysis);
|
||||||
|
ProgramSetting.SetCurrentProjectToNotActual();
|
||||||
|
}
|
||||||
|
|
||||||
private void ActionToRun()
|
private void ActionToRun()
|
||||||
{
|
{
|
||||||
if (SelectedAnalysis is null) { return; }
|
if (SelectedAnalysis is null) { return; }
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:local="clr-namespace:StructureHelper.Windows.MainWindow"
|
xmlns:local="clr-namespace:StructureHelper.Windows.MainWindow"
|
||||||
|
xmlns:enums="clr-namespace:StructureHelper.Infrastructure.Enums"
|
||||||
xmlns:uc="clr-namespace:StructureHelper.Windows.UserControls"
|
xmlns:uc="clr-namespace:StructureHelper.Windows.UserControls"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
d:DataContext="{d:DesignInstance local:AnalysesManagerViewModel}"
|
d:DataContext="{d:DesignInstance local:AnalysesManagerViewModel}"
|
||||||
@@ -51,7 +52,7 @@
|
|||||||
</Button>
|
</Button>
|
||||||
</ToolBar>
|
</ToolBar>
|
||||||
<ToolBar ToolTip="Cross-sections">
|
<ToolBar ToolTip="Cross-sections">
|
||||||
<Button Style="{DynamicResource ToolButton}" Command="{Binding AnalysesLogic.AddAnalysisCommand}">
|
<Button Style="{DynamicResource ToolButton}" Command="{Binding AnalysesLogic.AddAnalysisCommand}" CommandParameter="{x:Static enums:AnalysisTypes.CrossSection}">
|
||||||
<Button.ToolTip>
|
<Button.ToolTip>
|
||||||
<uc:ButtonToolTipEh HeaderText="NDM Cross-Section Analysis"
|
<uc:ButtonToolTipEh HeaderText="NDM Cross-Section Analysis"
|
||||||
IconContent="{StaticResource NdmCrossSection}"
|
IconContent="{StaticResource NdmCrossSection}"
|
||||||
@@ -61,6 +62,16 @@
|
|||||||
<ContentControl ContentTemplate="{DynamicResource NdmCrossSection}"/>
|
<ContentControl ContentTemplate="{DynamicResource NdmCrossSection}"/>
|
||||||
</Viewbox>
|
</Viewbox>
|
||||||
</Button>
|
</Button>
|
||||||
|
<Button Style="{DynamicResource ToolButton}" Command="{Binding AnalysesLogic.AddAnalysisCommand}" CommandParameter="{x:Static enums:AnalysisTypes.BeamShear}">
|
||||||
|
<Button.ToolTip>
|
||||||
|
<uc:ButtonToolTipEh HeaderText="Beam shear Analysis"
|
||||||
|
IconContent="{StaticResource BeamShear}"
|
||||||
|
DescriptionText="Extended analysis of end of reinforced concrete beams for shear strength"/>
|
||||||
|
</Button.ToolTip>
|
||||||
|
<Viewbox>
|
||||||
|
<ContentControl ContentTemplate="{StaticResource BeamShear}"/>
|
||||||
|
</Viewbox>
|
||||||
|
</Button>
|
||||||
</ToolBar>
|
</ToolBar>
|
||||||
</ToolBarTray>
|
</ToolBarTray>
|
||||||
<Grid>
|
<Grid>
|
||||||
|
|||||||
@@ -24,63 +24,60 @@ namespace StructureHelper.Windows.MainWindow.Materials
|
|||||||
public partial class HeadMaterialView : Window
|
public partial class HeadMaterialView : Window
|
||||||
{
|
{
|
||||||
IHeadMaterial headMaterial;
|
IHeadMaterial headMaterial;
|
||||||
HeadMaterialViewModel vm;
|
HeadMaterialViewModel viewModel;
|
||||||
|
Dictionary<string, Binding> bindings = new();
|
||||||
|
IHelperMaterial helperMaterial;
|
||||||
|
string templateName;
|
||||||
|
|
||||||
|
public HeadMaterialView(HeadMaterialViewModel viewModel)
|
||||||
|
{
|
||||||
|
this.viewModel = viewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public HeadMaterialView(IHeadMaterial headMaterial)
|
public HeadMaterialView(IHeadMaterial headMaterial)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
this.headMaterial = headMaterial;
|
this.headMaterial = headMaterial;
|
||||||
vm = new HeadMaterialViewModel(this.headMaterial)
|
helperMaterial = this.headMaterial.HelperMaterial;
|
||||||
|
viewModel = new HeadMaterialViewModel(this.headMaterial)
|
||||||
{
|
{
|
||||||
ParentWindow = this
|
ParentWindow = this
|
||||||
};
|
};
|
||||||
DataContext = vm;
|
DataContext = viewModel;
|
||||||
AddDataTemplates();
|
AddDataTemplates();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddDataTemplates()
|
private void AddDataTemplates()
|
||||||
{
|
{
|
||||||
StpMaterialProperties.Children.Clear();
|
StpMaterialProperties.Children.Clear();
|
||||||
var bindings = new Dictionary<string, Binding>();
|
GetByndingsByMaterial();
|
||||||
var helperMaterial = headMaterial.HelperMaterial;
|
SetContentControls();
|
||||||
string templateName;
|
}
|
||||||
|
|
||||||
|
private void GetByndingsByMaterial()
|
||||||
|
{
|
||||||
if (helperMaterial is IConcreteLibMaterial)
|
if (helperMaterial is IConcreteLibMaterial)
|
||||||
{
|
{
|
||||||
templateName = "ConcreteMaterial";
|
SetConcreteLibraryMaterial();
|
||||||
var binding = new Binding();
|
|
||||||
binding.Source = vm.HelperMaterialViewModel;
|
|
||||||
bindings.Add(templateName, binding);
|
|
||||||
}
|
}
|
||||||
else if (helperMaterial is IReinforcementLibMaterial)
|
else if (helperMaterial is IReinforcementLibMaterial)
|
||||||
{
|
{
|
||||||
templateName = "ReinforcementMaterial";
|
SetReinForcementLibraryMaterial();
|
||||||
var binding = new Binding();
|
|
||||||
binding.Source = vm.HelperMaterialViewModel;
|
|
||||||
bindings.Add(templateName, binding);
|
|
||||||
}
|
}
|
||||||
else if (helperMaterial is IElasticMaterial)
|
else if (helperMaterial is IElasticMaterial)
|
||||||
{
|
{
|
||||||
templateName = "ElasticMaterial";
|
SetElasticMaterial();
|
||||||
var binding = new Binding();
|
|
||||||
binding.Source = vm.HelperMaterialViewModel;
|
|
||||||
bindings.Add(templateName, binding);
|
|
||||||
if (helperMaterial is IFRMaterial)
|
|
||||||
{
|
|
||||||
templateName = "CarbonProperties";
|
|
||||||
var carbonBinding = new Binding();
|
|
||||||
carbonBinding.Source = vm.HelperMaterialViewModel as FRViewModel;
|
|
||||||
bindings.Add(templateName, carbonBinding);
|
|
||||||
}
|
|
||||||
templateName = "DirectSafetyFactors";
|
|
||||||
var frBinding = new Binding();
|
|
||||||
frBinding.Source = (vm.HelperMaterialViewModel as ElasticViewModel).SafetyFactors;
|
|
||||||
bindings.Add(templateName, frBinding);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknown + $". Expected: {typeof(IHelperMaterial)}, but was: {helperMaterial.GetType()}");
|
string errorString = ErrorStrings.ObjectTypeIsUnknown + $". Expected: {typeof(IHelperMaterial)}, but was: {helperMaterial.GetType()}";
|
||||||
|
throw new StructureHelperException(errorString);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetContentControls()
|
||||||
|
{
|
||||||
foreach (var item in bindings)
|
foreach (var item in bindings)
|
||||||
{
|
{
|
||||||
ContentControl contentControl = new ContentControl();
|
ContentControl contentControl = new ContentControl();
|
||||||
@@ -89,5 +86,37 @@ namespace StructureHelper.Windows.MainWindow.Materials
|
|||||||
StpMaterialProperties.Children.Add(contentControl);
|
StpMaterialProperties.Children.Add(contentControl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private void SetElasticMaterial()
|
||||||
|
{
|
||||||
|
templateName = "ElasticMaterial";
|
||||||
|
var binding = new Binding();
|
||||||
|
binding.Source = viewModel.HelperMaterialViewModel;
|
||||||
|
bindings.Add(templateName, binding);
|
||||||
|
if (helperMaterial is IFRMaterial)
|
||||||
|
{
|
||||||
|
templateName = "CarbonProperties";
|
||||||
|
var carbonBinding = new Binding();
|
||||||
|
carbonBinding.Source = viewModel.HelperMaterialViewModel as FRViewModel;
|
||||||
|
bindings.Add(templateName, carbonBinding);
|
||||||
|
}
|
||||||
|
templateName = "DirectSafetyFactors";
|
||||||
|
var frBinding = new Binding();
|
||||||
|
frBinding.Source = (viewModel.HelperMaterialViewModel as ElasticViewModel).SafetyFactors;
|
||||||
|
bindings.Add(templateName, frBinding);
|
||||||
|
}
|
||||||
|
private void SetReinForcementLibraryMaterial()
|
||||||
|
{
|
||||||
|
templateName = "ReinforcementMaterial";
|
||||||
|
var binding = new Binding();
|
||||||
|
binding.Source = viewModel.HelperMaterialViewModel;
|
||||||
|
bindings.Add(templateName, binding);
|
||||||
|
}
|
||||||
|
private void SetConcreteLibraryMaterial()
|
||||||
|
{
|
||||||
|
templateName = "ConcreteMaterial";
|
||||||
|
var binding = new Binding();
|
||||||
|
binding.Source = viewModel.HelperMaterialViewModel;
|
||||||
|
bindings.Add(templateName, binding);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,15 @@
|
|||||||
using StructureHelper.Models.Materials;
|
using StructureHelper.Models.Materials;
|
||||||
using StructureHelper.Windows.AddMaterialWindow;
|
using StructureHelper.Windows.AddMaterialWindow;
|
||||||
using StructureHelperCommon.Infrastructures.Exceptions;
|
using StructureHelperCommon.Infrastructures.Exceptions;
|
||||||
using StructureHelperCommon.Models.Materials;
|
|
||||||
using StructureHelperCommon.Models.Materials.Libraries;
|
using StructureHelperCommon.Models.Materials.Libraries;
|
||||||
using StructureHelperCommon.Services.ColorServices;
|
using StructureHelperCommon.Services.ColorServices;
|
||||||
using StructureHelperLogics.Models.Materials;
|
using StructureHelperLogics.Models.Materials;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
|
|
||||||
namespace StructureHelper.Windows.ViewModels.Materials
|
namespace StructureHelper.Windows.ViewModels.Materials
|
||||||
{
|
{
|
||||||
internal class HeadMaterialViewModel : OkCancelViewModelBase
|
public class HeadMaterialViewModel : OkCancelViewModelBase
|
||||||
{
|
{
|
||||||
IHeadMaterial headMaterial;
|
IHeadMaterial headMaterial;
|
||||||
HelperMaterialViewModel helperMaterialViewModel;
|
HelperMaterialViewModel helperMaterialViewModel;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace StructureHelper.Windows.ViewModels.Materials
|
namespace StructureHelper.Windows.ViewModels.Materials
|
||||||
{
|
{
|
||||||
internal abstract class HelperMaterialViewModel : ViewModelBase
|
public abstract class HelperMaterialViewModel : ViewModelBase
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperCommon.Infrastructures.Interfaces
|
||||||
|
{
|
||||||
|
public interface IEffectiveDepth
|
||||||
|
{
|
||||||
|
double EffectiveDepth { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
using StructureHelperCommon.Models.Forces;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperCommon.Infrastructures.Interfaces
|
||||||
|
{
|
||||||
|
public interface IHasBeamShearActions
|
||||||
|
{
|
||||||
|
List<IBeamShearAction> BeamShearActions { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,9 +1,5 @@
|
|||||||
using StructureHelperCommon.Infrastructures.Interfaces;
|
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace StructureHelperCommon.Models.Forces
|
namespace StructureHelperCommon.Models.Forces
|
||||||
{
|
{
|
||||||
|
|||||||
13
StructureHelperCommon/Models/Forces/IBeamShearAction.cs
Normal file
13
StructureHelperCommon/Models/Forces/IBeamShearAction.cs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperCommon.Models.Forces
|
||||||
|
{
|
||||||
|
public interface IBeamShearAction : IAction
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
34
StructureHelperLogics/Models/Analyses/BeamShearAnalysis.cs
Normal file
34
StructureHelperLogics/Models/Analyses/BeamShearAnalysis.cs
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
using StructureHelperCommon.Models.Analyses;
|
||||||
|
using StructureHelperLogics.Models.BeamShears;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Media;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.Analyses
|
||||||
|
{
|
||||||
|
public class BeamShearAnalysis : IBeamShearAnalysis
|
||||||
|
{
|
||||||
|
|
||||||
|
public Guid Id { get; }
|
||||||
|
public string Name { get; set; } = string.Empty;
|
||||||
|
public string Tags { get; set; } = string.Empty;
|
||||||
|
public string Comment { get; set; } = string.Empty;
|
||||||
|
public Color Color { get; set; } = Color.FromRgb(128, 0, 0);
|
||||||
|
public IVersionProcessor VersionProcessor { get; set; } = new VersionProcessor();
|
||||||
|
public BeamShearAnalysis(Guid id)
|
||||||
|
{
|
||||||
|
Id = id;
|
||||||
|
BeamShear beamShear = new(Guid.NewGuid());
|
||||||
|
VersionProcessor.AddVersion(beamShear);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public object Clone()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
using StructureHelperCommon.Infrastructures.Exceptions;
|
||||||
|
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||||
|
using StructureHelperCommon.Models.Analyses;
|
||||||
|
using StructureHelperCommon.Services;
|
||||||
|
using StructureHelperLogics.Models.BeamShears;
|
||||||
|
using StructureHelperLogics.Models.CrossSections;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.Analyses
|
||||||
|
{
|
||||||
|
public class BeamShearAnalysisUpdateStrategy : IUpdateStrategy<IBeamShearAnalysis>
|
||||||
|
{
|
||||||
|
private IUpdateStrategy<IAnalysis> analysisUpdateStrategy;
|
||||||
|
private IUpdateStrategy<IBeamShear> beamShearUpdateStrategy;
|
||||||
|
private IUpdateStrategy<IDateVersion> dateUpdateStrategy;
|
||||||
|
|
||||||
|
public void Update(IBeamShearAnalysis targetObject, IBeamShearAnalysis sourceObject)
|
||||||
|
{
|
||||||
|
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject);
|
||||||
|
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject);
|
||||||
|
if (ReferenceEquals(targetObject, sourceObject)) { return; };
|
||||||
|
InitialzeStrategies();
|
||||||
|
analysisUpdateStrategy.Update(targetObject, sourceObject);
|
||||||
|
targetObject.VersionProcessor.Versions.Clear();
|
||||||
|
foreach (var version in sourceObject.VersionProcessor.Versions)
|
||||||
|
{
|
||||||
|
if (version is IBeamShear beamShear)
|
||||||
|
{
|
||||||
|
updateVersion(targetObject, version, beamShear);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknownObj(version.AnalysisVersion));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateVersion(IBeamShearAnalysis targetObject, IDateVersion version, IBeamShear beamShear)
|
||||||
|
{
|
||||||
|
DateVersion newVersion = new();
|
||||||
|
dateUpdateStrategy.Update(newVersion, version);
|
||||||
|
BeamShear newBeamShear = new(Guid.NewGuid());
|
||||||
|
beamShearUpdateStrategy.Update(newBeamShear, beamShear);
|
||||||
|
newVersion.AnalysisVersion = newBeamShear;
|
||||||
|
targetObject.VersionProcessor.Versions.Add(newVersion);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitialzeStrategies()
|
||||||
|
{
|
||||||
|
analysisUpdateStrategy ??= new AnalysisUpdateStrategy();
|
||||||
|
beamShearUpdateStrategy ??= new BeamShearUpdateStrategy();
|
||||||
|
dateUpdateStrategy ??= new DateVersionUpdateStrategy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -30,7 +30,7 @@ namespace StructureHelperLogic.Models.Analyses
|
|||||||
|
|
||||||
public CrossSectionNdmAnalysis() : this(Guid.NewGuid(), new VersionProcessor())
|
public CrossSectionNdmAnalysis() : this(Guid.NewGuid(), new VersionProcessor())
|
||||||
{
|
{
|
||||||
CrossSection crossSection = new CrossSection();
|
CrossSection crossSection = new();
|
||||||
VersionProcessor.AddVersion(crossSection);
|
VersionProcessor.AddVersion(crossSection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
13
StructureHelperLogics/Models/Analyses/IBeamShearAnalysis.cs
Normal file
13
StructureHelperLogics/Models/Analyses/IBeamShearAnalysis.cs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
using StructureHelperCommon.Models.Analyses;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.Analyses
|
||||||
|
{
|
||||||
|
public interface IBeamShearAnalysis : IAnalysis
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
using StructureHelperCommon.Models;
|
||||||
|
using StructureHelperCommon.Models.Loggers;
|
||||||
|
using StructureHelperCommon.Services;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
//Copyright (c) 2025 Redikultsev Evgeny, Ekaterinburg, Russia
|
||||||
|
//All rights reserved.
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
public class BeamSheaStrengthByStirrupDensity : IBeamShearStrenghLogic
|
||||||
|
{
|
||||||
|
private readonly IStirrupEffectiveness stirrupEffectiveness;
|
||||||
|
private readonly IStirrupByDensity stirrupByDensity;
|
||||||
|
private readonly IInclinedSection inclinedSection;
|
||||||
|
|
||||||
|
|
||||||
|
public BeamSheaStrengthByStirrupDensity(
|
||||||
|
IStirrupEffectiveness stirrupEffectiveness,
|
||||||
|
IStirrupByDensity stirrupByDensity,
|
||||||
|
IInclinedSection inclinedSection,
|
||||||
|
IShiftTraceLogger? traceLogger)
|
||||||
|
{
|
||||||
|
this.stirrupEffectiveness = stirrupEffectiveness;
|
||||||
|
this.stirrupByDensity = stirrupByDensity;
|
||||||
|
this.inclinedSection = inclinedSection;
|
||||||
|
TraceLogger = traceLogger;
|
||||||
|
}
|
||||||
|
|
||||||
|
public IShiftTraceLogger? TraceLogger { get; set; }
|
||||||
|
|
||||||
|
public double GetShearStrength()
|
||||||
|
{
|
||||||
|
Check();
|
||||||
|
TraceLogger?.AddMessage(LoggerStrings.LogicType(this), TraceLogStatuses.Service);
|
||||||
|
TraceLogger?.AddMessage("Calculation has been started", TraceLogStatuses.Debug);
|
||||||
|
double crackLength = inclinedSection.EndCoord - inclinedSection.StartCoord;
|
||||||
|
TraceLogger?.AddMessage($"Length of crack = {inclinedSection.EndCoord} - {inclinedSection.StartCoord} = {crackLength}(m)");
|
||||||
|
double maxCrackLength = stirrupEffectiveness.MaxCrackLengthFactor * inclinedSection.EffectiveDepth;
|
||||||
|
TraceLogger?.AddMessage($"Max length of crack = {stirrupEffectiveness.MaxCrackLengthFactor} * {inclinedSection.EffectiveDepth} = {maxCrackLength}(m)");
|
||||||
|
double finalCrackLength = Math.Min(crackLength, maxCrackLength);
|
||||||
|
TraceLogger?.AddMessage($"Length of crack = Min({crackLength}, {maxCrackLength}) = {finalCrackLength}(m)");
|
||||||
|
double strength = stirrupEffectiveness.StirrupShapeFactor * stirrupEffectiveness.StirrupPlacementFactor * finalCrackLength * stirrupByDensity.StirrupDensity;
|
||||||
|
TraceLogger?.AddMessage($"Bearing capacity of stirrups V = {stirrupEffectiveness.StirrupShapeFactor} * {stirrupEffectiveness.StirrupPlacementFactor} * {finalCrackLength} * {stirrupByDensity.StirrupDensity} = {strength}(N)");
|
||||||
|
TraceLogger?.AddMessage("Calculation has been finished successfully", TraceLogStatuses.Debug);
|
||||||
|
return strength;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Check()
|
||||||
|
{
|
||||||
|
CheckObject.IsNull(stirrupByDensity);
|
||||||
|
CheckObject.IsNull(inclinedSection);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
24
StructureHelperLogics/Models/BeamShears/BeamShear.cs
Normal file
24
StructureHelperLogics/Models/BeamShears/BeamShear.cs
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
public class BeamShear : IBeamShear
|
||||||
|
{
|
||||||
|
|
||||||
|
public Guid Id { get; }
|
||||||
|
public IBeamShearRepository Repository { get; } = new BeamShearRepository(Guid.NewGuid());
|
||||||
|
public BeamShear(Guid id)
|
||||||
|
{
|
||||||
|
Id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public object Clone()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
using StructureHelperCommon.Models.Calculators;
|
||||||
|
using StructureHelperCommon.Models.Forces;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
public class BeamShearRepository : IBeamShearRepository
|
||||||
|
{
|
||||||
|
|
||||||
|
public Guid Id { get; }
|
||||||
|
|
||||||
|
public List<IBeamShearAction> BeamShearActions { get; }
|
||||||
|
|
||||||
|
public List<ICalculator> Calculators { get; }
|
||||||
|
|
||||||
|
public BeamShearRepository(Guid id)
|
||||||
|
{
|
||||||
|
Id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public object Clone()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
public class BeamShearUpdateStrategy : IUpdateStrategy<IBeamShear>
|
||||||
|
{
|
||||||
|
public void Update(IBeamShear targetObject, IBeamShear sourceObject)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
14
StructureHelperLogics/Models/BeamShears/IBeamShear.cs
Normal file
14
StructureHelperLogics/Models/BeamShears/IBeamShear.cs
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
public interface IBeamShear : ISaveable, ICloneable
|
||||||
|
{
|
||||||
|
IBeamShearRepository Repository { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||||
|
using StructureHelperCommon.Models.Calculators;
|
||||||
|
using StructureHelperCommon.Models.Forces;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
public interface IBeamShearRepository : ISaveable, IHasBeamShearActions, IHasCalculators, ICloneable
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Implement logic for calculation of bearing capacity of inclined section for shear
|
||||||
|
/// </summary>
|
||||||
|
public interface IBeamShearStrenghLogic : ILogic
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Returns Bearing capacity of inclined section for shear
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>Bearing capacity of inclined section for shear, N</returns>
|
||||||
|
double GetShearStrength();
|
||||||
|
}
|
||||||
|
}
|
||||||
15
StructureHelperLogics/Models/BeamShears/IInclinedSection.cs
Normal file
15
StructureHelperLogics/Models/BeamShears/IInclinedSection.cs
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
public interface IInclinedSection : IEffectiveDepth
|
||||||
|
{
|
||||||
|
double StartCoord { get; set; }
|
||||||
|
double EndCoord { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
17
StructureHelperLogics/Models/BeamShears/IStirrup.cs
Normal file
17
StructureHelperLogics/Models/BeamShears/IStirrup.cs
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Implement properties of stirrups
|
||||||
|
/// </summary>
|
||||||
|
public interface IStirrup : ISaveable, ICloneable
|
||||||
|
{
|
||||||
|
string Name { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
19
StructureHelperLogics/Models/BeamShears/IStirrupByDensity.cs
Normal file
19
StructureHelperLogics/Models/BeamShears/IStirrupByDensity.cs
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Implement logic for calculation of bearing capacity of stirrups by value of their density
|
||||||
|
/// </summary>
|
||||||
|
public interface IStirrupByDensity : IStirrup
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Direct density of stirrups, N/m
|
||||||
|
/// </summary>
|
||||||
|
double StirrupDensity { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Implement logic for stirrup bearing capacity which does not depend on specific inclined section
|
||||||
|
/// </summary>
|
||||||
|
public interface IStirrupByDirectValue : IStirrup
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Direct value of bearing capacity which is applied for any inclined section, N
|
||||||
|
/// </summary>
|
||||||
|
double BearingCapacityValue { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
17
StructureHelperLogics/Models/BeamShears/IStirrupByRebar.cs
Normal file
17
StructureHelperLogics/Models/BeamShears/IStirrupByRebar.cs
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
using StructureHelperLogics.Models.Materials;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
public interface IStirrupByRebar : IStirrup
|
||||||
|
{
|
||||||
|
IReinforcementLibMaterial ReinforcementMaterial { get; set; }
|
||||||
|
double LegCount { get; set; }
|
||||||
|
double Diameter { get; set; }
|
||||||
|
double Step { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
public interface IStirrupEffectiveness
|
||||||
|
{
|
||||||
|
double MaxCrackLengthFactor { get; set; }
|
||||||
|
double StirrupShapeFactor { get; set; }
|
||||||
|
double StirrupPlacementFactor { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
13
StructureHelperLogics/Models/BeamShears/IStirrupGroup.cs
Normal file
13
StructureHelperLogics/Models/BeamShears/IStirrupGroup.cs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
public interface IStirrupGroup : IStirrup
|
||||||
|
{
|
||||||
|
List<IStirrup> Stirrups { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
15
StructureHelperLogics/Models/BeamShears/InclinedSection.cs
Normal file
15
StructureHelperLogics/Models/BeamShears/InclinedSection.cs
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
public class InclinedSection : IInclinedSection
|
||||||
|
{
|
||||||
|
public double StartCoord { get; set; }
|
||||||
|
public double EndCoord { get; set; }
|
||||||
|
public double EffectiveDepth { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
25
StructureHelperLogics/Models/BeamShears/StirrupByDensity.cs
Normal file
25
StructureHelperLogics/Models/BeamShears/StirrupByDensity.cs
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
public class StirrupByDensity : IStirrupByDensity
|
||||||
|
{
|
||||||
|
public Guid Id { get; }
|
||||||
|
public string Name { get; set; } = string.Empty;
|
||||||
|
public double StirrupDensity { get; set; }
|
||||||
|
|
||||||
|
public StirrupByDensity(Guid id)
|
||||||
|
{
|
||||||
|
Id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public object Clone()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
public class StirrupByDirectValue : IStirrupByDirectValue
|
||||||
|
{
|
||||||
|
public Guid Id { get; }
|
||||||
|
public string Name { get; set; }
|
||||||
|
public double BearingCapacityValue { get; set; }
|
||||||
|
|
||||||
|
public object Clone()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
26
StructureHelperLogics/Models/BeamShears/StirrupGroup.cs
Normal file
26
StructureHelperLogics/Models/BeamShears/StirrupGroup.cs
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StructureHelperLogics.Models.BeamShears
|
||||||
|
{
|
||||||
|
public class StirrupGroup : IStirrupGroup
|
||||||
|
{
|
||||||
|
public Guid Id { get; }
|
||||||
|
public string Name { get; set; }
|
||||||
|
public List<IStirrup> Stirrups { get; } = new();
|
||||||
|
|
||||||
|
public double GetShearBearingCapacity(IInclinedSection inclinedSection)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public object Clone()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user