    

 ## On this page

  

 

 # Class PickerMultiGeneral

 Last update: 16.07.2025 

Namespace: [VM.Managed.Picker.Core](VM.Managed.Picker.Core.md)  
Assembly: VMAppCore.dll

This class is to represent the general multi entity picker.

```csharp
public abstract class PickerMultiGeneral : PickerMulti

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← [PickerBase](VM.Managed.Picker.Core.PickerBase.md) ← [PickerMulti](VM.Managed.Picker.Core.PickerMulti.md) ← [PickerMultiGeneral](VM.Managed.Picker.Core.PickerMultiGeneral.md)

#### Inherited Members

[PickerMulti.SetHighlight(List&lt;UIntPtr&gt;, bool, bool)](VM.Managed.Picker.Core.PickerMulti.md#VM_Managed_Picker_Core_PickerMulti_SetHighlight_System_Collections_Generic_List_System_UIntPtr__System_Boolean_System_Boolean_), [PickerMulti.GetResultXmlFromKey(UIntPtr\[\])](VM.Managed.Picker.Core.PickerMulti.md#VM_Managed_Picker_Core_PickerMulti_GetResultXmlFromKey_System_UIntPtr___), [PickerBase.raise\_CustomFilterEvent(object, FilterArgs)](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_raise_CustomFilterEvent_System_Object_VM_Managed_Picker_Core_FilterArgs_), [PickerBase.Pick(bool)](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_Pick_System_Boolean_), [PickerBase.PickWithStartSignal(bool, ManualResetEvent)](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_PickWithStartSignal_System_Boolean_System_Threading_ManualResetEvent_), [PickerBase.Abort()](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_Abort), [PickerBase.GetPickerInfo()](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_GetPickerInfo), [PickerBase.GetValidResultXml(string)](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_GetValidResultXml_System_String_), [PickerBase.GetResultXmlFromKey(UIntPtr)](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_GetResultXmlFromKey_System_UIntPtr_), [PickerBase.GetChangeNoneParametricXml(string)](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_GetChangeNoneParametricXml_System_String_), [PickerBase.Filtering(UIntPtr)](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_Filtering_System_UIntPtr_), [PickerBase.FilteringVMPID(\_VM\_ID)](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_FilteringVMPID__VM_ID_), [PickerBase.FilteringAnother(UIntPtr)](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_FilteringAnother_System_UIntPtr_), [PickerBase.FilteringReference(UIntPtr, UIntPtr)](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_FilteringReference_System_UIntPtr_System_UIntPtr_), [PickerBase.Highlight(bool)](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_Highlight_System_Boolean_), [PickerBase.GetAdjacentPatch(double, List&lt;int&gt;)](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_GetAdjacentPatch_System_Double_System_Collections_Generic_List_System_Int32__), [PickerBase.UseEntityFiltering()](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_UseEntityFiltering), [PickerBase.SetResultImpl(ref string, bool)](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_SetResultImpl_System_String__System_Boolean_), [PickerBase.UpdateDisplay()](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_UpdateDisplay), [PickerBase.ActiveDocument](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_ActiveDocument), [PickerBase.IsOnlyResultXml](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_IsOnlyResultXml), [PickerBase.IsReference](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_IsReference), [PickerBase.SymmetricType](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_SymmetricType), [PickerBase.ResultXml](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_ResultXml), [PickerBase.Result](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_Result), [PickerBase.CustomFilterEvent](VM.Managed.Picker.Core.PickerBase.md#VM_Managed_Picker_Core_PickerBase_CustomFilterEvent)

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

### PickerMultiGeneral(Type\[\])

```csharp
public PickerMultiGeneral(Type[] arTypes)

```

#### Parameters

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

### PickerMultiGeneral(Type, bool)

```csharp
public PickerMultiGeneral(Type type, bool bIsInterface)

```

#### Parameters

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

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

## Properties

### AllowChildSubsystem

Get the flag of picking the reference objects.

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

```

#### Property Value

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

### PickableTypes

Get array of pickable type.

```csharp
public Type[] PickableTypes { get; }

```

#### Property Value

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

## Methods

### ConvertKeyToInstanceContainerImpl(ObjectBase)

```csharp
protected abstract UIntPtr ConvertKeyToInstanceContainerImpl(ObjectBase obj)

```

#### Parameters

