-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathParametersGeneric.cs
76 lines (64 loc) · 2.88 KB
/
ParametersGeneric.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
using System;
using Oasys.AdSec;
using Oasys.AdSec.DesignCode;
using Oasys.AdSec.Mesh;
using Oasys.Profiles;
using OasysUnits;
namespace AdSecCore.Functions {
public class SectionDesign {
public ISection Section { get; set; }
public IDesignCode DesignCode { get; set; }
public string CodeName { get; set; }
public string MaterialName { get; set; }
public OasysPlane LocalPlane { get; set; } = OasysPlane.PlaneYZ;
}
public class OasysPlane {
public static readonly OasysPlane PlaneYZ = new OasysPlane {
Origin = new OasysPoint { X = 0, Y = 0, Z = 0, },
XAxis = new OasysPoint { X = 0, Y = 1, Z = 0, },
YAxis = new OasysPoint { X = 0, Y = 0, Z = 1, },
};
public OasysPoint Origin { get; set; }
public OasysPoint XAxis { get; set; }
public OasysPoint YAxis { get; set; }
}
public class OasysPoint {
public double X { get; set; }
public double Y { get; set; }
public double Z { get; set; }
}
public class SectionSolution {
public ISolution Solution { get; set; }
public SectionDesign SectionDesign { get; set; } = new SectionDesign();
public IStrength Strength => Solution.Strength;
public IServiceability Serviceability => Solution.Serviceability;
}
public class CrackLoad {
public ICrack Load { get; set; }
public OasysPlane Plane { get; set; } = OasysPlane.PlaneYZ;
}
public class DoubleParameter : ParameterAttribute<double> { }
public class DoubleArrayParameter : BaseArrayParameter<double> { }
public class IntegerArrayParameter : BaseArrayParameter<int> { }
public class SectionParameter : ParameterAttribute<SectionDesign> { }
public class PointArrayParameter : BaseArrayParameter<IPoint> { }
public class PointParameter : ParameterAttribute<IPoint> { }
public class StringArrayParam : BaseArrayParameter<string> { }
public class StringParameter : ParameterAttribute<string> { }
public class LengthParameter : ParameterAttribute<Length> { }
public class SectionSolutionParameter : ParameterAttribute<SectionSolution> { }
public class LoadSurfaceParameter : ParameterAttribute<ILoadSurface> { }
public class SubComponentParameter : ParameterAttribute<SubComponent> { }
public class SubComponent {
public ISubComponent ISubComponent { get; set; }
public SectionDesign SectionDesign { get; set; } = new SectionDesign();
}
public class IntegerParameter : ParameterAttribute<int> { }
public class LoadParameter : ParameterAttribute<ILoad> { }
public class CrackParameter : ParameterAttribute<CrackLoad> { }
public class DeformationParameter : ParameterAttribute<IDeformation> { }
public class GenericParameter : ParameterAttribute<object> { }
public class CrackArrayParameter : BaseArrayParameter<CrackLoad> { }
public class SecantStiffnessParameter : ParameterAttribute<IStiffness> { }
public class IntervalArrayParameter : BaseArrayParameter<Tuple<double, double>> { }
}