org.hfbk.vis.visnode.VisNodeDraggable Class Reference

Inheritance diagram for org.hfbk.vis.visnode.VisNodeDraggable:

Inheritance graph
Collaboration diagram for org.hfbk.vis.visnode.VisNodeDraggable:

Collaboration graph
List of all members.

Protected Member Functions

 VisNodeDraggable (Node node, Vector3f position)

Package Functions

boolean hit (Ray mouseray, Vector3f hit)
void handleEvent (VisMouseEvent evt)

Package Attributes

Vector3f handle
Vector3f vpLast
float hitDepth

Detailed Description

a draggable object. it can be only moved in the x-y plane.


Definition at line 19 of file

Constructor & Destructor Documentation

org.hfbk.vis.visnode.VisNodeDraggable.VisNodeDraggable ( Node  node,
Vector3f  position 
) [protected]

Definition at line 21 of file

References org.hfbk.vis.visnode.VisNode.node.

Member Function Documentation

boolean org.hfbk.vis.visnode.VisNodeDraggable.hit ( Ray  mouseray,
Vector3f  hit 
) [package]

we introduce a slightly faked hit surface: the hit plane is Wiewpoint aligned to allow intuitive dragging of objects in screen plane.

precisely, the hit plane is tangential to a camera centered sphere.

after first hit, we fix the distance to get a solid dragging experience even if the handle point leaves the hit plane due to the gap between the tangential plane and the real sphere surface.

Definition at line 40 of file

References org.hfbk.vis.visnode.VisNodeDraggable.handle, and org.hfbk.vis.visnode.VisNodeDraggable.hitDepth.

Referenced by org.hfbk.vis.visnode.VisDucts.VisDuct.handleEvent().

Here is the caller graph for this function:

void org.hfbk.vis.visnode.VisNodeDraggable.handleEvent ( VisMouseEvent  evt  )  [package]

Reimplemented in org.hfbk.vis.visnode.VisDucts.VisDuct, org.hfbk.vis.visnode.VisFilesys.VisCallBall, org.hfbk.vis.visnode.VisImage, org.hfbk.vis.visnode.VisImagefield, org.hfbk.vis.visnode.VisKeyword, org.hfbk.vis.visnode.VisVideo, and org.hfbk.vis.visnode.VisVideoImage.

Definition at line 63 of file

References org.hfbk.vis.visnode.VisNode.getRoot(), org.hfbk.vis.visnode.VisNodeDraggable.handle, org.hfbk.vis.visnode.VisNodeDraggable.hitDepth, org.hfbk.vis.visnode.VisNode.parent, org.hfbk.vis.visnode.VisNode.position, org.hfbk.vis.visnode.VisNode.traverse(), and org.hfbk.vis.visnode.VisNodeDraggable.vpLast.

Referenced by org.hfbk.vis.visnode.VisText.showUI().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

Vector3f org.hfbk.vis.visnode.VisNodeDraggable.handle [package]

Definition at line 25 of file

Referenced by org.hfbk.vis.visnode.VisNodeDraggable.handleEvent(), and org.hfbk.vis.visnode.VisNodeDraggable.hit().

Vector3f org.hfbk.vis.visnode.VisNodeDraggable.vpLast [package]

Definition at line 26 of file

Referenced by org.hfbk.vis.visnode.VisNodeDraggable.handleEvent().

float org.hfbk.vis.visnode.VisNodeDraggable.hitDepth [package]

moves object by mouse dragged events

Definition at line 62 of file

Referenced by org.hfbk.vis.visnode.VisNodeDraggable.handleEvent(), and org.hfbk.vis.visnode.VisNodeDraggable.hit().

The documentation for this class was generated from the following file:
Generated on Tue Apr 7 17:59:39 2009 for visclient by  doxygen 1.5.1