    

 ## On this page

  

 

 # Class GeneralContact

 Last update: 16.07.2025 

Namespace: [VM.Managed.DAFUL.Contact](VM.Managed.DAFUL.Contact.md)  
Assembly: VMDCt.dll

This class is to represent the General contact.

```csharp
public class GeneralContact : Contact<PropertyGeneralContact>, 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, IEnableForSimulationScenario, IDraw, IDrawIcon, ITemplateObject, IArgument, IReportable, IContact, IEntityRelation, IThermalContactable, IGapSupport, IReferencable, IPostOpenDocumentForContact, IGeneralContact, IFlip

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← ObjectBase ← Object&lt;EntityEventCore&gt; ← ContainerObject&lt;EntityEventCore&gt; ← EntityBase ← Entity&lt;PropertyGeneralContact&gt; ← [Contact&lt;PropertyGeneralContact&gt;](VM.Managed.DAFUL.Contact.Contact-1.md) ← [GeneralContact](VM.Managed.DAFUL.Contact.GeneralContact.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, IEnableForSimulationScenario, IDraw, IDrawIcon, ITemplateObject, IArgument, IReportable, [IContact](VM.Managed.DAFUL.Contact.IContact.md), IEntityRelation, IThermalContactable, IGapSupport, IReferencable, IPostOpenDocumentForContact, IGeneralContact, IFlip

#### Inherited Members

[Contact&lt;PropertyGeneralContact&gt;.UpdateIcon()](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_UpdateIcon), [Contact&lt;PropertyGeneralContact&gt;.Draw(Canvas)](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_Draw_VM_CAD_Kernel_Render_Canvas_), [Contact&lt;PropertyGeneralContact&gt;.ReDraw()](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_ReDraw), [Contact&lt;PropertyGeneralContact&gt;.WriteTemplateImpl(XmlWriter)](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_WriteTemplateImpl_System_Xml_XmlWriter_), [Contact&lt;PropertyGeneralContact&gt;.ReadTemplateImpl(XmlReader)](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_ReadTemplateImpl_System_Xml_XmlReader_), [Contact&lt;PropertyGeneralContact&gt;.LinkRequestUpdate(object, LinkEventArgs)](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_LinkRequestUpdate_System_Object_VM_Managed_LinkEventArgs_), [Contact&lt;PropertyGeneralContact&gt;.LinkRequestDestroy(object, LinkEventArgs)](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_LinkRequestDestroy_System_Object_VM_Managed_LinkEventArgs_), [Contact&lt;PropertyGeneralContact&gt;.HasLayerExplicitly](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_HasLayerExplicitly), [Contact&lt;PropertyGeneralContact&gt;.Hide](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_Hide), [Contact&lt;PropertyGeneralContact&gt;.ReferenceType](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_ReferenceType), [Contact&lt;PropertyGeneralContact&gt;.ArgumentType](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_ArgumentType), [Contact&lt;PropertyGeneralContact&gt;.ReportTypeImpl](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_ReportTypeImpl), Entity&lt;PropertyGeneralContact&gt;.Initialize(Unit.ConvertFactor), Entity&lt;PropertyGeneralContact&gt;.GetUnnamedObjectName(object), Entity&lt;PropertyGeneralContact&gt;.FindLocal(string), Entity&lt;PropertyGeneralContact&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

### GeneralContact()

Initializes a new instance of the  class.

```csharp
public GeneralContact()

```

### GeneralContact(string)

Initializes a new instance of the  class.

```csharp
public GeneralContact(string strName)

```

#### Parameters

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

Name of the STR.

## Properties

### ActionGeom

Gets or sets the action flex 3D contact geometry.

```csharp
public ContactGeom3D ActionGeom { get; set; }

```

#### Property Value

[ContactGeom3D](VM.Managed.DAFUL.Contact.ContactGeom3D.md)

### ArgumentType

Gets the type of the argument

```csharp
public override ArgumentTypes ArgumentType { get; }

```

#### Property Value

ArgumentTypes

### BaseGeom

Gets or sets the base rigid 3D contact geometry.

```csharp
public ContactGeom3D BaseGeom { get; set; }

```

#### Property Value

[ContactGeom3D](VM.Managed.DAFUL.Contact.ContactGeom3D.md)

### CanSwitchImpl

```csharp
protected virtual bool CanSwitchImpl { get; }

```

#### Property Value

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

### ReferenceType

Gets the type of the array for argument.

```csharp
public override string ReferenceType { get; }

```

#### Property Value

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

### ReportTypeImpl

Gets the report type.

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

```

#### Property Value

IReportable.ReportEntityType

## Methods

### Draw(Canvas)

Draws the icon.

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

```

#### Parameters

`canvas` Canvas

The canvas has icon information.

### FindLocal(string)

Finds an object that matches a specified name in local.

```csharp
public override IObjectBase FindLocal(string strName)

```

#### Parameters

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

Name to search for.

#### Returns

IObjectBase

An object that matches a specified name.

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

### Initialize(ConvertFactor)

Initializes member through unit convert factor.

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

```

#### Parameters

`factor` Unit.ConvertFactor

The unit convert factor.

### InitializeEvent(Document3D)

Initializes event. It has been used to convert an RTR3D Contact to General Contact object.

```csharp
public static void InitializeEvent(Document3D doc)

```

#### Parameters

`doc` Document3D

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

### UpdateIcon()

Updates the icon \[Not Implemented\].

```csharp
protected override void UpdateIcon()

```

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