I am using an selectObject block with the UI Styler and filtering my selection in the Filter_CB so that I can control my selection criteria based on more than what is available through maskTripples. The problem I am running into is that the Filter_CB doesn't seem to recognize when I have point overlay enabled and I am trying to select a curve end point. Even when the cursor is over the end point and the cursor is indicating that I am trying to select an endpoint the "selectedObject" that is passed to the Filter_CB is the parent curve and not the endpoint. Is there anyway for the Filter_CB to recognize that I am selecting an endpoint and not a curve? alternatively is there a way to get the current screen position of the cursor so I could check to see if I am near the end point?
Unfortunately that doesn't help since the value is not available until after the user picks the curve. I am using the filter_cb because if it is going to be an invalid selection I would rather it didn't highlght the curve at all (which seems like the entire purpose of the filter_cb). The behavior that I want is the selection behavior for a parallel dimension in sketcher. You can select the control point of a spline but not the spline itself. In the filter_CB the selected object is a spline and I can't determine whether the user is attempting select the spline or a control point on the spline even though the point overlay is turned on.
Thanks for explaining - I'm afraid I don't know exactly how that is done. The thing about the SelectObject block is that it will always want to give you an entity that lives in the database - an object, like a curve, or an existing point entity, or some piece of geometry. Control points and end points do not really exist as independent entities in the database - they are more like properties of the existing geometry. Perhaps someone from development who is familiar with the Sketcher or Drafting will chime in and explain how that particular selection that you mentioned works.