using StructureHelperLogics.Models.Materials; using StructureHelperCommon.Models.Shapes; using StructureHelper.Models.Materials; using System.Collections; using LoaderCalculator.Data.Ndms; using LoaderCalculator.Data.Materials; using System.Collections.Generic; using StructureHelperCommon.Infrastructures.Interfaces; using System; using StructureHelperCommon.Models.Forces; using StructureHelperLogics.Models.CrossSections; using StructureHelperLogics.NdmCalculations.Triangulations; using StructureHelperCommon.Models.Parameters; namespace StructureHelperLogics.NdmCalculations.Primitives { /// /// Geometrical primitive which generates ndm elemtntary part /// public interface INdmPrimitive : ISaveable, ICloneable { /// /// Name of primitive /// string? Name { get; set; } /// /// Base point of primitive /// IPoint2D Center { get; } /// /// Host cross-section for primitive /// ICrossSection? CrossSection { get; set; } /// /// Material of primitive /// IHeadMaterial? HeadMaterial { get; set; } /// /// Flag of triangulation /// bool Triangulate { get; set; } /// /// Prestrain assigned from user /// StrainTuple UsersPrestrain { get; } /// /// Prestrain assigned from calculations /// StrainTuple AutoPrestrain { get; } /// /// Visual settings /// IVisualProperty VisualProperty {get; } IEnumerable GetNdms(ITriangulationOptions triangulationOptions); List GetValuePoints(); } }