    

 ## On this page

  

 

 # Class BeamInfo

 Last update: 16.07.2025 

Namespace: [VM.Managed.DAFUL.Beam](VM.Managed.DAFUL.Beam.md)  
Assembly: VMDBeamGroup.dll

Beam Information Class Beam Group have several beam information classes

```csharp
public class BeamInfo : LinkContainer, IObservableObject, IDisposableObject, ILinkable, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, ILinkContainerEvent, IVerifiable

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← LinkContainer ← [BeamInfo](VM.Managed.DAFUL.Beam.BeamInfo.md)

#### Implements

IObservableObject, IDisposableObject, ILinkable, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, ILinkContainerEvent, IVerifiable

#### Inherited Members

LinkContainer.SetModified(), LinkContainer.raise\_OnUpdating(object, LinkEventArgs), LinkContainer.raise\_OnUpdate(object, LinkEventArgs), LinkContainer.raise\_OnDestroying(object, LinkEventArgs), LinkContainer.raise\_OnDestroy(object, LinkEventArgs), LinkContainer.raise\_OnAdded(object, AddToDocEventArgs), LinkContainer.raise\_OnRemoved(object, RemoveFromDocEventArgs), LinkContainer.GetTargetListForUpdate(), LinkContainer.SkipUpdateObjectImpl(), LinkContainer.Initialize(Unit.ConvertFactor), LinkContainer.SetFlagWhenXMLFile(string, bool), LinkContainer.IsSerializableEvent(Delegate), LinkContainer.CustomGetObjectData(SerializationInfo, StreamingContext), LinkContainer.GetSerializedData(SerializationInfo, StreamingContext), LinkContainer.LinkRequestUpdating(object, LinkEventArgs), LinkContainer.LinkRequestUpdate(object, LinkEventArgs), LinkContainer.LinkRequestDestroying(object, LinkEventArgs), LinkContainer.LinkRequestDestroy(object, LinkEventArgs), LinkContainer.LinkAddedToDocument(object, AddToDocEventArgs), LinkContainer.LinkRemovedFromDocument(object, RemoveFromDocEventArgs), LinkContainer.OnLinkReserved(ILink, object, EventArgs), LinkContainer.CanBeDestroy(object), LinkContainer.DisposeManagedResources(), LinkContainer.SetContainer(IOwned, bool), LinkContainer.OnChildUpdated(object, LinkEventArgs), LinkContainer.OnContainerDestroy(object, LinkEventArgs), LinkContainer.OnDeserialization(object), LinkContainer.Verify(VerifiedResult), LinkContainer.GetCopy(object), LinkContainer.Dispose(bool), LinkContainer.ClearChildInfoBeforeDeserialize, LinkContainer.Container, LinkContainer.Owner, LinkContainer.Document, LinkContainer.ID, LinkContainer.IsChildExternable, LinkContainer.IsExternable, LinkContainer.OnRemoved, LinkContainer.OnAdded, LinkContainer.OnDestroy, LinkContainer.OnDestroying, LinkContainer.OnUpdate, LinkContainer.OnUpdating, LinkableBase.OnDeserialization(object), ObservableObject.Dispose(), ObservableObject.RaisePropertyChanged(string), ObservableObject.RaisePropertyChanged(string, object, object), ObservableObject.Dispose(bool), ObservableObject.DisposeManagedResources(), ObservableObject.DisposeUnmanagedResources(), ObservableObject.IsDisposed, ObservableObject.TryDisposing, ObservableObject.Disposed, ObservableObject.Disposing, ObservableObject.PropertyChanged

#### Extension Methods

[LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkProperties_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkPropertiesAndValues_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkedObjects&lt;T&gt;(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkedObjects__1_System_Object_VM_Models_Pre_LinkPropertyType_)

## Constructors

### BeamInfo()

Constructor of BeamInfo Class

```csharp
public BeamInfo()

```

## Fields

### m\_CrossSectionType

Cross section type of beam information

```csharp
protected CrossSectionType m_CrossSectionType

