Hi Team,
I am trying to implement drag and drop feature of asset on viewport.
In the screenshot above, I dragged from A to B. The problem is the white rectangle that appears while dragging.
Code:
class DoNotPrevent(sc.GestureManager): def can_be_prevented(self, gesture): return False class PDragGesture(sc.DragGesture): def __init__(self, client, viewport_api): super().__init__(mouse_button=0, manager=DoNotPrevent()) self._client = client self._viewport_api = viewport_api def on_changed(self): self._query_world_pos( self.sender.gesture_payload.mouse, self._on_end_resolved, ) def _update_position(self, world_pos): self._cell_id = 1 pnb = self._client.get_details(self._cell_id) pnb.position = Position( x=world_pos[0], y=world_pos[1], z=world_pos[2], ) self._client.edit_position(pnb) def _on_end_resolved(self, prim_path, world_pos, *_): try: self._update_position(world_pos) except Exception: logging.exception("Exception in drag handler") def on_ended(self): pass def _query_world_pos(self, ndc_mouse, callback): """Convert NDC mouse position to world space.""" omni.usd.get_context().set_pickable("/", True) mouse, viewport = self._viewport_api.map_ndc_to_texture_pixel(ndc_mouse) if mouse is None or viewport is None: return viewport.request_query( mouse, callback, query_name="p_drag", ) class ViewportDCM(sc.Manipulator): def __init__(self, client, viewport_ap, *args, **kwargs): super().__init__(*args, **kwargs) self.__drag_gesture = KDragGesture(viewport_api) self.__drag_gesture_p = PDragGesture(client, viewport_api) def on_build(self): self.__transform = sc.Transform() with self.__transform: gestures = [ self.__drag_gesture, self.__drag_gesture_p, ] self.__screen = sc.Screen(gesture=gestures)
How can I hide or disable the rectangle?
Thanks,
