it.polito.elite.visualization.ontoviewer.scenes3D
Class SceneDependencyTree6

java.lang.Object
  extended by it.polito.elite.visualization.ontoviewer.scenes3D.Scene3D
      extended by it.polito.elite.visualization.ontoviewer.scenes3D.SceneDependencyTree6

public class SceneDependencyTree6
extends Scene3D


Field Summary
private  java.util.Hashtable<java.lang.String,javax.media.j3d.BranchGroup> conceptsBg
           
private  java.util.Hashtable<java.lang.String,javax.media.j3d.BranchGroup> conceptSpheresBg
           
private  LinkDirectionEnum dir
           
private  java.util.HashSet<java.lang.String> expandable
           
private  java.lang.String expanded
           
private  java.util.HashSet<java.lang.String> nodes2_BeDrawn
           
private  java.util.HashSet<java.lang.String> onScene
           
private  java.lang.String relationURI
           
private  java.util.Hashtable<java.lang.String,DependencyTreeElm> tree
           
 
Fields inherited from class it.polito.elite.visualization.ontoviewer.scenes3D.Scene3D
behaviorCURS, behaviorROT, behaviorTRAS, behaviorZOOM, bgLabelScene, bgSCENE, currentConceptURI, currentInstanceURI, numScenes, positions, refMainPanel, rootPosition, sceneID, simplePick, tgROT, tgSCENE
 
Constructor Summary
SceneDependencyTree6(Pane3DScene _mf, java.lang.String uri, java.lang.String relationUri, LinkDirectionEnum dir)
           
 
Method Summary
private  float calculateNewRadius(float angle1, float angle2, float distance)
           
private  void collapseSubTree(java.lang.String uri, DependencyTreeElm myElm)
          Recursive procedure that Collapse a subTree
private  float computeConceptSphereRadius(int subTreeDepth)
           
private  void computeNodePosition(java.lang.String uri, javax.vecmath.Vector3f center, java.lang.String uriParent)
           
 void createScene()
           
private  javax.media.j3d.BranchGroup drawDependencyRelation(javax.vecmath.Vector3f posChildren, javax.vecmath.Vector3f center, float dependencyElmSize, boolean drawCurved)
           
private  javax.media.j3d.BranchGroup drawDependencyTreeElm(java.lang.String uri, DependencyTreeElm elm, InstanceData data)
           
private  void drawNodes()
          procedure which draws the nodes in the internal queue and then clears the queue itself
 void expand_OR_collapseElement(java.lang.String uri)
           
private  void expandNode(java.lang.String uri)
          This method expand a concept on the scene that is expandable(a withe one) Such action implies the collapsing of all the nodes except the one in the direct line of ancestor from the current concept to the root.
private  java.util.HashSet<java.lang.String> extractFunctionallyRelatedElements(InstanceData data)
           
 void fadeInAnimation()
           
 void fadeOutAnimation(java.lang.String uri, Scene3D nextScene)
           
private  float getSubDistanceRadius(int numberOfChildren)
           
private  float getSubRadius(int numberOfChildren)
           
private  boolean isCollapsable(DependencyTreeElm myElm)
           
private  void removeChildrenFromScene(java.lang.String uri, int origLevel)
           
 void selectElement(java.lang.String uri)
           
private  void setPos(java.lang.String uri, javax.vecmath.Vector3f center, int numberOfChildren, int lvl, boolean propagate)
           
 boolean showContextMenu(java.awt.PopupMenu menu, java.lang.String uri)
           
 boolean showRelationContextMenu(java.awt.PopupMenu menu, java.util.HashSet<RelationData> relSet)
           
 
Methods inherited from class it.polito.elite.visualization.ontoviewer.scenes3D.Scene3D
addBehaviors, addPopUpMenu, addSceneLabel, backToInitialSceneView, centralPositionAtGivenHeightScale, createBGandTGforTheScene, createBranchGroup, createRandomSet, createTransformGroup, get2DTo3DPoint, get3DTo2DPoint, getBounds, getCanvas3DSize, getCurrentConceptURI, getCurrentInstanceURI, getSceneBranchGroup, getSceneID, getShapes, recreateSceneFromScratch, removeBehaviours, removePopUpMenu, repaintCanvas, setCurrentConceptURI, setCurrentInstanceURI, showSelectionPopUp, updateView
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

