Class BpmnAutoLayout

    • Field Detail

      • eventSize

        protected int eventSize
      • gatewaySize

        protected int gatewaySize
      • taskWidth

        protected int taskWidth
      • taskHeight

        protected int taskHeight
      • subProcessMargin

        protected int subProcessMargin
      • graph

        protected com.mxgraph.view.mxGraph graph
      • cellParent

        protected Object cellParent
      • generatedSequenceFlowEdges

        protected Map<String,​Object> generatedSequenceFlowEdges
      • generatedAssociationEdges

        protected Map<String,​Object> generatedAssociationEdges
    • Constructor Detail

      • BpmnAutoLayout

        public BpmnAutoLayout​(BpmnModel bpmnModel)
    • Method Detail

      • execute

        public void execute()
      • ensureSequenceFlowIdSet

        protected void ensureSequenceFlowIdSet​(SequenceFlow sequenceFlow)
      • ensureArtifactIdSet

        protected void ensureArtifactIdSet​(Artifact artifact)
      • handleAssociation

        protected void handleAssociation​(Association association)
      • handleSequenceFlow

        protected void handleSequenceFlow​(SequenceFlow sequenceFlow)
      • handleEvent

        protected void handleEvent​(FlowElement flowElement)
      • handleActivity

        protected void handleActivity​(FlowElement flowElement)
      • handleSubProcess

        protected void handleSubProcess​(FlowElement flowElement)
      • handleBoundaryEvents

        protected void handleBoundaryEvents()
      • handleSequenceFlow

        protected void handleSequenceFlow()
      • handleAssociations

        protected void handleAssociations()
      • createEventVertex

        protected void createEventVertex​(FlowElement flowElement)
      • createGatewayVertex

        protected void createGatewayVertex​(FlowElement flowElement)
      • generateDiagramInterchangeElements

        protected void generateDiagramInterchangeElements()
      • generateActivityDiagramInterchangeElements

        protected void generateActivityDiagramInterchangeElements()
      • generateSequenceFlowDiagramInterchangeElements

        protected void generateSequenceFlowDiagramInterchangeElements()
      • generateAssociationDiagramInterchangeElements

        protected void generateAssociationDiagramInterchangeElements()
      • euclidianDistance

        protected double euclidianDistance​(com.mxgraph.util.mxPoint point1,
                                           com.mxgraph.util.mxPoint point2)
      • optimizeEdgePoints

        protected List<com.mxgraph.util.mxPoint> optimizeEdgePoints​(List<com.mxgraph.util.mxPoint> unoptimizedPointsList)
      • createDiagramInterchangeInformation

        protected GraphicInfo createDiagramInterchangeInformation​(FlowElement flowElement,
                                                                  int x,
                                                                  int y,
                                                                  int width,
                                                                  int height)
      • createDiagramInterchangeInformation

        protected void createDiagramInterchangeInformation​(BaseElement element,
                                                           List<com.mxgraph.util.mxPoint> waypoints)
      • translateNestedSubprocesses

        protected void translateNestedSubprocesses​(Process process)
        Since subprocesses are autolayouted independently (see handleSubProcess(FlowElement)), the elements have x and y coordinates relative to the bounds of the subprocess (thinking the subprocess is on (0,0). This however, does not work for nested subprocesses, as they need to take in account the x and y coordinates for each of the parent subproceses. This method is to be called after fully layouting one process, since ALL elements need to have x and y.
      • translateNestedSubprocessElements

        protected void translateNestedSubprocessElements​(SubProcess subProcess)
      • getGraph

        public com.mxgraph.view.mxGraph getGraph()
      • setGraph

        public void setGraph​(com.mxgraph.view.mxGraph graph)
      • getEventSize

        public int getEventSize()
      • setEventSize

        public void setEventSize​(int eventSize)
      • getGatewaySize

        public int getGatewaySize()
      • setGatewaySize

        public void setGatewaySize​(int gatewaySize)
      • getTaskWidth

        public int getTaskWidth()
      • setTaskWidth

        public void setTaskWidth​(int taskWidth)
      • getTaskHeight

        public int getTaskHeight()
      • setTaskHeight

        public void setTaskHeight​(int taskHeight)
      • getSubProcessMargin

        public int getSubProcessMargin()
      • setSubProcessMargin

        public void setSubProcessMargin​(int subProcessMargin)