    

 ## On this page

  

 

 # Class ContactGeomCurveset

 Last update: 16.07.2025 

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

This class is to represent the contact geometry 2.5D.

```csharp
public class ContactGeomCurveset : ContactGeom2Dot5D<PropertyContactGeomCurveset>, 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, IContactGeometry2Dot5D, IContactGeometry2D, IContactGeometry

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← ObjectBase ← Object&lt;EntityEventCore&gt; ← ContainerObject&lt;EntityEventCore&gt; ← EntityBase ← Entity&lt;PropertyContactGeomCurveset&gt; ← [ContactGeomBase&lt;PropertyContactGeomCurveset&gt;](VM.Managed.DAFUL.Contact.ContactGeomBase-1.md) ← [ContactGeom2Dot5D&lt;PropertyContactGeomCurveset&gt;](VM.Managed.DAFUL.Contact.ContactGeom2Dot5D-1.md) ← [ContactGeomCurveset](VM.Managed.DAFUL.Contact.ContactGeomCurveset.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, [IContactGeometry2Dot5D](VM.Managed.DAFUL.Contact.IContactGeometry2Dot5D.md), IContactGeometry2D, IContactGeometry

#### Inherited Members

[ContactGeom2Dot5D&lt;PropertyContactGeomCurveset&gt;.GetPointDirection(ref VectorBase, ref VectorBase)](VM.Managed.DAFUL.Contact.ContactGeom2Dot5D-1.md#VM_Managed_DAFUL_Contact_ContactGeom2Dot5D_1_GetPointDirection_VM_Managed_VectorBase__VM_Managed_VectorBase__), [ContactGeom2Dot5D&lt;PropertyContactGeomCurveset&gt;.GetPointDirectionOnGeometry(ref VectorBase, ref VectorBase)](VM.Managed.DAFUL.Contact.ContactGeom2Dot5D-1.md#VM_Managed_DAFUL_Contact_ContactGeom2Dot5D_1_GetPointDirectionOnGeometry_VM_Managed_VectorBase__VM_Managed_VectorBase__), [ContactGeom2Dot5D&lt;PropertyContactGeomCurveset&gt;.TargetGeometry](VM.Managed.DAFUL.Contact.ContactGeom2Dot5D-1.md#VM_Managed_DAFUL_Contact_ContactGeom2Dot5D_1_TargetGeometry), [ContactGeom2Dot5D&lt;PropertyContactGeomCurveset&gt;.MaxPenetration](VM.Managed.DAFUL.Contact.ContactGeom2Dot5D-1.md#VM_Managed_DAFUL_Contact_ContactGeom2Dot5D_1_MaxPenetration), [ContactGeom2Dot5D&lt;PropertyContactGeomCurveset&gt;.\_Geometry](VM.Managed.DAFUL.Contact.ContactGeom2Dot5D-1.md#VM_Managed_DAFUL_Contact_ContactGeom2Dot5D_1__Geometry), [ContactGeom2Dot5D&lt;PropertyContactGeomCurveset&gt;.GeometryParentKey](VM.Managed.DAFUL.Contact.ContactGeom2Dot5D-1.md#VM_Managed_DAFUL_Contact_ContactGeom2Dot5D_1_GeometryParentKey), [ContactGeomBase&lt;PropertyContactGeomCurveset&gt;.Initialize(Unit.ConvertFactor)](VM.Managed.DAFUL.Contact.ContactGeomBase-1.md#VM_Managed_DAFUL_Contact_ContactGeomBase_1_Initialize_VM_Unit_ConvertFactor_), [ContactGeomBase&lt;PropertyContactGeomCurveset&gt;.FindLocal(string)](VM.Managed.DAFUL.Contact.ContactGeomBase-1.md#VM_Managed_DAFUL_Contact_ContactGeomBase_1_FindLocal_System_String_), [ContactGeomBase&lt;PropertyContactGeomCurveset&gt;.ReferenceMarker](VM.Managed.DAFUL.Contact.ContactGeomBase-1.md#VM_Managed_DAFUL_Contact_ContactGeomBase_1_ReferenceMarker), [ContactGeomBase&lt;PropertyContactGeomCurveset&gt;.GeometryFullName](VM.Managed.DAFUL.Contact.ContactGeomBase-1.md#VM_Managed_DAFUL_Contact_ContactGeomBase_1_GeometryFullName), [ContactGeomBase&lt;PropertyContactGeomCurveset&gt;.HasLayerExplicitly](VM.Managed.DAFUL.Contact.ContactGeomBase-1.md#VM_Managed_DAFUL_Contact_ContactGeomBase_1_HasLayerExplicitly), Entity&lt;PropertyContactGeomCurveset&gt;.Initialize(Unit.ConvertFactor), Entity&lt;PropertyContactGeomCurveset&gt;.GetUnnamedObjectName(object), Entity&lt;PropertyContactGeomCurveset&gt;.FindLocal(string), Entity&lt;PropertyContactGeomCurveset&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

### ContactGeomCurveset()

Initializes a new instance of the  class.

```csharp
protected ContactGeomCurveset()