conceptsBg

private java.util.Hashtable<java.lang.String,javax.media.j3d.BranchGroup> conceptsBg

conceptSpheresBg

private java.util.Hashtable<java.lang.String,javax.media.j3d.BranchGroup> conceptSpheresBg

dir

private LinkDirectionEnum dir

expandable

private java.util.HashSet<java.lang.String> expandable

expanded

private java.lang.String expanded

nodes2_BeDrawn

private java.util.HashSet<java.lang.String> nodes2_BeDrawn

onScene

private java.util.HashSet<java.lang.String> onScene

relationURI

private java.lang.String relationURI

tree

private java.util.Hashtable<java.lang.String,DependencyTreeElm> tree
Constructor Detail

SceneDependencyTree6

public SceneDependencyTree6(Pane3DScene _mf,
                            java.lang.String uri,
                            java.lang.String relationUri,
                            LinkDirectionEnum dir)
Method Detail

calculateNewRadius

private float calculateNewRadius(float angle1,
                                 float angle2,
                                 float distance)

collapseSubTree

private void collapseSubTree(java.lang.String uri,
                             DependencyTreeElm myElm)
Recursive procedure that Collapse a subTree

Parameters:
myElm - Structure of the dependency tree
uri - URI of the concept to be collapsed along with its subtree

computeConceptSphereRadius

private float computeConceptSphereRadius(int subTreeDepth)

computeNodePosition

private void computeNodePosition(java.lang.String uri,
                                 javax.vecmath.Vector3f center,
                                 java.lang.String uriParent)

createScene

public void createScene()
Specified by:
createScene in class Scene3D

drawDependencyRelation

private javax.media.j3d.BranchGroup drawDependencyRelation(javax.vecmath.Vector3f posChildren,
                                                           javax.vecmath.Vector3f center,
                                                           float dependencyElmSize,
                                                           boolean drawCurved)

drawDependencyTreeElm

private javax.media.j3d.BranchGroup drawDependencyTreeElm(java.lang.String uri,
                                                          DependencyTreeElm elm,
                                                          InstanceData data)

drawNodes

private void drawNodes()
procedure which draws the nodes in the internal queue and then clears the queue itself


expand_OR_collapseElement

public void expand_OR_collapseElement(java.lang.String uri)
Specified by:
expand_OR_collapseElement in class Scene3D

expandNode

private void expandNode(java.lang.String uri)
This method expand a concept on the scene that is expandable(a withe one) Such action implies the collapsing of all the nodes except the one in the direct line of ancestor from the current concept to the root. A subtree of 3 level depth is drawed beneth the selected concept. The nodes belonging to the ancestor line and the expandable ones in the subtree are saved in an expandable list

Parameters:
uri - the concept to be expanded

extractFunctionallyRelatedElements

private java.util.HashSet<java.lang.String> extractFunctionallyRelatedElements(InstanceData data)

fadeInAnimation

public void fadeInAnimation()
Specified by:
fadeInAnimation in class Scene3D

fadeOutAnimation

public void fadeOutAnimation(java.lang.String uri,
                             Scene3D nextScene)
Specified by:
fadeOutAnimation in class Scene3D

getSubDistanceRadius

private float getSubDistanceRadius(int numberOfChildren)

getSubRadius

private float getSubRadius(int numberOfChildren)

isCollapsable

private boolean isCollapsable(DependencyTreeElm myElm)

removeChildrenFromScene

private void removeChildrenFromScene(java.lang.String uri,
                                     int origLevel)

selectElement

public void selectElement(java.lang.String uri)
Specified by:
selectElement in class Scene3D

setPos

private void setPos(java.lang.String uri,
                    javax.vecmath.Vector3f center,
                    int numberOfChildren,
                    int lvl,
                    boolean propagate)

showContextMenu

public boolean showContextMenu(java.awt.PopupMenu menu,
                               java.lang.String uri)
Specified by:
showContextMenu in class Scene3D

showRelationContextMenu

public boolean showRelationContextMenu(java.awt.PopupMenu menu,
                                       java.util.HashSet<RelationData> relSet)
Specified by:
showRelationContextMenu in class Scene3D