Package org.gephi.visualization.model.node

Examples of org.gephi.visualization.model.node.NodeModel


            Octant leaf = leaves[i];
            if (leaf != null) {
                int l = leaf.nodesLength;
                NodeModel[] nodes = leaf.nodes;
                for (int j = 0; j < l; j++) {
                    NodeModel node = nodes[j];
                    if (node != null) {
                        if (!node.isInOctreeLeaf(leaf)) {
                            removeNode(node);
                            movedNodes.add(node);
                        }
                    }
                }
View Full Code Here


                while (edgeId < edgeLength && pointer == null) {
                    pointer = edges[edgeId++];
                }
                if (pointer == null) {
                    if (nodeItr.hasNext()) {
                        NodeModel node = nodeItr.next();
                        edges = node.getEdges();
                        edgeLength = edges.length;
                        edgeId = 0;
                    } else {
                        return false;
                    }
View Full Code Here

    private void growNodes(final int index) {
        if (nodes == null) {
            nodes = new NodeModel[10];
        } else if (index >= nodes.length) {
            final int newLength = (int) Math.min(Math.max((ONEOVERPHI * nodes.length) >>> 16, index + 1), Integer.MAX_VALUE);
            final NodeModel t[] = new NodeModel[newLength];
            System.arraycopy(nodes, 0, t, 0, nodes.length);
            nodes = t;
        }
    }
View Full Code Here

        }
    }

    private void trimNodes() {
        if (nodesLength >= TRIM_THRESHOLD && ((float) nodeCount) / nodesLength < TRIM_RATIO) {
            NodeModel t[] = new NodeModel[nodeCount];
            if (nodeCount > 0) {
                int c = 0;
                for (int i = 0; i < nodes.length; i++) {
                    NodeModel n = nodes[i];
                    if (n != null) {
                        n.setOctantId(c);
                        t[c++] = n;
                    }
                }
            }
            nodesLength = t.length;
View Full Code Here

            int addedNodes = 0;
            int removedEdges = 0;
            int addedEdges = 0;

            for (int i = 0; i < nodes.length; i++) {
                NodeModel node = nodes[i];
                if (node != null && node.getNode().getStoreId() == -1) {
                    //Removed
                    octree.removeNode(node);
                    nodes[i] = null;
                    removedNodes++;
                }
            }
            for (Node node : graph.getNodes()) {
                int id = node.getStoreId();
                if (id >= nodes.length || nodes[id] == null) {
                    growNodes(id);
                    NodeModel model = nodeModeler.initModel(node);
                    octree.addNode(model);
                    nodes[id] = model;
                    addedNodes++;
                }
            }
            for (int i = 0; i < edges.length; i++) {
                EdgeModel edge = edges[i];
                if (edge != null && edge.getEdge().getStoreId() == -1) {
                    //Removed
                    NodeModel sourceModel = nodes[edge.getEdge().getSource().getStoreId()];
                    NodeModel targetModel = nodes[edge.getEdge().getTarget().getStoreId()];
                    if (sourceModel != null) {
                        sourceModel.removeEdge(edge);
                    }
                    if (targetModel != null) {
                        targetModel.removeEdge(edge);
                    }
                    edges[i] = null;
                    removedEdges++;
                }
            }
            float minWeight = Float.MAX_VALUE;
            float maxWeight = Float.MIN_VALUE;
            for (Edge edge : graph.getEdges()) {
                int id = edge.getStoreId();
                if (id >= edges.length || edges[id] == null) {
                    growEdges(id);
                    NodeModel sourceModel = nodes[edge.getSource().getStoreId()];
                    NodeModel targetModel = nodes[edge.getTarget().getStoreId()];
                    EdgeModel model = edgeModeler.initModel(edge, sourceModel, targetModel);
                    sourceModel.addEdge(model);
                    targetModel.addEdge(model);
                    edges[id] = model;
                    addedEdges++;
                }
                float w = (float) edge.getWeight();
                minWeight = Math.min(w, minWeight);
View Full Code Here

    private void growNodes(final int index) {
        if (nodes == null) {
            nodes = new NodeModel[10];
        } else if (index >= nodes.length) {
            final int newLength = (int) Math.min(Math.max((ONEOVERPHI * nodes.length) >>> 16, index + 1), Integer.MAX_VALUE);
            final NodeModel t[] = new NodeModel[newLength];
            System.arraycopy(nodes, 0, t, 0, nodes.length);
            nodes = t;
        }
    }
View Full Code Here

    @Override
    public void display(GL2 gl, GLU glu) {
        //Update viewport
        NodeModeler nodeModeler = (NodeModeler) nodeClass.getCurrentModeler();
        for (Iterator<NodeModel> itr = octree.getNodeIterator(); itr.hasNext();) {       //TODO Move this
            NodeModel obj = itr.next();
            nodeModeler.setViewportPosition(obj);
        }

        markTime++;

        VizModel vizModel = VizController.getInstance().getVizModel();

        //Edges
        if (edgeClass.isEnabled()) {
            edgeClass.beforeDisplay(gl, glu);

            for (Iterator<EdgeModel> itr = octree.getEdgeIterator(); itr.hasNext();) {
                EdgeModel obj = itr.next();

                if (obj.markTime != markTime) {
                    obj.display(gl, glu, vizModel);
                    obj.markTime = markTime;
                }
            }
            edgeClass.afterDisplay(gl, glu);
        }

        markTime++;

        //Arrows
        if (edgeClass.isEnabled() && vizConfig.isShowArrows() && dataBridge.isDirected()) {
            gl.glBegin(GL2.GL_TRIANGLES);
            for (Iterator<EdgeModel> itr = octree.getEdgeIterator(); itr.hasNext();) {
                EdgeModel obj = itr.next();
                if (obj.getEdge().isDirected() && obj.markTime != markTime) {
                    obj.displayArrow(gl, glu, vizModel);
                    obj.markTime = markTime;
                }
            }
            gl.glEnd();
        }

        //Nodes
        if (nodeClass.isEnabled()) {
            nodeClass.beforeDisplay(gl, glu);
            for (Iterator<NodeModel> itr = octree.getNodeIterator(); itr.hasNext();) {
                NodeModel obj = itr.next();
                if (obj.markTime != markTime) {
                    obj.display(gl, glu, vizModel);
                    obj.markTime = markTime;
                }
            }
            nodeClass.afterDisplay(gl, glu);
        }

        //Labels
        if (vizModel.getTextModel().isShowNodeLabels() || vizModel.getTextModel().isShowEdgeLabels()) {
            markTime++;
            if (nodeClass.isEnabled() && vizModel.getTextModel().isShowNodeLabels()) {
                textManager.getNodeRenderer().beginRendering();
                textManager.defaultNodeColor();
                if (textManager.isSelectedOnly()) {
                    for (Iterator<NodeModel> itr = octree.getNodeIterator(); itr.hasNext();) {
                        NodeModel obj = itr.next();
                        if (obj.markTime != markTime) {
                            if (obj.isSelected() && obj.isTextVisible()) {
                                textManager.getNodeRenderer().drawTextNode(obj);
                            }
                            obj.markTime = markTime;
                        }
                    }
                } else {
                    for (Iterator<NodeModel> itr = octree.getNodeIterator(); itr.hasNext();) {
                        NodeModel obj = itr.next();
                        if (obj.markTime != markTime) {
                            if (obj.isTextVisible()) {
                                textManager.getNodeRenderer().drawTextNode(obj);
                            }
                            obj.markTime = markTime;
                        }
                    }
View Full Code Here

//         unSelectedObjects = new ArrayList<ModelImpl>();
//         }*/
//
        boolean someSelection = false;
        for (Iterator<NodeModel> itr = octree.getSelectableNodeIterator(); itr.hasNext();) {
            NodeModel obj = itr.next();
            if (isUnderMouse(obj)) {
                if (!obj.isSelected()) {
                    //New selected
                    obj.setSelected(true);
                }
                someSelection = true;
            } else if (obj.isSelected()) {
                obj.setSelected(false);
            }
        }
//
//        for (ModelClass objClass : selectableClasses) {
//            forceUnselect = objClass.isAloneSelection() && someSelection;
View Full Code Here

TOP

Related Classes of org.gephi.visualization.model.node.NodeModel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.