```

#### Field Value

CrossSectionType

## Properties

### BeamElements

Container of beam elements

```csharp
public BeamElement[] BeamElements { get; set; }

```

#### Property Value

[BeamElement](VM.Managed.DAFUL.Beam.BeamElement.md)\[\]

### Color

Gets or sets the color.

```csharp
public Color Color { get; set; }

```

#### Property Value

[Color](https://learn.microsoft.com/dotnet/api/system.drawing.color)

### CrossSectionType

Cross section type of beam information

```csharp
public CrossSectionType CrossSectionType { get; set; }

```

#### Property Value

CrossSectionType

### DampingRatio

Damping ratio of material

```csharp
public double DampingRatio { get; }

```

#### Property Value

[double](https://learn.microsoft.com/dotnet/api/system.double)

### DefaultStraightBodyPoints

Get containers of points of bodies

```csharp
public List<Vector> DefaultStraightBodyPoints { get; }

```

#### Property Value

[List](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)&lt;Vector&gt;

### Density

Density of material

```csharp
public double Density { get; }

```

#### Property Value

[double](https://learn.microsoft.com/dotnet/api/system.double)

### EndPoint

End point of beam information

```csharp
public PointBase EndPoint { get; set; }

```

#### Property Value

PointBase

### EndPointVector

End point of beam information using vector class

```csharp
public VectorBase EndPointVector { get; set; }

```

#### Property Value

VectorBase

### GeomInfoArray

Gets or sets the geom info array.

```csharp
public double[] GeomInfoArray { get; set; }

```

#### Property Value

[double](https://learn.microsoft.com/dotnet/api/system.double)\[\]

### GeomInfos

Gets or sets the geom infos.

```csharp
public Variable[] GeomInfos { get; set; }

```

#### Property Value

Variable\[\]

### HtmlColor

Gets or sets the color of the HTML.

```csharp
public string HtmlColor { get; set; }

```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

### IsFirstBeamInfo

Whether the beam information is first among beam informations.

```csharp
public bool IsFirstBeamInfo { get; }

```

#### Property Value

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### IsLastBeamInfo

Whether the beam information is last among beam informations.

```csharp
public bool IsLastBeamInfo { get; }

```

#### Property Value

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### Material

Matrial object of beam information to use

```csharp
public IMaterial Material { get; set; }

```

#### Property Value

IMaterial

### MaterialISO

Matrial object casted by ISO type of beam information

```csharp
public ISO MaterialISO { get; }

```

#### Property Value

ISO

### NumOfElements

The number of element of beam information

```csharp
public uint NumOfElements { get; set; }

```

#### Property Value

[uint](https://learn.microsoft.com/dotnet/api/system.uint32)

### PoissonRatio

Poisson ratio of material

```csharp
public double PoissonRatio { get; }

```

#### Property Value

[double](https://learn.microsoft.com/dotnet/api/system.double)

### ShearModulus

Shear's modulus of material

```csharp
public double ShearModulus { get; }

```

#### Property Value

[double](https://learn.microsoft.com/dotnet/api/system.double)

### StartPoint

Start point of beam information

```csharp
public PointBase StartPoint { get; set; }

```

#### Property Value

PointBase

### StartPointVector

Start point of beam information using vector class

```csharp
public VectorBase StartPointVector { get; set; }

```

#### Property Value

VectorBase

### UseMiddleElementReferenceFrame

Use middle element reference frame

```csharp
public bool UseMiddleElementReferenceFrame { get; set; }

```

#### Property Value

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### YDirection

Normal direction of beam cross geometry

```csharp
public DirectionBase YDirection { get; set; }

```

#### Property Value

DirectionBase

### YDirectionArray

Normal direction of beam cross geometry using double array

```csharp
public double[] YDirectionArray { get; }

```

#### Property Value

[double](https://learn.microsoft.com/dotnet/api/system.double)\[\]

### YoungsModulus

Young's modulus of material

```csharp
public double YoungsModulus { get; }

