Search in sources :

Example 1 with GridArranger

use of au.gov.asd.tac.constellation.plugins.arrangements.grid.GridArranger in project constellation by constellation-app.

the class ArrangeByNodeAttributePlugin method edit.

@Override
public void edit(final GraphWriteMethods wg, final PluginInteraction interaction, final PluginParameters parameters) throws InterruptedException {
    final boolean threeD = parameters.getParameters().get(THREE_D_PARAMETER_ID).getBooleanValue();
    final String attribute = parameters.getParameters().get(ATTRIBUTE_PARAMETER_ID).getStringValue();
    if (threeD) {
        if (attribute != null) {
            final SelectedInclusionGraph selectedGraph = new SelectedInclusionGraph(wg, SelectedInclusionGraph.Connections.NONE);
            final Attribute attr = new GraphAttribute(wg, wg.getAttribute(GraphElementType.VERTEX, attribute));
            selectedGraph.addAttributeToCopy(attr);
            final GraphWriteMethods ig = selectedGraph.getInclusionGraph();
            final int iattrId = ig.getAttribute(GraphElementType.VERTEX, attribute);
            final LayerArranger arranger = new LayerArranger();
            arranger.setLevelAttr(iattrId);
            arranger.setMaintainMean(!selectedGraph.isArrangingAll());
            arranger.arrange(ig);
            selectedGraph.retrieveCoords();
        }
    } else {
        if (attribute != null) {
            final Arranger inner = new GridArranger();
            final Arranger outer = new GridArranger();
            final GraphTaxonomyArranger arranger = new ArrangeByGroupTaxonomy(inner, outer, Connections.NONE, attribute);
            arranger.setMaintainMean(true);
            final SelectedInclusionGraph selectedGraph = new SelectedInclusionGraph(wg, Connections.NONE);
            selectedGraph.addAttributeToCopy(new GraphAttribute(wg, wg.getAttribute(GraphElementType.VERTEX, attribute)));
            arranger.arrange(selectedGraph.getInclusionGraph());
            selectedGraph.retrieveCoords();
        }
    }
}
Also used : GridArranger(au.gov.asd.tac.constellation.plugins.arrangements.grid.GridArranger) GraphWriteMethods(au.gov.asd.tac.constellation.graph.GraphWriteMethods) GridArranger(au.gov.asd.tac.constellation.plugins.arrangements.grid.GridArranger) Arranger(au.gov.asd.tac.constellation.plugins.arrangements.Arranger) GraphTaxonomyArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphTaxonomyArranger) Attribute(au.gov.asd.tac.constellation.graph.Attribute) GraphAttribute(au.gov.asd.tac.constellation.graph.GraphAttribute) GraphAttribute(au.gov.asd.tac.constellation.graph.GraphAttribute) SelectedInclusionGraph(au.gov.asd.tac.constellation.plugins.arrangements.SelectedInclusionGraph) GraphTaxonomyArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphTaxonomyArranger)

Example 2 with GridArranger

use of au.gov.asd.tac.constellation.plugins.arrangements.grid.GridArranger in project constellation by constellation-app.

the class SpectralArrangementPlugin method edit.

@Override
protected void edit(final GraphWriteMethods graph, final PluginInteraction interaction, final PluginParameters parameters) throws InterruptedException, PluginException {
    interaction.setProgress(0, 0, "Arranging...", true);
    if (graph.getVertexCount() > 0) {
        final SetRadiusForArrangement radiusSetter = new SetRadiusForArrangement(graph);
        radiusSetter.setRadii();
        final Arranger inner = new SpectralArranger();
        final Arranger outer = new GridArranger();
        final GraphTaxonomyArranger arranger = new GraphComponentArranger(inner, outer, Connections.LINKS);
        arranger.setSingletonArranger(new GridArranger());
        arranger.setDoubletArranger(new GridArranger());
        arranger.setInteraction(interaction);
        arranger.setMaintainMean(true);
        final SelectedInclusionGraph selectedGraph = new SelectedInclusionGraph(graph, Connections.LINKS);
        arranger.arrange(selectedGraph.getInclusionGraph());
        selectedGraph.retrieveCoords();
    }
    interaction.setProgress(1, 0, "Finished", true);
}
Also used : GridArranger(au.gov.asd.tac.constellation.plugins.arrangements.grid.GridArranger) SetRadiusForArrangement(au.gov.asd.tac.constellation.plugins.arrangements.SetRadiusForArrangement) GridArranger(au.gov.asd.tac.constellation.plugins.arrangements.grid.GridArranger) Arranger(au.gov.asd.tac.constellation.plugins.arrangements.Arranger) GraphComponentArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphComponentArranger) GraphTaxonomyArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphTaxonomyArranger) GraphComponentArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphComponentArranger) GraphTaxonomyArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphTaxonomyArranger) SelectedInclusionGraph(au.gov.asd.tac.constellation.plugins.arrangements.SelectedInclusionGraph)

