    

 ## On this page

  

 

 # Class SetCurveForEdges

 Last update: 16.07.2025 

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

This class is to represent the curve set for edges.

```csharp
public class SetCurveForEdges : SetCurveBase, IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, ISubEntity, IEntityBase, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, IHasName, IEnabled, IHasComment, INamed, INavigatorItem, IArgument, ICurvesetComponent, ITopologyset, IContactableRigid2D, IContactableRigid, IContactable, IGeometricalComponent, IEntityRelation, IBodyAnalysisType, IHasBody, ITemplateObject, IMultiChangable, IObjectSet, IReferencable, IPostDeserialized

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← ObjectBase ← Object&lt;ObjectEventCore&gt; ← SubEntity ← [SetCurveBase](VM.Managed.DAFUL.SetCurveBase.md) ← [SetCurveForEdges](VM.Managed.DAFUL.SetCurveForEdges.md)

#### Derived

[PartSetCurveForEdges](VM.Managed.DAFUL.PartSetCurveForEdges.md)

#### Implements

IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, ISubEntity, IEntityBase, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, IHasName, IEnabled, IHasComment, INamed, INavigatorItem, IArgument, [ICurvesetComponent](VM.Managed.DAFUL.ICurvesetComponent.md), ITopologyset, [IContactableRigid2D](VM.Managed.DAFUL.IContactableRigid2D.md), [IContactableRigid](VM.Managed.DAFUL.IContactableRigid.md), [IContactable](VM.Managed.DAFUL.IContactable.md), [IGeometricalComponent](VM.Managed.DAFUL.IGeometricalComponent.md), IEntityRelation, [IBodyAnalysisType](VM.Managed.DAFUL.IBodyAnalysisType.md), IHasBody, ITemplateObject, IMultiChangable, IObjectSet, IReferencable, IPostDeserialized

#### Inherited Members

[SetCurveBase.Initialize(Unit.ConvertFactor)](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_Initialize_VM_Unit_ConvertFactor_), [SetCurveBase.GetCADBody()](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_GetCADBody), [SetCurveBase.GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool)](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_GetModelNavigatorInformationImpl_System_Xml_XmlDocument_System_Xml_XmlElement_System_Boolean_), [SetCurveBase.GetPoints()](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_GetPoints), [SetCurveBase.GetPointsAboutOrigin()](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_GetPointsAboutOrigin), [SetCurveBase.GetProfilePoint(ref bool, ref List&lt;VectorBase&gt;)](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_GetProfilePoint_System_Boolean__System_Collections_Generic_List_VM_Managed_VectorBase___), [SetCurveBase.GetDefaultMaxPenetration(ref double, IReferencable)](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_GetDefaultMaxPenetration_System_Double__VM_Managed_IReferencable_), [SetCurveBase.GetGeometryNavigatorInformation(XmlDocument, XmlElement)](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_GetGeometryNavigatorInformation_System_Xml_XmlDocument_System_Xml_XmlElement_), [SetCurveBase.GetPointDirection(ref VectorBase, ref VectorBase, IReferencable)](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_GetPointDirection_VM_Managed_VectorBase__VM_Managed_VectorBase__VM_Managed_IReferencable_), [SetCurveBase.GetAkimaSpline(double\[\], double\[\], double\[\])](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_GetAkimaSpline_System_Double___System_Double___System_Double___), [SetCurveBase.GetAkimaSpline(VectorBase\[\], int)](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_GetAkimaSpline_VM_Managed_VectorBase___System_Int32_), [SetCurveBase.GetAkimaSpline(double\[\], double\[\], double\[\], int)](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_GetAkimaSpline_System_Double___System_Double___System_Double___System_Int32_), [SetCurveBase.AttribType](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_AttribType), [SetCurveBase.ParentBody](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_ParentBody), [SetCurveBase.IsCloseLoop](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_IsCloseLoop), [SetCurveBase.GeometryFullName](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_GeometryFullName), [SetCurveBase.GeometryNameForMultiContact](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_GeometryNameForMultiContact), [SetCurveBase.ReferenceType](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_ReferenceType), [SetCurveBase.ArgumentType](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_ArgumentType), [SetCurveBase.Connectable](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_Connectable), [SetCurveBase.IsBaseGeometry](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_IsBaseGeometry), [SetCurveBase.IsActionGeometry](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_IsActionGeometry), [SetCurveBase.AnalysisType](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_AnalysisType), [SetCurveBase.Body](VM.Managed.DAFUL.SetCurveBase.md#VM_Managed_DAFUL_SetCurveBase_Body), SubEntity.Initialize(Unit.ConvertFactor), SubEntity.GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool), SubEntity.FixUp(ObjectBase), SubEntity.WriteTemplateImpl(XmlWriter), SubEntity.ReadTemplateImpl(XmlReader), SubEntity.Name, SubEntity.FullName, SubEntity.NonSymmetricName, SubEntity.DisplayName, SubEntity.IsEnabled, SubEntity.Comment, Object&lt;ObjectEventCore&gt;.GetKey(), Object&lt;ObjectEventCore&gt;.Initialize(Unit.ConvertFactor), Object&lt;ObjectEventCore&gt;.SetIconColor(Canvas), Object&lt;ObjectEventCore&gt;.OnDeserialization(object), Object&lt;ObjectEventCore&gt;.CustomGetObjectData(SerializationInfo, StreamingContext), Object&lt;ObjectEventCore&gt;.RollbackEvent(), Object&lt;ObjectEventCore&gt;.OnDeserializedCore(object), Object&lt;ObjectEventCore&gt;.Key, Object&lt;ObjectEventCore&gt;.UntypedEventCore, Object&lt;ObjectEventCore&gt;.EventCore, Object&lt;ObjectEventCore&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

### SetCurveForEdges()

Initializes a new instance of the  class.

```csharp
public SetCurveForEdges()

