Version 0.6.0 |
[This is preliminary documentation and is subject to change.]
This version has been released on 2019-08-19.
In general, validation for all objects has been added and it's now impossible to do anything with an AnalysisModel which is not valid (All import & export operations are blocked for invalid models.)
Updated FluentValidation dependency to version 8.4.0
Added dependency on SimpleInjector, version 4.4.2
Added AnalysisDataModelBootstrapper and AnalysisDataModelRegistrations objects to facilitate bootstrapping the ADM module in other modules using SimpleInjector (e.g. Excel, BIM+, 3rd party..)
ValidationState: List of supported validation states of an object in an AnalysisModel
AnalysisObjectIdentifier: Used to identify an object in a validation context
All implementations of IAnalysisObject that have properties which were only settable by their constructors, have had their setters been made publicly available. (they used to be private)
This allows you to directly change those properties on an object.
In return, this will invalidate the object in the model to which it's been added. (if applicable)
As a result, the validation state of the object will then become 'Pending' and it will force you to re-validate the model before doing anything else with it.
If you want to change the name or ID of an object, you'll have to copy the object (i.e. create a new object but with a different ID or name). This is due to how everything works internally (IDs & names have to be unique, they are being used as keys etc)
StructuralMaterial: Updated IEquatable implementation to compare UnitMass, EModulus and GModulus properties using absolute comparison with a difference of 1E-6
StructuralCurveActionAbstractTDirection, TValue: Updated IEquatable implementation to compare Value1, Value2, StartPointAbsolute, EndPointAbsolute, EccentricityEy and EccentricityEz properties using absolute comparison with a difference of 1E-6
StructuralCurveActionFree: Updated IEquatable implementation to compare Value1, Value2, ValidityFrom and ValidityTo properties using absolute comparison with a difference of 1E-6
StructuralPointActionFree: Updated IEquatable implementation to compare Value, X, Y, Z, ValidityFrom and ValidityTo properties using absolute comparison with a difference of 1E-6
StructuralSurfaceAction: Updated IEquatable implementation to compare Value property using absolute comparison with a difference of 1E-6
StructuralAnalysisObjectBase: Added implementation of INotifyPropertyChanged - This will cause the object to invalidate itself when any property is changed.
AnalysisModel: Added IsModelValid
Result1DBase: Added ResultType property to help identifying which kind of result it is when working with results in an abstracted manner
Magnitude1DBase: Created this object to facilitate working with magnitudes in an abstract manner. All existing 1D magnitudes now inherit from this base class
Result0DBase: Added ResultType property to help identifying which kind of result it is when working with results in an abstract manner
ResultBase: LoadTypeDescription is now "Not specified" by default
RelConnectsSurfaceEdge: Updated IEquatable implementation to compare StartPointAbsolute and EndPointAbsolute properties using absolute comparison with a difference of 1E-6
StructuralCurveMemberRib: WidthLeftForCheckLength, WidthRightForCheckLength, WidthLeftForForcesLength and WidthRightForForcesLength properties now have a default value of 500 millimeters
StructuralCurveMemberRib: Updated IEquatable implementation to compare WidthLeftForCheckLength, WidthRightForCheckLength, WidthLeftForForcesLength, WidthRightForForcesLength, and Length properties using absolute comparison with a difference of 1E-6
StructuralEdgeConnection: Updated IEquatable implementation to compare StartPointAbsolute and EndPointAbsolute properties using absolute comparison with a difference of 1E-6
StructuralSurfaceMemberRegion: Updated IEquatable implementation to compare Thickness and EccentricityEz properties using absolute comparison with a difference of 1E-6
MemberThicknessTPoint: Changed ThicknessSecond property to be nullable
MemberThicknessTPoint: Updated IEquatable implementation to compare ThicknessFirst, ThicknessSecond and ThicknessThird properties using absolute comparison with a difference of 1E-6
Subsoil: Description is an empty string by default, instead of NULL. It was causing issues with the UniqueName property
IAnalysisModelService: Service used to manipulate a AnalysisModel
IAnalysisModelValidator: Service used to validate a AnalysisModel or an IAnalysisObject