```

#### Property Value

[double](https://learn.microsoft.com/dotnet/api/system.double)

### \_Material

Matrial object of beam information to save

```csharp
public Linker<IMaterial> _Material { get; set; }

```

#### Property Value

Linker&lt;IMaterial&gt;

## Methods

### AddBeamElement(BeamElement)

Add beam element

```csharp
public void AddBeamElement(BeamElement beamEle)

```

#### Parameters

`beamEle` [BeamElement](VM.Managed.DAFUL.Beam.BeamElement.md)

Beam element to add

### Draw(ref Canvas)

Draw Beam information geometry

```csharp
public void Draw(ref Canvas canvas)

```

#### Parameters

`canvas` Canvas

Canvas to draw beam geometry

### GetFirstBeamElement()

Get first beam element among all beam elements

```csharp
public BeamElement GetFirstBeamElement()

```

#### Returns

[BeamElement](VM.Managed.DAFUL.Beam.BeamElement.md)

First beam element

### GetLastBeamElement()

Get last beam element among all beam elements

```csharp
public BeamElement GetLastBeamElement()

```

#### Returns

[BeamElement](VM.Managed.DAFUL.Beam.BeamElement.md)

Last beam element

### GetNextBeamElement(BeamElement)

Get next beam element

```csharp
public BeamElement GetNextBeamElement(BeamElement beamEle)

```

#### Parameters

`beamEle` [BeamElement](VM.Managed.DAFUL.Beam.BeamElement.md)

Current beam element

#### Returns

[BeamElement](VM.Managed.DAFUL.Beam.BeamElement.md)

Next beam element

### GetPrevBeamElement(BeamElement)

Get previous beam element

```csharp
public BeamElement GetPrevBeamElement(BeamElement beamEle)

```

#### Parameters

`beamEle` [BeamElement](VM.Managed.DAFUL.Beam.BeamElement.md)

Current beam element

#### Returns

[BeamElement](VM.Managed.DAFUL.Beam.BeamElement.md)

Previous beam element

### IsEndBeamElement(BeamElement)

Whether ending beam element among current beam information

```csharp
public bool IsEndBeamElement(BeamElement beamEle)

```

#### Parameters

`beamEle` [BeamElement](VM.Managed.DAFUL.Beam.BeamElement.md)

Currnet beam element

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

It's true or false

### IsEndSolidBody(SolidBody)

Whether ending solid body among current beam information

```csharp
public bool IsEndSolidBody(SolidBody solidBody)

```

#### Parameters

`solidBody` SolidBody

SolidBody to check

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

It's true or false

### IsStartBeamElement(BeamElement)

Whether starting beam element among current beam information

```csharp
public bool IsStartBeamElement(BeamElement beamEle)

```

#### Parameters

`beamEle` [BeamElement](VM.Managed.DAFUL.Beam.BeamElement.md)

Currnet beam element

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

It's true or false

### IsStartSolidBody(SolidBody)

Whether starting solid body among current beam information

```csharp
public bool IsStartSolidBody(SolidBody solidBody)

```

#### Parameters

`solidBody` SolidBody

SolidBody to check

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

It's true or false

### LinkRequestUpdate(object, LinkEventArgs)

Request to update the linked object.

```csharp
protected override void LinkRequestUpdate(object objNotifier, LinkEventArgs arg)

```

#### Parameters

`objNotifier` [object](https://learn.microsoft.com/dotnet/api/system.object)

The linked object.

`arg` LinkEventArgs

The  instance containing the event data.

### OnDeserialization(object)

Called when \[deserialization\].

```csharp
protected override void OnDeserialization(object sender)

```

#### Parameters

`sender` [object](https://learn.microsoft.com/dotnet/api/system.object)

The sender.

### UpdateBeamElements()

Update beam elements of area and mass properties

```csharp
public void UpdateBeamElements()

```

### UpdateBeamNodes()

Update body properties of position and orientation

```csharp
public void UpdateBeamNodes()

```