Class PickerBase
Last update: 16.07.2025Namespace: VM.Managed.Picker.Core
Assembly: VMAppCore.dll
This class is to represent the picker base.
public abstract class PickerBase
Inheritance
Derived
PickerDirection, PickerEntityVM, PickerGear, PickerGeneral, PickerHole, PickerMesh, PickerMulti, PickerOrientation, PickerPoint, PickerSolid, PickerTopol, PickerTransform
Extension Methods
LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType), LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType), LinkPropertyItemCache.GetLinkedObjects<T>(object, LinkPropertyType)
Constructors
PickerBase()
Initializes a new instance of the
public PickerBase()
Properties
ActiveDocument
protected Document ActiveDocument { get; }
Property Value
IsOnlyResultXml
Gets indicating whether only the xml of picking result.
protected bool IsOnlyResultXml { get; }
Property Value
IsReference
Gets or sets the picking result indicating whether it is reference.
public bool IsReference { get; set; }
Property Value
Result
Gets or sets the object of picking result.
public virtual object Result { get; protected set; }
Property Value
ResultXml
Gets or sets the xml of picking result. ------- caution 1 ------- The case of Point and Direction create the Point and Direction object through deserialize of result xml. But, The case of EntityVM sets the existed object. ------- caution 2 ------- The case of EntityVM execute filering in this function. If the filtering result is false or the picking result invalidate , throw the exception. ------- caution 3 ------- Defined rule can changed through added picker.
public string ResultXml { get; set; }
Property Value
SymmetricType
Gets or sets the symmetric type.
public Enum SymmetricType { get; set; }
Property Value
Methods
Abort()
Picker is forced stop the flag is set.
public void Abort()
Filtering(UIntPtr)
Filtering to not proper object.
public virtual bool Filtering(UIntPtr pTarget)
Parameters
pTarget UIntPtr
Filtering target.
Returns
true if success; otherwise, false.
FilteringAnother(UIntPtr)
Filtering to not proper object about special target.
public virtual bool FilteringAnother(UIntPtr pTarget)
Parameters
pTarget UIntPtr
Filtering target.
Returns
true if success; otherwise, false.
FilteringReference(UIntPtr, UIntPtr)
Filtering to not proper object about special target into owner.
public virtual bool FilteringReference(UIntPtr pOwner, UIntPtr pTarget)
Parameters
pOwner UIntPtr
Filtering owner of target.
pTarget UIntPtr
Filtering target.
Returns
true if success; otherwise, false.
FilteringVMPID(_VM_ID)
Filtering to not proper object.
public virtual bool FilteringVMPID(_VM_ID nVMPID)
Parameters
nVMPID _VM_ID
Filtering target PID.
Returns
true if success; otherwise, false.
GetAdjacentPatch(double, List<int>)
public virtual void GetAdjacentPatch(double dAngle, List<int> lstNode)
Parameters
dAngle double
GetChangeNoneParametricXml(string)
Change to the result of parametric to the result of none parametric.
public virtual string GetChangeNoneParametricXml(string strXml)
Parameters
strXml string
Result of parametric.
Returns
The result xml of none parametric.
GetPickerInfo()
Gets information of picking type.
public abstract string GetPickerInfo()
Returns
GetResultXmlFromKey(UIntPtr)
Get valid result xml according to picker key of core.
public virtual string GetResultXmlFromKey(UIntPtr key)
Parameters
key UIntPtr
Picking destination key.
Returns
The valid result xml.
GetValidResultXml(string)
Get valid result xml according to picker type of core.
public virtual string GetValidResultXml(string strDesireXml)
Parameters
strDesireXml string
Invalid result xml.
Returns
The valid result xml.
Highlight(bool)
Picking highlight to filtered target.
public virtual void Highlight(bool bHighlight)
Parameters
bHighlight bool
If set to ture is highlight; otherwise, false isn't highlight.
Pick(bool)
This method execute picking. Define the information of picking thread. If picking thread is forced stop, picking is a failure.
public bool Pick(bool bGetXmlOnly)
Parameters
bGetXmlOnly bool
If set to true set result xml; otherwise, If set to false set result object.
Returns
true if success; otherwise, false.
PickWithStartSignal(bool, ManualResetEvent)
This method execute picking with start signal of sub-picking. Define the information of picking thread. If picking thread is forced stop, picking is a failure.
public bool PickWithStartSignal(bool bGetXmlOnly, ManualResetEvent eventPickStart)
Parameters
bGetXmlOnly bool
If set to true set result xml; otherwise, If set to false set result object.
eventPickStart ManualResetEvent
picking start signal.
Returns
true if success; otherwise, false.
SetResultImpl(ref string, bool)
Sets the result for picking.
protected abstract bool SetResultImpl(ref string strXml, bool bXmlOnly)
Parameters
strXml string
The picked data.
bXmlOnly bool
If it is true, skip the result setting.
Returns
true if success; otherwise, false.
UpdateDisplay()
Update display.
protected void UpdateDisplay()
UseEntityFiltering()
public virtual bool UseEntityFiltering()
Returns
raise_CustomFilterEvent(object, FilterArgs)
protected void raise_CustomFilterEvent(object value0, FilterArgs value1)
Parameters
value0 object
value1 FilterArgs
CustomFilterEvent
public event EventHandler<FilterArgs> CustomFilterEvent