org.grinvin.graphs

Class DefaultEmbeddingModel

Implemented Interfaces:
Embedding, EmbeddingModel, EmbeddingView, MutableEmbeddingModel

public class DefaultEmbeddingModel
extends DefaultEmbedding
implements MutableEmbeddingModel

Implementation of Embedding that at the same time functions as a model in a model-view-controller triple. An EmbeddingListener may register itself with this model to be informed about various changes:

Note that changes to the peer of this embedding (vertices being added or removed) should be listened to by a separate EmbeddingListener registered with the peer.

Field Summary

Fields inherited from class org.grinvin.graphs.DefaultEmbedding

dimension

Constructor Summary

DefaultEmbeddingModel(GraphView peer, int dimension)
Create an embedding of the given dimension for the given peer graph.

Method Summary

void
addEmbeddingListener(EmbeddingListener l)
Register a embedding listener with this model.
void
removeEmbeddingListener(EmbeddingListener l)
Unregister a previously registered embedding listener.
void
setCoordinates(Vertex[] vertices, double[][] coordinates)
Perform a bulk change to the coordinates.
@Override
void copy(EmbeddingView original)
@Override
void copy(EmbeddingView original, GraphView newPeer)
@Override
void setCoordinates(Vertex vertex, double[] coordinates)
@Override
void setDimension(int dimension)

Methods inherited from class org.grinvin.graphs.DefaultEmbedding

copy, copy, getCoordinates, getDimension, getPeer, setCoordinates, setDimension

Constructor Details

DefaultEmbeddingModel

public DefaultEmbeddingModel(GraphView peer,
                             int dimension)
Create an embedding of the given dimension for the given peer graph.

Method Details

addEmbeddingListener

public void addEmbeddingListener(EmbeddingListener l)
Register a embedding listener with this model.
Specified by:
addEmbeddingListener in interface EmbeddingModel

removeEmbeddingListener

public void removeEmbeddingListener(EmbeddingListener l)
Unregister a previously registered embedding listener.
Specified by:
removeEmbeddingListener in interface EmbeddingModel

setCoordinates

public void setCoordinates(Vertex[] vertices,
                           double[][] coordinates)
Perform a bulk change to the coordinates. Listeners are informed once using an 'embedding changed' after all coordinates have been changed.
Specified by:
setCoordinates in interface MutableEmbeddingModel
Parameters:
vertices - Array of vertices whose coordinates are to be changed
coordinates - Array of corresponding new coordinates.

void copy

public @Override void copy(EmbeddingView original)

void copy

public @Override void copy(EmbeddingView original,
                           GraphView newPeer)

void setCoordinates

public @Override void setCoordinates(Vertex vertex,
                                     double[] coordinates)

void setDimension

public @Override void setDimension(int dimension)