Home Page > KernelCAD Components > Advanced functionality > Selection Event
Selection Event
Selection Event
When WantSelectionEvent
property of KernelCAD Context is true (false
is the default) the application receives KernelCAD Event notification
when the user makes multile selection in Direct User Access mode
Tthe
eventType parameter of the selection event is the
EDIEvent.eEventSelection member of
EDIEvent enumeration
The param0 parameter of the event is an integer which indicates
what kind of items is selected. Possible values are enumerated in
EElemTypeKC enumeration. In
v4.1 it can be EElemTypeKC.eElTypeVertex or EElemTypeKC.eElTypeSection only.
Contact us to request notification about the other types
As there are several sources of the KernelCAD Event the event handler has to
check for the correct type of event and allow the handler to exit without any
action if the event is different from one described above.
When selection is cleared by the end user the component raises similar KernelCAD Event passing an
empty list. The eventType parameter in the case is
EDIEvent.eEventSelection and param0 is an integer with
value EElemTypeKC.eElTypeUnknown.
Multiple Vertex Selection
The param1 parameter of the event is an
IList interface passed out as
IUnkknown type. Elements of the list
have IVertex type, which gives acess
to coordinates and normals of the vertex.
Query ISection, IMesh,
IMeshEx, etc from the
IList to get access to properties
of the object and/or mesh, which own the vertex.
See MeshMods sample for an example.
Multiple Object Selection
The param1 parameter of the event is an
IList interface passed out as
IUnkknown type. Elements of the list
have ISection type, which gives acess
to all properties of the object.
In .NET language use convertion similar to:
IntPtr pSection = iList.GetAt(pos);
ISection iSect = (ISection)Marshal.GetObjectForIUnknown(pSection);
To convert items of the list to ISection type
See Pick sample for an example.
|