    

 ## On this page

  

 

 # Class Pin

 Last update: 16.07.2025 

Namespace: [VM.Managed.DAFUL.CPlacingConnector](VM.Managed.DAFUL.CPlacingConnector.md)  
Assembly: VMDCPlacingConnector.dll

This class is to represent the pin.

```csharp
public class Pin : Entity<PropertyPin>, 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, ICPlacingEntity

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← ObjectBase ← Object&lt;EntityEventCore&gt; ← ContainerObject&lt;EntityEventCore&gt; ← EntityBase ← Entity&lt;PropertyPin&gt; ← [Pin](VM.Managed.DAFUL.CPlacingConnector.Pin.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, [ICPlacingEntity](VM.Managed.DAFUL.CPlacingConnector.ICPlacingEntity.md)

#### Inherited Members

Entity&lt;PropertyPin&gt;.Initialize(Unit.ConvertFactor), Entity&lt;PropertyPin&gt;.GetUnnamedObjectName(object), Entity&lt;PropertyPin&gt;.FindLocal(string), Entity&lt;PropertyPin&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

### Pin()

Initializes a new instance of the  class.

```csharp
public Pin()

```

### Pin(string)

Initializes a new instance of the  class.

```csharp
public Pin(string strName)

```

#### Parameters

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

Name of the string.

## Properties

### HasLayerExplicitly

Gets a value indicating whether object has a layer explicitly.

```csharp
protected override bool HasLayerExplicitly { get; }

```

#### Property Value

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

### Hide

Gets or sets a value indicating whether this instance is hide.

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

```

#### Property Value

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

### LeftTransformation

Gets or sets the left transformation.

```csharp
public TransformBase LeftTransformation { get; set; }

```

#### Property Value

TransformBase

### Parent

Gets or sets the parent.

```csharp
public ObjectBase Parent { get; set; }

```

#### Property Value

ObjectBase

### RightTransformation

Gets or sets the right transformation.

```csharp
public TransformBase RightTransformation { get; set; }

```

#### Property Value

TransformBase

## Methods

### Draw(Canvas)

Draws the icon.

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

```

#### Parameters

`canvas` Canvas

The canvas has icon information.

### GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool)

Gets the object information for model navigator \[implementation\].

```csharp
protected override bool GetModelNavigatorInformationImpl(XmlDocument xmlDom, XmlElement xmlEle, bool bHasChild)

```

#### Parameters

`xmlDom` [XmlDocument](https://learn.microsoft.com/dotnet/api/system.xml.xmldocument)

The XmlDocument for object.

`xmlEle` [XmlElement](https://learn.microsoft.com/dotnet/api/system.xml.xmlelement)

The XmlElement for object.

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

if set to `true` \[has child\].

#### Returns

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

`true` if success; otherwise, `false`.

### GetPinStiffness(SegmentGroup)

Gets the pin stiffness

```csharp
public PinStiffness GetPinStiffness(SegmentGroup segmentGroup)

```

#### Parameters

`segmentGroup` [SegmentGroup](VM.Managed.DAFUL.CPlacingConnector.SegmentGroup.md)

The segment group

#### Returns

[PinStiffness](VM.Managed.DAFUL.CPlacingConnector.PinStiffness.md)

### GetSegmentInformation(SegmentGroup)

Gets the segment information.

```csharp
public SegmentInformation GetSegmentInformation(SegmentGroup segmentGroup)

```

#### Parameters

`segmentGroup` [SegmentGroup](VM.Managed.DAFUL.CPlacingConnector.SegmentGroup.md)

The segment group

#### Returns

[SegmentInformation](VM.Managed.DAFUL.CPlacingConnector.SegmentInformation.md)

### Initialize(ConvertFactor)

Initializes member through unit convert factor.

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

```

#### Parameters

`factor` Unit.ConvertFactor

The unit convert factor.

### ReDraw()

Redraw.

```csharp
public virtual void ReDraw()

```