package graphtea.extensions.actions.product; import graphtea.graph.graph.GraphModel; import graphtea.graph.ui.GTabbedGraphPane; import graphtea.library.algorithms.goperators.product.GTensorProduct; import graphtea.platform.parameter.Parameter; import graphtea.platform.parameter.Parametrizable; import graphtea.plugins.main.GraphData; import graphtea.plugins.main.extension.GraphActionExtension; /** * Created by rostam on 10.07.15. * @author M. Ali Rostami */ public class TensorProduct implements GraphActionExtension, Parametrizable { @Parameter(description = "First Graph") public String g0 = "G0"; @Parameter(description = "Second Graph") public String g1 = "G1"; @Override public String getName() { return "Tensor Product"; } @Override public String getDescription() { return "Tensor Product"; } @Override public void action(GraphData graphData) { GTabbedGraphPane gtp = graphData.getBlackboard().getData(GTabbedGraphPane.NAME); GTensorProduct tensor = new GTensorProduct(); GraphModel g= (GraphModel) tensor.multiply(gtp.getGraphs().get(g0), gtp.getGraphs().get(g1)); tensor.setPositions(g); graphData.core.showGraph(g); } @Override public String checkParameters() { return null; } @Override public String getCategory() { return "Products"; } }