    

 ## On this page

  

 

 # Class Bush

 Last update: 16.07.2025 

Namespace: [VM.Managed.DAFUL.Force](VM.Managed.DAFUL.Force.md)  
Assembly: VMDFB.dll

This class is to represent the bush force.

```csharp
public class Bush : Force<PropertyBush>, IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, IContainer, IEntity, IEntityBase, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, IHasName, IEnabled, IHasComment, IVisible, IDocumentOwner, INamed, INavigatorItem, IVisible, IMultiChangable, IHasProperty, IGroup, IDraw, IDrawIcon, IReferencable, ITransformable, IConnector, IEntityRelation, IGenerable, IArgument, IReportable, IFlip, IEnableForSimulationScenario, ITorqueReferenceForBearing, ITemplateObject, IReadableForceMarker

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← ObjectBase ← Object&lt;EntityEventCore&gt; ← ContainerObject&lt;EntityEventCore&gt; ← EntityBase ← Entity&lt;PropertyBush&gt; ← Connector&lt;PropertyBush&gt; ← [Force&lt;PropertyBush&gt;](VM.Managed.DAFUL.Force.Force-1.md) ← [Bush](VM.Managed.DAFUL.Force.Bush.md)

#### Implements

IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, IContainer, IEntity, IEntityBase, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, IHasName, IEnabled, IHasComment, IVisible, IDocumentOwner, INamed, INavigatorItem, IVisible, IMultiChangable, IHasProperty, IGroup, IDraw, IDrawIcon, IReferencable, ITransformable, IConnector, IEntityRelation, IGenerable, IArgument, IReportable, IFlip, IEnableForSimulationScenario, ITorqueReferenceForBearing, ITemplateObject, [IReadableForceMarker](VM.Managed.DAFUL.Force.IReadableForceMarker.md)

#### Inherited Members

[Force&lt;PropertyBush&gt;.Initialize(Unit.ConvertFactor)](VM.Managed.DAFUL.Force.Force-1.md#VM_Managed_DAFUL_Force_Force_1_Initialize_VM_Unit_ConvertFactor_), [Force&lt;PropertyBush&gt;.WriteMarker(XmlWriter, Marker, string)](VM.Managed.DAFUL.Force.Force-1.md#VM_Managed_DAFUL_Force_Force_1_WriteMarker_System_Xml_XmlWriter_VM_Managed_DAFUL_Marker_System_String_), [Force&lt;PropertyBush&gt;.ReadMarker(XmlReader, Marker, string)](VM.Managed.DAFUL.Force.Force-1.md#VM_Managed_DAFUL_Force_Force_1_ReadMarker_System_Xml_XmlReader_VM_Managed_DAFUL_Marker_System_String_), [Force&lt;PropertyBush&gt;.UseForSimulationScenario](VM.Managed.DAFUL.Force.Force-1.md#VM_Managed_DAFUL_Force_Force_1_UseForSimulationScenario), Connector&lt;PropertyBush&gt;.Initialize(Unit.ConvertFactor), Connector&lt;PropertyBush&gt;.GetTargetListForUpdate(), Connector&lt;PropertyBush&gt;.Verify(VerifiedResult), Connector&lt;PropertyBush&gt;.LinkRequestUpdate(object, LinkEventArgs), Connector&lt;PropertyBush&gt;.GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool), Connector&lt;PropertyBush&gt;.Draw(Canvas), Connector&lt;PropertyBush&gt;.ReDraw(), Connector&lt;PropertyBush&gt;.FindLocal(string), Connector&lt;PropertyBush&gt;.Instantiate(Reference, Canvas), Connector&lt;PropertyBush&gt;.MakeReference(LinkedList&lt;Reference&gt;), Connector&lt;PropertyBush&gt;.MakeReferenceImpl(LinkedList&lt;Reference&gt;), Connector&lt;PropertyBush&gt;.GetLayerImpl(), Connector&lt;PropertyBush&gt;.SetLayerImpl(Layer), Connector&lt;PropertyBush&gt;.SwitchImpl(), Connector&lt;PropertyBush&gt;.BaseMarker, Connector&lt;PropertyBush&gt;.ActionMarker, Connector&lt;PropertyBush&gt;.ConnectorReferenceMarker, Connector&lt;PropertyBush&gt;.PreventDuplicatedRBE, Connector&lt;PropertyBush&gt;.Generable, Connector&lt;PropertyBush&gt;.HasLayerExplicitly, Connector&lt;PropertyBush&gt;.Hide, Connector&lt;PropertyBush&gt;.Referencable, Connector&lt;PropertyBush&gt;.Visible, Connector&lt;PropertyBush&gt;.Layer, Connector&lt;PropertyBush&gt;.ReferenceType, Connector&lt;PropertyBush&gt;.ArgumentType, Connector&lt;PropertyBush&gt;.CanWriteToOutFileImpl, Connector&lt;PropertyBush&gt;.ReportTypeImpl, Connector&lt;PropertyBush&gt;.CanSwitchImpl, Entity&lt;PropertyBush&gt;.Initialize(Unit.ConvertFactor), Entity&lt;PropertyBush&gt;.GetUnnamedObjectName(object), Entity&lt;PropertyBush&gt;.FindLocal(string), Entity&lt;PropertyBush&gt;.Property, EntityBase.Initialize(Unit.ConvertFactor), EntityBase.SetOldNameWithNewEntity(ObjectBase, ObjectBase), EntityBase.PropertyRequestUpdate(object, LinkEventArgs), EntityBase.OnDeserializationForAttribute(), EntityBase.OnUpdatePropertyImpl(Property, LinkEventArgs), EntityBase.LinkRequestDestroying(object, LinkEventArgs), EntityBase.GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool), EntityBase.FixUp(ObjectBase), EntityBase.FindLocal(string), EntityBase.WriteTemplateImpl(XmlWriter), EntityBase.ReadTemplateImpl(XmlReader), EntityBase.LinkAddedToDocument(object, AddToDocEventArgs), EntityBase.OnDeserialization(object), EntityBase.Name, EntityBase.FullName, EntityBase.NonSymmetricName, EntityBase.DisplayName, EntityBase.IsEnabled, EntityBase.Comment, EntityBase.HasLayerExplicitly, EntityBase.UntypedProperty, EntityBase.IsFileProperty, EntityBase.Layer, EntityBase.IsVisible, ContainerObject&lt;EntityEventCore&gt;.Find(string), ContainerObject&lt;EntityEventCore&gt;.FindLocal(string), ContainerObject&lt;EntityEventCore&gt;.GetUnnamedObjectName(object), ContainerObject&lt;EntityEventCore&gt;.GetNewEntityName(string), ContainerObject&lt;EntityEventCore&gt;.GetNewEntityName(string, bool, int), ContainerObject&lt;EntityEventCore&gt;.GetNewEntityName(string, bool, int, int), Object&lt;EntityEventCore&gt;.GetKey(), Object&lt;EntityEventCore&gt;.Initialize(Unit.ConvertFactor), Object&lt;EntityEventCore&gt;.SetIconColor(Canvas), Object&lt;EntityEventCore&gt;.OnDeserialization(object), Object&lt;EntityEventCore&gt;.CustomGetObjectData(SerializationInfo, StreamingContext), Object&lt;EntityEventCore&gt;.RollbackEvent(), Object&lt;EntityEventCore&gt;.OnDeserializedCore(object), Object&lt;EntityEventCore&gt;.Key, Object&lt;EntityEventCore&gt;.UntypedEventCore, Object&lt;EntityEventCore&gt;.EventCore, Object&lt;EntityEventCore&gt;.Attributes, ObjectBase.ReplaceEventCore(ObjectEventCore), ObjectBase.SetModifiedCore(ModifiedResult.ModifiedType), ObjectBase.AddPostDeserialize(StreamingContext), ObjectBase.LinkAddedToDocumentCore(IOwned, bool), ObjectBase.SetModified(ModifiedResult.ModifiedType), ObjectBase.SetModified(), ObjectBase.SetModified(ModifiedResult.ModifiedType, IDocument), ObjectBase.DestroyObject(object, LinkEventArgs), ObjectBase.DestroyObject(DestroyEventArgs), ObjectBase.DestroyObject(), ObjectBase.Initialize(Unit.ConvertFactor), ObjectBase.FixUp(ObjectBase), ObjectBase.DoWorkAfterUpdateContents(), ObjectBase.SetOldNameWithNewEntity(ObjectBase, ObjectBase), ObjectBase.SetIconColor(Canvas), ObjectBase.RemoveFromCreatedList(), ObjectBase.PostAddToDocument(), ObjectBase.PostRemoveFromDocument(Document), ObjectBase.GetArgumentList(LinkedList&lt;ObjectBase&gt;), ObjectBase.ResetInvalidEntity(), ObjectBase.OnDeserialization(object), ObjectBase.IsSerializableEvent(Delegate), ObjectBase.CustomGetObjectData(SerializationInfo, StreamingContext), ObjectBase.CheckAndUpdateLink(HashSet&lt;ObjectBase&gt;), ObjectBase.Verify(VerifiedResult), ObjectBase.ConnectProxy(), ObjectBase.RollbackEvent(), ObjectBase.LinkRequestUpdating(object, LinkEventArgs), ObjectBase.LinkRequestUpdate(object, LinkEventArgs), ObjectBase.LinkRequestDestroying(object, LinkEventArgs), ObjectBase.LinkRequestDestroy(object, LinkEventArgs), ObjectBase.LinkAddedToDocument(object, AddToDocEventArgs), ObjectBase.LinkRemovedFromDocument(object, RemoveFromDocEventArgs), ObjectBase.DisposeManagedResources(), ObjectBase.GetDestroyEventExtraData(), ObjectBase.OnLinkReserved(ILink, object, EventArgs), ObjectBase.CreateEntityWhenUpdateContents(Action), ObjectBase.GetObjectByKey(UIntPtr), ObjectBase.FindObjectOnXmlDeserialize(string), ObjectBase.UpdateContents(XmlReader, ObjectBase, string), ObjectBase.UpdateContents(XmlReader, ObjectBase), ObjectBase.UpdateContents(string, string), ObjectBase.UpdateContents(string), ObjectBase.SetFlagWhenXMLFile(string, bool), ObjectBase.IsEqualArray&lt;T&gt;(T\[\], T\[\]), ObjectBase.IsEqualList(List&lt;double&gt;, List&lt;double&gt;), ObjectBase.SetContainer(IOwned, bool), ObjectBase.GetTargetListForUpdate(), ObjectBase.SkipUpdateObjectImpl(), ObjectBase.raise\_OnUpdating(object, LinkEventArgs), ObjectBase.raise\_OnUpdate(object, LinkEventArgs), ObjectBase.raise\_OnDestroying(object, LinkEventArgs), ObjectBase.raise\_OnDestroy(object, LinkEventArgs), ObjectBase.raise\_Destroying(object, Identifier), ObjectBase.raise\_OnAdded(object, AddToDocEventArgs), ObjectBase.raise\_OnRemoved(object, RemoveFromDocEventArgs), ObjectBase.raise\_OnContentsUpdated(object, EventArgs), ObjectBase.Dispose(bool), ObjectBase.SkipModified, ObjectBase.ClearChildInfoBeforeDeserialize, ObjectBase.KeyImpl, ObjectBase.ID, ObjectBase.TopologyEntityTypeName, ObjectBase.ObjectStateForCircularError, ObjectBase.ObjectState, ObjectBase.IsChildExternable, ObjectBase.IsExternable, ObjectBase.Container, ObjectBase.Owner, ObjectBase.Document, ObjectBase.UntypedEventCore, ObjectBase.KernelKey, ObjectBase.Key, ObjectBase.OnContentsUpdated, ObjectBase.OnRemoved, ObjectBase.OnAdded, ObjectBase.Destroying, ObjectBase.OnDestroy, ObjectBase.OnDestroying, ObjectBase.OnUpdate, ObjectBase.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

### Bush()

Initializes a new instance of the  class.

```csharp
public Bush()

