|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectit.polito.elite.visualization.ontoviewer.tools.Relation3DObject
public class Relation3DObject
This class offers an utility to draw relations as a building block for scenes.It exposes a dummy constructor, a group of set methods in order to explicitly set characteristics as transparency, the radius of line.. It provides also a set of method createRelationXXX (as createISARelation..) which return a java 3D TransformGroup that will be included by the scene itself. An example of its use is: TransformGroup tgx.... Relation3DObject relation = new Relation3DObject(); relation.setRadiusOfCylinderLine(.004f); relation.setTransparency(.3f); BranchGroup branchGroup = relation.createISARelation(relationEnd); tgx.addChild(branchGroup);
Field Summary | |
---|---|
private javax.vecmath.Color3f |
black
|
private static java.util.Hashtable<java.lang.String,java.awt.Color> |
coloredRelations
|
private boolean |
isCardinalityConstrained
|
private boolean |
isDatatype
|
private javax.vecmath.Color3f |
relationColor
|
private LinkDirectionEnum |
relationDirection
|
private GraphicalLinkTypeEnum |
relationType
|
private javax.vecmath.Vector3f |
relativeEndingOBJPosition
|
private java.util.HashSet<RelationData> |
setOfRelationData
|
private float |
sourceElementSize
|
private javax.vecmath.Vector3f |
translationVector
|
private float |
transparency
|
private java.lang.String |
uriOfPickableEndingOBJ
|
Constructor Summary | |
---|---|
Relation3DObject()
Void constructor. |
Method Summary | |
---|---|
private void |
addComplementOf(javax.media.j3d.TransformGroup tgx)
|
private void |
addDataTypeRange(javax.media.j3d.TransformGroup tgx)
|
private void |
addEnumerationRange(javax.media.j3d.TransformGroup tgx)
|
private void |
addIntersectionRange(javax.media.j3d.TransformGroup tgx)
|
private void |
addNamedConceptRange(javax.media.j3d.TransformGroup tgx)
|
private void |
addNamedIndividualRange(javax.media.j3d.TransformGroup tgx)
|
private void |
addRestrictionRange(javax.media.j3d.TransformGroup tgx)
|
private void |
addUnionRange(javax.media.j3d.TransformGroup tgx)
|
private float |
computeConePositionScale()
represents the position (between 0 origin and 1 end position) where the cone should be placed |
private javax.media.j3d.Transform3D |
computeOrientation(javax.vecmath.Vector3f finalPos,
float scale,
boolean invertDirection,
boolean isCone)
|
private javax.media.j3d.Appearance |
createArrowHeadAppearance(boolean isMultipleRelation)
Metodhs that adjusts graphics setting for the appearance of the components and returns a proper appearance |
javax.media.j3d.BranchGroup |
createCurvedArrowRelation(java.util.HashSet<RelationData> relations,
javax.vecmath.Vector3f relativeEndingPosition,
float curvefactor,
LinkDirectionEnum dir)
|
javax.media.j3d.BranchGroup |
createInstanceCurvedArrowRelation(java.util.Hashtable<java.lang.String,RelationType> relations,
javax.vecmath.Vector3f relativeEndingPosition,
float curvefactor,
LinkDirectionEnum dir)
|
javax.media.j3d.BranchGroup |
createInstanceSelfLoopRelation(java.util.Hashtable<java.lang.String,RelationType> relations,
float sourceSphereRadius,
javax.vecmath.AxisAngle4f angle)
|
javax.media.j3d.BranchGroup |
createInstanceStraightRelation(java.util.Hashtable<java.lang.String,RelationType> relations,
javax.vecmath.Vector3f relativeEndingPosition,
float sourceSphereRadius,
LinkDirectionEnum dir)
|
javax.media.j3d.BranchGroup |
createISARelation(javax.vecmath.Vector3f relativeEndingPosition)
Draws a plain ISA relation to the specified relative position |
private javax.media.j3d.Appearance |
createLineAppearance()
Metodhs that adjusts graphics setting for the appearance of the components and returns a proper appearance |
private javax.media.j3d.Appearance |
createRangeItemAppearance(javax.vecmath.Color3f itemColor)
|
private javax.media.j3d.Appearance |
createRangeItemAppearance(javax.vecmath.Color3f itemColor,
float transparence)
Metodhs that adjusts graphics setting for the appearance of the components and returns a proper appearance |
private javax.media.j3d.BranchGroup |
createRelationBG()
Creates a proper BranchGroup |
private javax.media.j3d.TransformGroup |
createRelationTG()
Creates a proper TransformGroup |
javax.media.j3d.BranchGroup |
createRelationWithRange(RelationData rdata,
javax.vecmath.Vector3f relativeRangePosition,
LinkDirectionEnum direction)
Creates a relation with an ending 3D icon that represents the range of the relation |
javax.media.j3d.BranchGroup |
createRelationWithRange(java.lang.String relation,
NodeTypeAbstraction range,
javax.vecmath.Vector3f relativeRangePosition,
LinkDirectionEnum direction)
Creates a relation with an ending 3D icon that represents the range of the relation |
javax.media.j3d.BranchGroup |
createRelationWithSetOfElements(java.lang.String relation,
java.lang.String groupingID,
java.util.HashSet<java.lang.String> ranges,
javax.vecmath.Vector3f relativeRangePosition,
LinkDirectionEnum direction,
boolean isConcept)
Creates a relation with an ending 3D icon that represents the Set of the ranges |
javax.media.j3d.BranchGroup |
createSelfLoopRelation(java.util.HashSet<RelationData> relations,
float sourceSphereRadius,
javax.vecmath.AxisAngle4f angle)
|
javax.media.j3d.BranchGroup |
createSideRelations(java.util.Hashtable<java.lang.String,java.util.HashSet<NodeTypeAbstraction>> relationsNotOnScreen,
javax.vecmath.Vector3f relativeRangePosition,
LinkDirectionEnum direction)
Creates a relation with an ending 3D icon that represents the Set of the ranges |
javax.media.j3d.BranchGroup |
createStraightRelation(java.util.HashSet<RelationData> relations,
javax.vecmath.Vector3f relativeEndingPosition,
float sourceSphereRadius,
LinkDirectionEnum dir)
It draws a plain (not an ISA) relation |
private javax.media.j3d.BranchGroup |
drawArrowedLine()
Draws the line (cylinder + cone) |
private javax.media.j3d.BranchGroup |
drawArrowedLoop(javax.vecmath.AxisAngle4f angle)
|
private javax.media.j3d.TransformGroup |
drawArrowHeadCone(javax.media.j3d.Transform3D where,
java.util.HashSet<RelationData> relLabelSet)
|
private javax.media.j3d.BranchGroup |
drawCurvedArrow(float scale)
|
private javax.media.j3d.BranchGroup |
drawLabel(java.lang.String relationLabel)
Creates a 3D label object |
private void |
drawRangeLabel(javax.media.j3d.TransformGroup tgx,
java.lang.String rangeLAbel,
javax.vecmath.Color3f rangeLabelColor)
|
private javax.media.j3d.BranchGroup |
drawRelationWithNamedEntities(java.lang.String groupingID,
java.util.HashSet<java.lang.String> ranges,
boolean isConcept)
|
private javax.media.j3d.BranchGroup |
drawRelationWithPlaceHolder(NodeTypeAbstraction myRange)
Draws a relation (arrowed line) and an ending Pickable object |
private javax.media.j3d.BranchGroup |
drawRelationWithPlaceHolder(RelationData rdata)
|
static java.awt.Color |
getRelationColor(java.lang.String relationURI)
|
static void |
removeRelationColor(java.lang.String relationURI)
|
static void |
setColorToRelation(java.awt.Color c,
java.lang.String relationURI)
|
void |
setFullURI(java.lang.String fullURI)
|
void |
setRelationType(GraphicalLinkTypeEnum relationType)
|
void |
setTransparency(float transparency)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final javax.vecmath.Color3f black
private static java.util.Hashtable<java.lang.String,java.awt.Color> coloredRelations
private boolean isCardinalityConstrained
private boolean isDatatype
private javax.vecmath.Color3f relationColor
private LinkDirectionEnum relationDirection
private GraphicalLinkTypeEnum relationType
private javax.vecmath.Vector3f relativeEndingOBJPosition
private java.util.HashSet<RelationData> setOfRelationData
private float sourceElementSize
private javax.vecmath.Vector3f translationVector
private float transparency
private java.lang.String uriOfPickableEndingOBJ
Constructor Detail |
---|
public Relation3DObject()
Method Detail |
---|
private void addComplementOf(javax.media.j3d.TransformGroup tgx)
private void addDataTypeRange(javax.media.j3d.TransformGroup tgx)
private void addEnumerationRange(javax.media.j3d.TransformGroup tgx)
private void addIntersectionRange(javax.media.j3d.TransformGroup tgx)
private void addNamedConceptRange(javax.media.j3d.TransformGroup tgx)
private void addNamedIndividualRange(javax.media.j3d.TransformGroup tgx)
private void addRestrictionRange(javax.media.j3d.TransformGroup tgx)
private void addUnionRange(javax.media.j3d.TransformGroup tgx)
private float computeConePositionScale()
private javax.media.j3d.Transform3D computeOrientation(javax.vecmath.Vector3f finalPos, float scale, boolean invertDirection, boolean isCone)
private javax.media.j3d.Appearance createArrowHeadAppearance(boolean isMultipleRelation)
public javax.media.j3d.BranchGroup createCurvedArrowRelation(java.util.HashSet<RelationData> relations, javax.vecmath.Vector3f relativeEndingPosition, float curvefactor, LinkDirectionEnum dir)
public javax.media.j3d.BranchGroup createInstanceCurvedArrowRelation(java.util.Hashtable<java.lang.String,RelationType> relations, javax.vecmath.Vector3f relativeEndingPosition, float curvefactor, LinkDirectionEnum dir)
public javax.media.j3d.BranchGroup createInstanceSelfLoopRelation(java.util.Hashtable<java.lang.String,RelationType> relations, float sourceSphereRadius, javax.vecmath.AxisAngle4f angle)
public javax.media.j3d.BranchGroup createInstanceStraightRelation(java.util.Hashtable<java.lang.String,RelationType> relations, javax.vecmath.Vector3f relativeEndingPosition, float sourceSphereRadius, LinkDirectionEnum dir)
public javax.media.j3d.BranchGroup createISARelation(javax.vecmath.Vector3f relativeEndingPosition)
relativeEndingPosition
- The position has to be equal to the difference between the
parent and the son absolute positions
private javax.media.j3d.Appearance createLineAppearance()
private javax.media.j3d.Appearance createRangeItemAppearance(javax.vecmath.Color3f itemColor)
private javax.media.j3d.Appearance createRangeItemAppearance(javax.vecmath.Color3f itemColor, float transparence)
private javax.media.j3d.BranchGroup createRelationBG()
private javax.media.j3d.TransformGroup createRelationTG()
public javax.media.j3d.BranchGroup createRelationWithRange(RelationData rdata, javax.vecmath.Vector3f relativeRangePosition, LinkDirectionEnum direction)
public javax.media.j3d.BranchGroup createRelationWithRange(java.lang.String relation, NodeTypeAbstraction range, javax.vecmath.Vector3f relativeRangePosition, LinkDirectionEnum direction)
range
- The set of range elementsrelation
- URI of the relationrelativeRangePosition
- The position of the ending objectdirection
- The direction of the relation (Must be LinkTypeEnum.in or
LinkTypeEnum.out)
public javax.media.j3d.BranchGroup createRelationWithSetOfElements(java.lang.String relation, java.lang.String groupingID, java.util.HashSet<java.lang.String> ranges, javax.vecmath.Vector3f relativeRangePosition, LinkDirectionEnum direction, boolean isConcept)
ranges
- The set of range elementsrelation
- URI of the relationrelativeRangePosition
- The position of the ending objectdirection
- The direction of the relation (Must be LinkTypeEnum.in or
LinkTypeEnum.out)
public javax.media.j3d.BranchGroup createSelfLoopRelation(java.util.HashSet<RelationData> relations, float sourceSphereRadius, javax.vecmath.AxisAngle4f angle)
public javax.media.j3d.BranchGroup createSideRelations(java.util.Hashtable<java.lang.String,java.util.HashSet<NodeTypeAbstraction>> relationsNotOnScreen, javax.vecmath.Vector3f relativeRangePosition, LinkDirectionEnum direction)
public javax.media.j3d.BranchGroup createStraightRelation(java.util.HashSet<RelationData> relations, javax.vecmath.Vector3f relativeEndingPosition, float sourceSphereRadius, LinkDirectionEnum dir)
private javax.media.j3d.BranchGroup drawArrowedLine()
private javax.media.j3d.BranchGroup drawArrowedLoop(javax.vecmath.AxisAngle4f angle)
private javax.media.j3d.TransformGroup drawArrowHeadCone(javax.media.j3d.Transform3D where, java.util.HashSet<RelationData> relLabelSet)
private javax.media.j3d.BranchGroup drawCurvedArrow(float scale)
private javax.media.j3d.BranchGroup drawLabel(java.lang.String relationLabel)
relationLabel
- The label to draw
private void drawRangeLabel(javax.media.j3d.TransformGroup tgx, java.lang.String rangeLAbel, javax.vecmath.Color3f rangeLabelColor)
private javax.media.j3d.BranchGroup drawRelationWithNamedEntities(java.lang.String groupingID, java.util.HashSet<java.lang.String> ranges, boolean isConcept)
private javax.media.j3d.BranchGroup drawRelationWithPlaceHolder(NodeTypeAbstraction myRange)
private javax.media.j3d.BranchGroup drawRelationWithPlaceHolder(RelationData rdata)
public static java.awt.Color getRelationColor(java.lang.String relationURI)
public static void removeRelationColor(java.lang.String relationURI)
public static void setColorToRelation(java.awt.Color c, java.lang.String relationURI)
public void setFullURI(java.lang.String fullURI)
fullURI
- The fullURI to set.public void setRelationType(GraphicalLinkTypeEnum relationType)
public void setTransparency(float transparency)
transparency
- The transparency to set.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |