Click or drag to resize

StructuralSurfaceMemberOpening Class

[This is preliminary documentation and is subject to change.]

Defines an opening in a StructuralSurfaceMember
Inheritance Hierarchy
SystemObject
  ModelExchanger.AnalysisDataModel.BaseStructuralAnalysisObjectBase
    ModelExchanger.AnalysisDataModel.StructuralElementsStructuralSurfaceMemberOpening

Namespace:  ModelExchanger.AnalysisDataModel.StructuralElements
Assembly:  ModelExchanger.AnalysisDataModel (in ModelExchanger.AnalysisDataModel.dll) Version: 1.13.0+Branch.master.Sha.d583fc64569355d188a9c0818d257b6d0d3e1339
Syntax
C#
public sealed class StructuralSurfaceMemberOpening : StructuralAnalysisObjectBase, 
	IEquatable<StructuralSurfaceMemberOpening>, IStructuralElementAnalysisObject, IStructuralAnalysisObject, IAnalysisObject, 
	IHasArea, IHasParentId

The StructuralSurfaceMemberOpening type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyArea
The area of the member The application providing the ModelExchanger.AnalysisDataModel should calculate this field.
Public propertyEdges
Public propertyId
The ID of the Analysis object. Needs to be unique within the entire model
(Inherited from StructuralAnalysisObjectBase.)
Public propertyMember2D
The StructuralSurfaceMember in which the opening is placed
Public propertyName
The name of the Analysis object. Needs to be unique within it's type
(Inherited from StructuralAnalysisObjectBase.)
Public propertyParentId
The ID of the parent object of the same type
Top
Methods
  NameDescription
Public methodEquals(Object)
Check if this object is the same as the provided object.
(Overrides StructuralAnalysisObjectBaseEquals(Object).)
Public methodEquals(StructuralAnalysisObjectBase)
Check if this object is the same as the provided object.
(Inherited from StructuralAnalysisObjectBase.)
Public methodEquals(StructuralSurfaceMemberOpening)
Indicates whether the current object is equal to another object of the same type.
Public methodGetHashCode
Retrieves the hashcode of the object
(Overrides StructuralAnalysisObjectBaseGetHashCode.)
Top
Events
  NameDescription
Public eventPropertyChanged (Inherited from StructuralAnalysisObjectBase.)
Top
Extension Methods
  NameDescription
Public Extension MethodToObjectIdentifier
Converts the provided IAnalysisObject into an AnalysisObjectIdentifier
(Defined by IAnalysisObjectExtensions.)
Top
Examples
Creating an instance
using System;
using System.Collections.Generic;
using System.Linq;
using ModelExchanger.AnalysisDataModel.Enums;
using ModelExchanger.AnalysisDataModel.Models;
using ModelExchanger.AnalysisDataModel.StructuralElements;
using ModelExchanger.AnalysisDataModel.Subtypes;

namespace ModelExchanger.AnalysisDataModel.Example.StructuralElements
{
    public sealed class StructuralSurfaceMemberOpeningExample : BaseExample<StructuralSurfaceMemberOpening>
    {
        protected override IReadOnlyCollection<StructuralSurfaceMemberOpening> CreateAnalysisObjects(AnalysisModel model)
        {
            IReadOnlyDictionary<string, StructuralSurfaceMember> surfaces = model.OfType<StructuralSurfaceMember>().ToDictionary(surface => surface.Name, surface => surface);
            IReadOnlyDictionary<string, StructuralPointConnection> nodes = model.OfType<StructuralPointConnection>().ToDictionary(node => node.Name, node => node);

            return new[]
            {
                new StructuralSurfaceMemberOpening(Guid.NewGuid(), "O1", surfaces["S7"], new []
                {
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N48"], nodes["N49"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N49"], nodes["N50"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N50"], nodes["N51"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N51"], nodes["N48"] })
                }),
                new StructuralSurfaceMemberOpening(Guid.NewGuid(), "O2", surfaces["S7"], new []
                {
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Arc3P, new []{ nodes["N52"], nodes["N93"], nodes["N53"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N53"], nodes["N54"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N54"], nodes["N55"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N55"], nodes["N52"] })
                }),
                new StructuralSurfaceMemberOpening(Guid.NewGuid(), "O3", surfaces["S7"], new []
                {
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N56"], nodes["N57"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N57"], nodes["N58"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N58"], nodes["N59"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N59"], nodes["N56"] })
                }),
                new StructuralSurfaceMemberOpening(Guid.NewGuid(), "O4", surfaces["S1"], new []
                {
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N66"], nodes["N67"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N67"], nodes["N68"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N68"], nodes["N69"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N69"], nodes["N66"] })
                }),
                new StructuralSurfaceMemberOpening(Guid.NewGuid(), "O5", surfaces["S3"], new []
                {
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N70"], nodes["N71"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N71"], nodes["N72"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N72"], nodes["N73"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N73"], nodes["N70"] })
                }),
                new StructuralSurfaceMemberOpening(Guid.NewGuid(), "O6", surfaces["S1v"], new []
                {
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N99"], nodes["N100"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N100"], nodes["N101"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N101"], nodes["N102"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N102"], nodes["N99"] })
                }),
                new StructuralSurfaceMemberOpening(Guid.NewGuid(), "O7", surfaces["S1v"], new []
                {
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N103"], nodes["N104"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N104"], nodes["N105"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N105"], nodes["N106"] }),
                    new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N106"], nodes["N103"] })
                }),
            };
        }
    }
}
See Also