`obj` [ObjectBase](VM.Managed.ObjectBase.md)

#### Returns

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

### Filtering(UIntPtr)

Filtering to not proper object.

```csharp
public override bool Filtering(UIntPtr pTarget)

```

#### Parameters

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

Filtering target.

#### Returns

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

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

### FilteringReference(UIntPtr, UIntPtr)

Filtering to not proper object about special target into owner.

```csharp
public override bool FilteringReference(UIntPtr pOwner, UIntPtr pTarget)

```

#### Parameters

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

Filtering owner of target.

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

Filtering target.

#### Returns

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

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

### GetBodyImpl(UIntPtr, bool)

```csharp
protected abstract ObjectBase GetBodyImpl(UIntPtr pKey, bool bIgnoreMarker)

```

#### Parameters

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

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

#### Returns

[ObjectBase](VM.Managed.ObjectBase.md)

### GetPickerInfo()

Gets information of picking type.

```csharp
public override string GetPickerInfo()

```

#### Returns

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

### GetResultXmlFromKey(ObjectBase\[\])

```csharp
public string GetResultXmlFromKey(ObjectBase[] arResults)

```

#### Parameters

`arResults` [ObjectBase](VM.Managed.ObjectBase.md)\[\]

#### Returns

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

### GetResultXmlFromKey(UIntPtr\[\])

Get valid result xml according to picker keys of core.

```csharp
public override string GetResultXmlFromKey(UIntPtr[] arKey)

```

#### Parameters

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

#### Returns

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

The valid result xml.

### GetResultXmlFromKey(UIntPtr)

Get valid result xml according to picker key of core.

```csharp
public override string GetResultXmlFromKey(UIntPtr key)

```

#### Parameters

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

Picking destination key.

#### Returns

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

The valid result xml.

### HighlightCurveset(ObjectBase, bool)

```csharp
protected void HighlightCurveset(ObjectBase obj, bool bHighlight)

```

#### Parameters

`obj` [ObjectBase](VM.Managed.ObjectBase.md)

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

### HighlightFaceset(ObjectBase, bool)

```csharp
protected void HighlightFaceset(ObjectBase obj, bool bHighlight)

```

#### Parameters

`obj` [ObjectBase](VM.Managed.ObjectBase.md)

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

### HighlightGeometry(ObjectBase, bool)

```csharp
protected void HighlightGeometry(ObjectBase obj, bool bHighlight)

```

#### Parameters

`obj` [ObjectBase](VM.Managed.ObjectBase.md)

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

### HighlightImpl(ObjectBase, bool)

```csharp
protected abstract bool HighlightImpl(ObjectBase obj, bool bHighlight)

```

#### Parameters

`obj` [ObjectBase](VM.Managed.ObjectBase.md)

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

#### Returns

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

### HighlightInstanceContainer(ObjectBase, bool)

```csharp
protected void HighlightInstanceContainer(ObjectBase obj, bool bHighlight)

```

#### Parameters

`obj` [ObjectBase](VM.Managed.ObjectBase.md)

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

### HighlightReferenceConnectable(ObjectBase, bool)

```csharp
protected void HighlightReferenceConnectable(ObjectBase obj, bool bHighlight)

```

#### Parameters

`obj` [ObjectBase](VM.Managed.ObjectBase.md)

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

### HighlightReferenceFaceset(ObjectBase, bool, bool)

```csharp
protected void HighlightReferenceFaceset(ObjectBase obj, bool bHighlight, bool bUpdate)

```

#### Parameters

`obj` [ObjectBase](VM.Managed.ObjectBase.md)

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

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

### HighlightSubsystem(ObjectBase, bool)

```csharp
protected void HighlightSubsystem(ObjectBase obj, bool bHighlight)

```

#### Parameters

`obj` [ObjectBase](VM.Managed.ObjectBase.md)

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

### SetHighlight(List&lt;UIntPtr&gt;, bool, bool)

```csharp
public override void SetHighlight(List<UIntPtr> lstSelectedObject, bool bHighlight, bool bUpdate)

```

#### Parameters

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

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

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

### SetResultImpl(ref string, bool)

Sets the result for picking.

```csharp
protected override bool SetResultImpl(ref string strXml, bool bXmlOnly)

```

#### Parameters

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

The picked data.

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

If it is true, skip the result setting.

#### Returns

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

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