SoSelectionSetPickFilterCallback Method (SoSelectionPickUserDataCB, Object) |
Note: This API is now obsolete.
Namespace: OIV.Inventor.Nodes
[ObsoleteAttribute] [EditorBrowsableAttribute(EditorBrowsableState.Never)] public void SetPickFilterCallback( SoSelectionPickUserDataCB cb, Object userData )
The delegate method returns the path that the selection node should use when selecting and deselecting. If no pick delegate is registered (the default), the selection node will use the path returned by SoPickedPoint::GetPath() on the picked point associated with the event being processed.
Note that a picked object may or may not be a child of the selection node. A selection node will only select paths that pass through it. Possible return values from the delegate method are:
[a] NULL - selection behaves as if nothing was picked (i.e. for SINGLE and SHIFT policies, this clears the selection list). Handle event action traversal halts.
[b] Path - this path will be selected/deselected according to the selection policy (it must lie under the selection node). Handle event action traversal halts.
[c] Path containing only the selection node - apply the selection policy as if nothing was picked. Handle event action traversal continues.
[d] Path not passing through the selection node - selection ignores this pick event and no change is made to the selection list. Handle event action traversal continues.
A simple way to tell selection to ignore the pick is to return an SoPath with no nodes in it. (i.e. return new SoPath; )
The callOnlyIfSelectable argument, when set to true, means the pick delegate method will only be invoked on picks which pass through the selection node. When false, all picks will be passed to the delegate whether they pass through the selection or not.