Example 3 with GridArranger

use of au.gov.asd.tac.constellation.plugins.arrangements.grid.GridArranger in project constellation by constellation-app.

the class ArrangeInTreesPlugin method edit.

@Override
protected void edit(final GraphWriteMethods graph, final PluginInteraction interaction, final PluginParameters parameters) throws InterruptedException, PluginException {
    interaction.setProgress(0, 0, "Arranging...", true);
    if (graph.getVertexCount() > 0) {
        final SetRadiusForArrangement radiusSetter = new SetRadiusForArrangement(graph);
        radiusSetter.setRadii();
        final Arranger inner = new CircTreeArranger(CircTreeChoiceParameters.getDefaultParameters());
        final Arranger middle = new MdsArranger(MDSChoiceParameters.getDefaultParameters());
        final GridChoiceParameters outerGcParams = GridChoiceParameters.getDefaultParameters();
        outerGcParams.setRowOffsets(false);
        final Arranger outer = new GridArranger(outerGcParams);
        final GridChoiceParameters innerGcParams = GridChoiceParameters.getDefaultParameters();
        final GraphTaxonomyArranger arranger2 = new TreeTaxonArranger(inner, middle);
        arranger2.setInteraction(interaction);
        // Push the MDS parts further away from each other.
        final UncollideArrangement unc = new UncollideArrangement(2);
        unc.setMinPadding(4);
        arranger2.setUncollider(unc);
        final GraphTaxonomyArranger arranger1 = new GraphComponentArranger(arranger2, outer, Connections.LINKS);
        arranger1.setSingletonArranger(new GridArranger(innerGcParams));
        arranger1.setDoubletArranger(new GridArranger(innerGcParams, true));
        arranger1.setInteraction(interaction);
        final SelectedInclusionGraph selectedGraph = new SelectedInclusionGraph(graph, SelectedInclusionGraph.Connections.LINKS);
        final boolean maintainMean = !selectedGraph.isArrangingAll();
        arranger1.setMaintainMean(maintainMean);
        arranger1.arrange(selectedGraph.getInclusionGraph());
        selectedGraph.retrieveCoords();
    }
    interaction.setProgress(1, 0, "Finished", true);
}
Also used : GridChoiceParameters(au.gov.asd.tac.constellation.plugins.arrangements.grid.GridChoiceParameters) GridArranger(au.gov.asd.tac.constellation.plugins.arrangements.grid.GridArranger) SetRadiusForArrangement(au.gov.asd.tac.constellation.plugins.arrangements.SetRadiusForArrangement) GridArranger(au.gov.asd.tac.constellation.plugins.arrangements.grid.GridArranger) Arranger(au.gov.asd.tac.constellation.plugins.arrangements.Arranger) GraphComponentArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphComponentArranger) GraphTaxonomyArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphTaxonomyArranger) GraphComponentArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphComponentArranger) UncollideArrangement(au.gov.asd.tac.constellation.plugins.arrangements.uncollide.UncollideArrangement) GraphTaxonomyArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphTaxonomyArranger) SelectedInclusionGraph(au.gov.asd.tac.constellation.plugins.arrangements.SelectedInclusionGraph)

Example 4 with GridArranger

use of au.gov.asd.tac.constellation.plugins.arrangements.grid.GridArranger in project constellation by constellation-app.

the class HighDimensionEmbeddingPlugin method edit.

@Override
public void edit(final GraphWriteMethods wg, final PluginInteraction interaction, final PluginParameters parameters) throws InterruptedException, PluginException {
    final int dimensions = parameters.getParameters().get(DIMENSIONS_PARAMETER_ID).getIntegerValue();
    if (wg.getVertexCount() > 0) {
        final SetRadiusForArrangement radiusSetter = new SetRadiusForArrangement(wg);
        radiusSetter.setRadii();
        final GridChoiceParameters innerGcParams = GridChoiceParameters.getDefaultParameters();
        final Arranger inner = new HighDimensionEmbeddingArranger(dimensions);
        final GridChoiceParameters outerGcParams = GridChoiceParameters.getDefaultParameters();
        outerGcParams.setRowOffsets(false);
        final Arranger outer = new GridArranger(outerGcParams);
        final GraphTaxonomyArranger arranger = new GraphComponentArranger(inner, outer, Connections.LINKS);
        arranger.setSingletonArranger(new GridArranger(innerGcParams));
        arranger.setDoubletArranger(new GridArranger(innerGcParams, true));
        arranger.setInteraction(interaction);
        arranger.setMaintainMean(true);
        // We need to include links to discover the components.
        final SelectedInclusionGraph selectedGraph = new SelectedInclusionGraph(wg, Connections.LINKS);
        arranger.arrange(selectedGraph.getInclusionGraph());
        selectedGraph.retrieveCoords();
        PluginExecution.withPlugin(InteractiveGraphPluginRegistry.RESET_VIEW).executeNow(wg);
    }
}
Also used : GridChoiceParameters(au.gov.asd.tac.constellation.plugins.arrangements.grid.GridChoiceParameters) GridArranger(au.gov.asd.tac.constellation.plugins.arrangements.grid.GridArranger) SetRadiusForArrangement(au.gov.asd.tac.constellation.plugins.arrangements.SetRadiusForArrangement) GridArranger(au.gov.asd.tac.constellation.plugins.arrangements.grid.GridArranger) Arranger(au.gov.asd.tac.constellation.plugins.arrangements.Arranger) GraphComponentArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphComponentArranger) GraphTaxonomyArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphTaxonomyArranger) GraphComponentArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphComponentArranger) GraphTaxonomyArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphTaxonomyArranger) SelectedInclusionGraph(au.gov.asd.tac.constellation.plugins.arrangements.SelectedInclusionGraph)