```

### SetCurveForEdges(string)

Initializes a new instance of the  class.

```csharp
public SetCurveForEdges(string strName)

```

#### Parameters

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

Name of the face set.

## Properties

### EdgeList

Gets the edge link list.

```csharp
public IList<Edge> EdgeList { get; }

```

#### Property Value

[IList](https://learn.microsoft.com/dotnet/api/system.collections.generic.ilist-1)&lt;Edge&gt;

### IsReverseCurveDirection

The flag that indicate reserve curve direction

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

```

#### Property Value

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

### MaximumAngle

The maximum angle

```csharp
public ExpressionValueVariable MaximumAngle { get; set; }

```

#### Property Value

ExpressionValueVariable

### MaximumLength

The maximum length

```csharp
public ExpressionValueVariable MaximumLength { get; set; }

```

#### Property Value

ExpressionValueVariable

### MaximumTolerance

The maximum tolerance

```csharp
public ExpressionValueVariable MaximumTolerance { get; set; }

```

#### Property Value

ExpressionValueVariable

### TopologyList

Gets or sets the topology list.

```csharp
public TopologyList<Edge> TopologyList { get; set; }

```

#### Property Value

[TopologyList](VM.Managed.DAFUL.TopologyList-1.md)&lt;Edge&gt;

## Methods

### AddEdge(Edge)

Adds the edge to topology list.

```csharp
public virtual void AddEdge(Edge edge)

```

#### Parameters

`edge` Edge

The edge.

### FixUp(ObjectBase)

Fix up object after update contents

```csharp
public override bool FixUp(ObjectBase ob)

```

#### Parameters

`ob` ObjectBase

The old object

#### Returns

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

true if success, otherwise false.

### GetCount()

Gets the edge's count.

```csharp
public int GetCount()

```

#### Returns

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

The edge's count.

### GetElementKey(int)

Gets the element(edge) key.

```csharp
public UIntPtr GetElementKey(int nIndex)

```

#### Parameters

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

The Index.

#### Returns

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

The element(edge) key.

### GetElementType()

Gets the type of the element(edge).

```csharp
public Type GetElementType()

```

#### Returns

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

The type of the element(edge).

### GetPointDirection(ref VectorBase, ref VectorBase, IReferencable)

Gets point direction

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

```

#### Parameters

`point` VectorBase

The point

`direction` VectorBase

The direction

`reference` IReferencable

The reference entity

#### Returns

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

### GetPoints()

Get points

```csharp
public override VectorBase[] GetPoints()

```

#### Returns

VectorBase\[\]

The array of points

### GetProfilePoint(ref bool, ref List&lt;VectorBase&gt;)

Gets the profile point

```csharp
public override int GetProfilePoint(ref bool bCloseLoop, ref List<VectorBase> lst)

```

#### Parameters

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

close loop flag

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

The position list

#### Returns

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

### Initialize(ConvertFactor)

Initialize the

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

```

#### Parameters

`factor` Unit.ConvertFactor

The convert factor

### LinkRequestDestroy(object, LinkEventArgs)

Request for destroy the linked object.

```csharp
protected override void LinkRequestDestroy(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.

### LinkRequestUpdate(object, LinkEventArgs)

Link request update

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

```

#### Parameters

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

The notifier

`arg` LinkEventArgs

The event argument

### MakeReferenceImpl(LinkedList&lt;Reference&gt;)

Makes the reference \[implementation\].

```csharp
protected virtual void MakeReferenceImpl(LinkedList<Reference> lstRef)

```

#### Parameters

`lstRef` [LinkedList](https://learn.microsoft.com/dotnet/api/system.collections.generic.linkedlist-1)&lt;Reference&gt;

The container.

### PostAddToDocument()

Called after added to document.

```csharp
public override void PostAddToDocument()

```

### PostRemoveFromDocument(Document)

Called after removed from document

The document ```csharp
public override void PostRemoveFromDocument(Document document)

```

#### Parameters

`document` Document

### RemoveAllEdge()

Removes all face from topology list.

```csharp
public void RemoveAllEdge()

```

### RemoveEdge(Edge)

Removes the edge from topology list.

```csharp
public void RemoveEdge(Edge edge)

```

#### Parameters

`edge` Edge

The edge.

### ResetInvalidEntity()

Reset invalid entity.

```csharp
public override void ResetInvalidEntity()

```