    

 ## On this page

  

 

 # Class Topology

 Last update: 16.07.2025 

Namespace: [VM.CAD.Kernel](VM.CAD.Kernel.md)  
Assembly: VM.CAD.Kernel.dll

```csharp
public abstract class Topology : Entity, ITopology, IHasID, ISelected

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← [KernelObject](VM.CAD.Kernel.KernelObject.md) ← [Entity](VM.CAD.Kernel.Entity.md) ← [Topology](VM.CAD.Kernel.Topology.md)

#### Derived

[Edge](VM.CAD.Kernel.Edge.md), [Face](VM.CAD.Kernel.Face.md), [Vertex](VM.CAD.Kernel.Vertex.md)

#### Implements

[ITopology](VM.CAD.Kernel.ITopology.md), IHasID, ISelected

#### Inherited Members

[Entity.PID](VM.CAD.Kernel.Entity.md#VM_CAD_Kernel_Entity_PID), [KernelObject.VMK\_ARGUMENT\_NULL](VM.CAD.Kernel.KernelObject.md#VM_CAD_Kernel_KernelObject_VMK_ARGUMENT_NULL), [KernelObject.VMK\_ARGUMENT\_TYPE](VM.CAD.Kernel.KernelObject.md#VM_CAD_Kernel_KernelObject_VMK_ARGUMENT_TYPE), [KernelObject.VMK\_OK](VM.CAD.Kernel.KernelObject.md#VM_CAD_Kernel_KernelObject_VMK_OK), [KernelObject.Dispose()](VM.CAD.Kernel.KernelObject.md#VM_CAD_Kernel_KernelObject_Dispose), [KernelObject.Execute(Func&lt;int&gt;)](VM.CAD.Kernel.KernelObject.md#VM_CAD_Kernel_KernelObject_Execute_System_Func_System_Int32__), [KernelObject.GetFrom&lt;TResult&gt;(KernelObject.delGetFrom&lt;TResult&gt;, bool)](VM.CAD.Kernel.KernelObject.md#VM_CAD_Kernel_KernelObject_GetFrom__1_VM_CAD_Kernel_KernelObject_delGetFrom___0__System_Boolean_), [KernelObject.DisposeManagedResource()](VM.CAD.Kernel.KernelObject.md#VM_CAD_Kernel_KernelObject_DisposeManagedResource), [KernelObject.DisposeUnmanagedResource()](VM.CAD.Kernel.KernelObject.md#VM_CAD_Kernel_KernelObject_DisposeUnmanagedResource), [KernelObject.Key](VM.CAD.Kernel.KernelObject.md#VM_CAD_Kernel_KernelObject_Key)

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

### Topology(UIntPtr, bool)

```csharp
protected Topology(UIntPtr key, bool isLock = true)

```

#### Parameters

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

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

## Properties

### IsSelected

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

```

#### Property Value

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

### ParentBodyKey

```csharp
public UIntPtr ParentBodyKey { get; }

```

#### Property Value

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

## Methods

### DisposeManagedResource()

```csharp
protected override void DisposeManagedResource()

```

### GetDefaultPoint()

```csharp
public abstract Vector GetDefaultPoint()

```

#### Returns

Vector

### GetTopologyType(UIntPtr)

```csharp
public static TopologyType GetTopologyType(UIntPtr key)

```

#### Parameters

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

#### Returns

[TopologyType](VM.CAD.Kernel.TopologyType.md)