|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectch.epfl.craft.maglib.magnet.DefaultMagnetModel
Manages the nodes. Knows who is selected, magnetic or visible.
Terminology: We make no difference between a node or a MagnetNode,
they are the same. Everything that is handled by this class is a MagnetNode. However
not every MagnetNode is magnetic, only those that attracts or repulse
other nodes.
| Field Summary | |
java.util.Vector |
allNodes
|
protected java.util.ArrayList |
listeners
the listeners of the model |
java.util.Vector |
magneticNodes
|
java.util.Vector |
selectedNodes
|
java.util.Vector |
visibleNodes
|
| Constructor Summary | |
DefaultMagnetModel()
Contructs a new DefaultMagnetModel |
|
DefaultMagnetModel(MagnetNode[] nodes)
Contructs a new DefaultMagnetModel with the given nodes
as initial data |
|
| Method Summary | |
void |
addListener(MagnetModelListener listener)
Adds a listener that will be notified when the model has changed. |
void |
addMagnetNode(MagnetNode newMagnetNode)
Adds a MagnetNode instance to this model
Nothing happens if aMagnetNode is null or already exists in the model. |
void |
addMagnetNodes(MagnetNode[] newMagnetNodes)
Adds MagnetNode instances to this model
If a node is null or already exists in the model, it is not added to the model.
|
void |
clearMagneticNodes()
Resets all magnetic nodes. |
void |
clearVisibleNodes()
Resets all visible nodes: none (except magnetic nodes) will be drawn on screen. |
boolean |
getIsMagneticNode(MagnetNode aNode)
Returns true if the node is magnetic, else false |
boolean |
getIsSelectedNode(MagnetNode aNode)
Returns true if the node is selected, else false |
boolean |
getIsVisibleNode(MagnetNode aMagnetNode)
Returns true if aMagnetNode is visible, else false. |
java.util.Collection |
getMagneticNodes()
Returns all magnetic nodes. |
java.util.Collection |
getMagnetNodes()
Returns all the nodes in the model |
java.util.Collection |
getSelectedNodes()
Returns all selected nodes. |
MagnetNode[] |
getSimilarNodes(MagnetNode aMagnetNode)
Returns a list of MagnetNodes ordered by similarity with
aMagnetNode. |
java.util.Collection |
getVisibleMagnetNodes()
Returns all visible nodes in the model |
java.util.Collection |
getVisibleMagnetNodesInRect(java.awt.Rectangle aRectangle)
Returns the nodes whoose origin is in a aRectangle |
void |
removeListener(MagnetModelListener listener)
Removes a listener. |
void |
removeMagnetNode(MagnetNode aMagnetNode)
Removes a MagnetNode instance from this model.
|
void |
reset()
Resets the model. |
void |
setIsMagneticNode(MagnetNode aNode,
boolean aBoolean)
Sets the node as magnetic if aBoolean is true,
else set it as non magnetic. |
void |
setIsSelectedNode(MagnetNode aNode,
boolean aBoolean)
Sets the node as selected if aBoolean is true,
else set it as not selected. |
void |
setIsVisibleNode(MagnetNode aNode,
boolean aBoolean)
Sets the node as visible or invisible in the view if aBoolean
is true or false; |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public java.util.Vector allNodes
public java.util.Vector magneticNodes
public java.util.Vector visibleNodes
public java.util.Vector selectedNodes
protected java.util.ArrayList listeners
| Constructor Detail |
public DefaultMagnetModel()
DefaultMagnetModel
public DefaultMagnetModel(MagnetNode[] nodes)
DefaultMagnetModel with the given nodes
as initial data
nodes - the magnet nodes to be used by this instance of DefaultMagnetModel| Method Detail |
public void addMagnetNode(MagnetNode newMagnetNode)
MagnetNode instance to this model
Nothing happens if aMagnetNode is null or already exists in the model.
addMagnetNode in interface MagnetModelnewMagnetNode - the node to add to the modelpublic void addMagnetNodes(MagnetNode[] newMagnetNodes)
MagnetNode instances to this model
If a node is null or already exists in the model, it is not added to the model.
This does not affect other nodes.
addMagnetNodes in interface MagnetModelnewMagnetNodes - the nodes to add to the modelpublic void removeMagnetNode(MagnetNode aMagnetNode)
MagnetNode instance from this model.
Nothing happens if aMagnetNode is null or does not exist in the model.
removeMagnetNode in interface MagnetModelaMagnetNode - the node to remove from the modelpublic java.util.Collection getMagnetNodes()
getMagnetNodes in interface MagnetModelpublic java.util.Collection getVisibleMagnetNodes()
getVisibleMagnetNodes in interface MagnetModelpublic boolean getIsVisibleNode(MagnetNode aMagnetNode)
aMagnetNode is visible, else false.
getIsVisibleNode in interface MagnetModelaMagnetNode is visible, else false.
public void setIsVisibleNode(MagnetNode aNode,
boolean aBoolean)
aBoolean
is true or false;
setIsVisibleNode in interface MagnetModelaNode - the node to set visible/invisibleaBoolean - true if aMagnetNode has to be visible, else false.public void clearVisibleNodes()
clearVisibleNodes in interface MagnetModelpublic void clearMagneticNodes()
clearMagneticNodes in interface MagnetModelpublic java.util.Collection getVisibleMagnetNodesInRect(java.awt.Rectangle aRectangle)
aRectangle
getVisibleMagnetNodesInRect in interface MagnetModelaRectangle - a rectangle in the MagnetView coordinates
aRectanglepublic boolean getIsMagneticNode(MagnetNode aNode)
getIsMagneticNode in interface MagnetModelaNode - the node to check if it is magnetic.
public void setIsMagneticNode(MagnetNode aNode,
boolean aBoolean)
aBoolean is true,
else set it as non magnetic. All magnetic nodes will be visible, even if
not set as visible.
setIsMagneticNode in interface MagnetModelaNode - the node to make magnetic/non-magneticaBoolean - true to make the node magnetic, else falsepublic java.util.Collection getMagneticNodes()
getMagneticNodes in interface MagnetModelpublic boolean getIsSelectedNode(MagnetNode aNode)
getIsSelectedNode in interface MagnetModelaNode - the node to check if it is selected.
public void setIsSelectedNode(MagnetNode aNode,
boolean aBoolean)
aBoolean is true,
else set it as not selected.
setIsSelectedNode in interface MagnetModelaNode - the node to select/deselectaBoolean - true to make the node selected, else falsepublic java.util.Collection getSelectedNodes()
getSelectedNodes in interface MagnetModelpublic MagnetNode[] getSimilarNodes(MagnetNode aMagnetNode)
MagnetNodes ordered by similarity with
aMagnetNode. The returned array does not contain
aMagnetNode.
aMagnetNode - the node to find the most similar
public void addListener(MagnetModelListener listener)
addListener in interface MagnetModellistener - the listener object to addpublic void removeListener(MagnetModelListener listener)
removeListener in interface MagnetModellistener - the listener object to removepublic void reset()
reset in interface MagnetModel
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||