    

 ## 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)](VM.CAD.Kernel.KernelObject.md#VM_CAD_Kernel_KernelObject_Execute_System_Func_System_Int32__), [KernelObject.GetFrom(KernelObject.delGetFrom, 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(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkedObjects__1_System_Object_VM_Models_Pre_LinkPropertyType_)

## Constructors

### <a id="VM_CAD_Kernel_Topology__ctor_System_UIntPtr_System_Boolean_"></a> 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

### <a id="VM_CAD_Kernel_Topology_IsSelected"></a> IsSelected

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

```

#### Property Value

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

### <a id="VM_CAD_Kernel_Topology_ParentBodyKey"></a> ParentBodyKey

```csharp
public UIntPtr ParentBodyKey { get; }

```

#### Property Value

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

## Methods

### <a id="VM_CAD_Kernel_Topology_DisposeManagedResource"></a> DisposeManagedResource()

```csharp
protected override void DisposeManagedResource()

```

### <a id="VM_CAD_Kernel_Topology_GetDefaultPoint"></a> GetDefaultPoint()

```csharp
public abstract Vector GetDefaultPoint()

```

#### Returns

Vector

### <a id="VM_CAD_Kernel_Topology_GetTopologyType_System_UIntPtr_"></a> 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)