```

### Bush(string)

Initializes a new instance of the  class.

```csharp
public Bush(string strName)

```

#### Parameters

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

Name of the bush force.

## Properties

### DiameterOfGraphic

Gets or sets the graphic diameter. Use SetGraphicDiameter() when this instance sets for undo/redo

```csharp
public double DiameterOfGraphic { get; set; }

```

#### Property Value

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

### Generable

Gets a value indicating whether this instance is generable.

```csharp
public override bool Generable { get; }

```

#### Property Value

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

### LengthOfGraphic

Gets or sets the length of the graphic. Use SetGraphicLength() when this instance sets for undo/redo

```csharp
public double LengthOfGraphic { get; set; }

```

#### Property Value

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

### ReportTypeImpl

Gets the report type.

```csharp
protected override IReportable.ReportEntityType ReportTypeImpl { get; }

```

#### Property Value

IReportable.ReportEntityType

## Methods

### CopyGraphicValues()

```csharp
public void CopyGraphicValues()

```

### Draw(Canvas)

Draws the icon.

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

```

#### Parameters

`canvas` Canvas

The canvas has icon information.

### Initialize(ConvertFactor)

Initializes the specified factor.

```csharp
public override void Initialize(Unit.ConvertFactor factor)

```

#### Parameters

`factor` Unit.ConvertFactor

The factor.

### 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.

### ReadTemplateImpl(XmlReader)

Reads the template document \[implementation\].

```csharp
protected override void ReadTemplateImpl(XmlReader reader)

```

#### Parameters

`reader` [XmlReader](https://learn.microsoft.com/dotnet/api/system.xml.xmlreader)

The reader.

### WriteTemplateImpl(XmlWriter)

Writes the template document \[implementation\].

```csharp
protected override void WriteTemplateImpl(XmlWriter writer)

```

#### Parameters

`writer` [XmlWriter](https://learn.microsoft.com/dotnet/api/system.xml.xmlwriter)

The writer.