```

### ContactGeomCurveset(string)

Initializes a new instance of the  class.

```csharp
public ContactGeomCurveset(string strName)

```

#### Parameters

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

Name of the contact geometry .

## Properties

### CurvesetList

Gets or sets the curveset link container.

```csharp
public IContactableRigid2D[] CurvesetList { get; set; }

```

#### Property Value

IContactableRigid2D\[\]

### GeometryFullName

Gets the full name of the geometry.

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

```

#### Property Value

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

### GeometryParentKey

Get geometry parent key

```csharp
public override ObjectBase.ConvertKey GeometryParentKey { get; }

```

#### Property Value

ObjectBase.ConvertKey

### ParentBody

Gets or sets the geometry.

```csharp
public ObjectBase ParentBody { get; }

```

#### Property Value

ObjectBase

### TargetGeometry

Gets or sets the target geometry.

```csharp
public override ObjectBase TargetGeometry { get; }

```

#### Property Value

ObjectBase

### \_CurvesetList

Gets or sets the curveset link container.

```csharp
public Linker<IContactableRigid2D>[] _CurvesetList { get; set; }

```

#### Property Value

Linker&lt;IContactableRigid2D&gt;\[\]

## Methods

### AddCurveset(IContactableRigid2D)

Adds the curveset.

```csharp
public void AddCurveset(IContactableRigid2D cs)

```

#### Parameters

`cs` IContactableRigid2D

The curveset.

### GetCurvesetsIncludeSlice(int, bool)

Gets or sets the curveset include slice link container.

```csharp
public IContactableRigid2D[] GetCurvesetsIncludeSlice(int nSlice, bool bOrigin)

```

#### Parameters

`nSlice` [int](https://learn.microsoft.com/dotnet/api/system.int32)

The number of slice.

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

The original geometry position.

#### Returns

IContactableRigid2D\[\]

The curveset include slice link container.

### GetCurvesetsIncludeSlice(bool)

Gets or sets the curveset include slice link container.

```csharp
public IContactableRigid2D[] GetCurvesetsIncludeSlice(bool bOrigin)

```

#### Parameters

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

The original geometry position.

#### Returns

IContactableRigid2D\[\]

The curveset include slice link container.

### GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool)

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

```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` \[b has child\].

#### Returns

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

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

### GetPointDirection(ref VectorBase, ref VectorBase)

Gets the normal origin point and direction.

```csharp
public override bool GetPointDirection(ref VectorBase point, ref VectorBase direction)

```

#### Parameters

`point` VectorBase

The normal origin point.

`direction` VectorBase

The normal direction.

#### Returns

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

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

### GetPointDirectionOnGeometry(ref VectorBase, ref VectorBase)

Gets the normal origin point and direction.

```csharp
public override bool GetPointDirectionOnGeometry(ref VectorBase point, ref VectorBase direction)

```

#### Parameters

`point` VectorBase

The normal origin point.

`direction` VectorBase

The normal direction.

#### Returns

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

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

### GetPoints(IContactableRigid2D)

Get Points with sorting.

```csharp
public VectorBase[] GetPoints(IContactableRigid2D icurve)

```

#### Parameters

`icurve` IContactableRigid2D

The curveset.

#### Returns

VectorBase\[\]

The curveset points with sorting.

### GetPointsAboutOrigin(IContactableRigid2D)

Get Points with sorting.

```csharp
public VectorBase[] GetPointsAboutOrigin(IContactableRigid2D icurve)

```

#### Parameters

`icurve` IContactableRigid2D

The curveset.

#### Returns

VectorBase\[\]

The curveset points with sorting.

### LinkRequestUpdate(object, LinkEventArgs)

Request for 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.

### OnLinkReserved(ILink, object, EventArgs)

```csharp
protected override void OnLinkReserved(ILink link, object objNotifier, EventArgs args)

```

#### Parameters

`link` ILink

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

`args` [EventArgs](https://learn.microsoft.com/dotnet/api/system.eventargs)