Example 5 with GridArranger

use of au.gov.asd.tac.constellation.plugins.arrangements.grid.GridArranger in project constellation by constellation-app.

the class ArrangeInHierarchyPlugin method edit.

@Override
protected void edit(final GraphWriteMethods graph, final PluginInteraction interaction, final PluginParameters parameters) throws InterruptedException, PluginException {
    // roots will be a set of integers, which extends object type
    @SuppressWarnings("unchecked") final Set<Integer> roots = (Set<Integer>) parameters.getParameters().get(ROOTS_PARAMETER_ID).getObjectValue();
    if (graph.getVertexCount() > 0) {
        final SetRadiusForArrangement radiusSetter = new SetRadiusForArrangement(graph);
        radiusSetter.setRadii();
        final GridChoiceParameters innerGcParams = GridChoiceParameters.getDefaultParameters();
        final Arranger inner = new HierarchicalArranger(roots);
        final GridChoiceParameters outerGcParams = GridChoiceParameters.getDefaultParameters();
        outerGcParams.setRowOffsets(false);
        final Arranger outer = new GridArranger(outerGcParams);
        final GraphTaxonomyArranger arranger = new GraphComponentArranger(inner, outer, Connections.LINKS);
        arranger.setSingletonArranger(new GridArranger(innerGcParams));
        arranger.setDoubletArranger(new GridArranger(innerGcParams, true));
        arranger.setInteraction(interaction);
        arranger.setMaintainMean(true);
        final SelectedInclusionGraph selectedGraph = new SelectedInclusionGraph(graph, Connections.LINKS);
        arranger.arrange(selectedGraph.getInclusionGraph());
        selectedGraph.retrieveCoords();
    }
}
Also used : GridChoiceParameters(au.gov.asd.tac.constellation.plugins.arrangements.grid.GridChoiceParameters) GridArranger(au.gov.asd.tac.constellation.plugins.arrangements.grid.GridArranger) SetRadiusForArrangement(au.gov.asd.tac.constellation.plugins.arrangements.SetRadiusForArrangement) Set(java.util.Set) GridArranger(au.gov.asd.tac.constellation.plugins.arrangements.grid.GridArranger) Arranger(au.gov.asd.tac.constellation.plugins.arrangements.Arranger) GraphComponentArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphComponentArranger) GraphTaxonomyArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphTaxonomyArranger) GraphComponentArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphComponentArranger) GraphTaxonomyArranger(au.gov.asd.tac.constellation.plugins.arrangements.GraphTaxonomyArranger) SelectedInclusionGraph(au.gov.asd.tac.constellation.plugins.arrangements.SelectedInclusionGraph)

Aggregations

GridArranger (au.gov.asd.tac.constellation.plugins.arrangements.grid.GridArranger)7 Arranger (au.gov.asd.tac.constellation.plugins.arrangements.Arranger)6 GraphTaxonomyArranger (au.gov.asd.tac.constellation.plugins.arrangements.GraphTaxonomyArranger)6 SelectedInclusionGraph (au.gov.asd.tac.constellation.plugins.arrangements.SelectedInclusionGraph)6 GraphComponentArranger (au.gov.asd.tac.constellation.plugins.arrangements.GraphComponentArranger)5 SetRadiusForArrangement (au.gov.asd.tac.constellation.plugins.arrangements.SetRadiusForArrangement)5 GridChoiceParameters (au.gov.asd.tac.constellation.plugins.arrangements.grid.GridChoiceParameters)4 Set (java.util.Set)3 Attribute (au.gov.asd.tac.constellation.graph.Attribute)1 GraphAttribute (au.gov.asd.tac.constellation.graph.GraphAttribute)1 GraphWriteMethods (au.gov.asd.tac.constellation.graph.GraphWriteMethods)1 UncollideArrangement (au.gov.asd.tac.constellation.plugins.arrangements.uncollide.UncollideArrangement)1 ArrayList (java.util.ArrayList)1 BitSet (java.util.BitSet)1 HashMap (java.util.HashMap)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Map (java.util.Map)1