| Home >> All >> com >> port80 >> [ graph Javadoc ] |
com.port80.graph: Javadoc index of package com.port80.graph.
Package Samples:
com.port80.graph.algorithm.impl
com.port80.graph.algorithm
com.port80.graph.dot.impl
com.port80.graph.dot.parser
com.port80.graph.test
com.port80.graph.impl
Classes:
Anneal: Anneal a placement of a VirtualGraph with dynamic created grid points and meeting spacing requirements. For bus->bus and vertex->bus routes, grid start from the vertex x-coordinates and edge-edge (ESPACING) spacing apart on both sides. For vertex->vertex routes, grid start from the src x-coordinates and with (dest.x-src.x)/ESPACING divisions such that grid points are aligned with both src.x and dest.x. Each grid point is checked against existing vertices to make sure there are proper spacings. . Since Grid are now created dynamically, static data (eg. crossCost) are now moved to VirtualVertex and ...
AnnealWithCell: Anneal a placement of a VirtualGraph. . Output from MinCross and Position often contains some very obvious layout problem mainly due to MinCross having no distance information consider those cases as equivalent. Especially for bus routing, there are lots of opportunities to improve the layout by taking advantage the fact that anywhere on the bus is equivalent. . shortestPath() try to find a point to line or point to point path with minimum distance in the VirtualGraph with placement. Another pass of Position may be required to compact the layout afterwards. For bus-bus connections, shortestPath() ...
IGraph: Graph interface. . Each Graph have a name, a set of vertex (and thus a set of edges that come with it) and graph, and an attribute table. Each graph also have an associated vertex and edge factory. The default vertex factory would only allow vertex with unique names. The default edge factory is DefaultEdgeFactory which allow any kind of edges. . Graph is a container of GraphElement including Graph instances themselves. A graph can be viewed in two perspectives. Vertex and Edge are connected in a flat heirarchy. However, the graph can also be viewed as a tree of graphs each containing a set of vertices. ...
IEdge: Graph edge interface. . Each edge has a name, a head node, a tail node and an attribute table. For directed graph, head is the destination node (one with arrow head) and tail is the source node. . Edges are created and destroyed by EdgeFactory or its derivatives. Creating an edge automatically perform all the book keeping works to check for validity and connect the two vertex (adding the edge to both vertex). If an edge is not valid, EdgeFactory return null. Destroy an edge remove the connections at both vertex. . Attribute registry The EdgeFactory maintain a registry of valid attributes for edges ...
DotGraph: DotGraph is an intermediate graph created for layout using the 'dot' layout algorithms. DotGraph is created from an IGraph with additional V/E added or removed to be used by the NetworkSimplex.dotRank(). . DotGraph is created by extracting the topology information from an input IGraph. Instead of overlay onto the original graph, DotDirectGraph build an independent copy of the original graph. . Layout result are patched back to the original graph attribute table ('pos','-rank') and the DotGraph can be released after each layout. . DotGraph is read only since neither the vertex nor the edges from ...
DirectedEdgeFactory: Factory class that produce edges for directed graph.The factory also provide an IAttrTable interface for accessing default attributes and method to get the IAttrRegistry interface for client to check for unqiue attribute names. 'weight' and 'xpenalty' are supposed to be initialized from the graph description. If they are not specified, default values are used by DotEdge and VirutalEdge ... etc. (The attribute values stay undefined). DotEdge should use "weight_default" and "weight_critical" in the EdgeFactory table. VirtualEdge use "position_weight_default", "position_weight_stub", "position_weight_critical" ...
Untangle: Untangle a placement of a VirtualGraph. Global cross reduction using shortest path algoirthm on output of MinCross. . This is adapted from Anneal except that without actual coordinates, the distance and turn cost are not used. Instead of find the actual shortest path, the goal is just to go around crossings. Instead of using a grid, the map opens a channel between each pair of vertices for routing. NOTE: . After an edge chain is erased before routing, the vertex cells still keep the .vertex and .crossCost fields valid and used for cross cost calculations.
GenGraphVisitor: Generate graph object from AST. . Dot file coordinate system have origin at lower-left corner which is differ from Java at upper-left corner. Dot file have a graph attribute 'bb', that defines the bounding box of routed graphs, can be used to convert the coordinates. OBSOLETE: . This is an expriment to generate graph from AST instead of directly in the parser. For this simple grammer, it is possible but still uneccessarily complicated since it often required to check for child type and recreate the context. It is better to do a little more inside the parser.
ArrowFactory: Arrow factory. Arrow factory provides a named collection of of stock Arrow object templates. Each template is parameterized by the leadinWidth, which determines the leadin shape. Default templates have leadinWidth=1.0f. The template produced have default colors from the Arrow class. Typically client have to set the appropriate attributes for the Arrow template and render it into an BufferedImage and then applied AffineTransform and composition to merge the rendered image to client area. //FIXME: . Scale square down to 1/sqrt(2) with leadin.
IVertex: graph vertex interface. . Each vertex have a set of incoming edges, a set of outgoing edges and an attribute table. . Attribute registry Vertex are usually created by a VertexFactory. The VertexFactory maintain an attribute registry for the type of vertex it created. Clients that invent their own attributes should register the attribute name with the Vertex class and check for conflicts during initialization. . No checking for valid attribute name is done when accessing the attribute table for the vertex.
DFTBDirectedVertexWalker: Depth first top to bottom transversal of a directed graph. . This is not a strictly depth first transversal. Depth first transversal should return the bottom-left first and the root last. . This transversal walk from top to bottom from left to right. The same order can be archived by using the IDFVertexVisitor.preVisit() and DFDirectedVertexWalker.walk(IVertex,Set,IDFVertexVisitor,Object).
Position: position(g): set n.coord (x and y) for all nodes n of g, using g.rank. (the graph may be modified by merging certain edges with a common endpoint.) the coordinates are computed by constructing and ranking an auxiliary graph. then leaf nodes are inserted in the fast graph. cluster boundary nodes are created and correctly separated.
VirtualGraph: Virtual graph constructed for routing from a IGraph. . VirtualGraph is created by extracting the topology information from an input IGraph for routing. . Routing information are patched back to the original graph attribute table ('pos') and the VirtualGraph can be released after each layout.
ParseException: This exception is thrown when parse errors are encountered. You can explicitly create objects of this exception type by calling the method generateParseException in the generated parser. You can modify this class to customize your error reporting mechanisms so long as you retain the public fields.
GridFactory: Grid factory for vertices in a given VirtualGraph. This class provide methods to create and manipulate Grid objects for the given VirtualGraph. To avoid allocation of lots of Grid object that are used only for a short time. The Grid factory maintains a pool of allocated Grid objects.
DotPolyline: Wrapper of a dynamic allocated array of pre-allocated DotPoint. The point array are pre-allocated with DotPoint so they can be reused without having to be re-allocated each time. . The class keep its own copy of the points so prevent cross linking with other objects.
IGraphElement: Interface applies to all graph objects (Vertex,Edge,Graph) . Basic services provided by this base interface are accessor methods to the object name, the attribute map and some constants. . Each GraphElement instance has an attribute table.
VirtualChain: A chain of VirtualEdge that should be routed together. Typically represents an IEdge or a portion an an IEdge (eg. a stub or a bus). The tail of a chain is the top-most VirtualVertex. The head of a chain is the bottom-most VirtualVertex.
GraphShape: Basic graph shape class that implements IGraphShape interface. . Wrapper around a java.awt.Shape objects and an enclosed unit square. When the unit square is scaled to accommodate the label bounds, the shape is scaled accordingly.
IEdgeFactory: Factory class that produce valid edges and destroy edges only if removal of the edge do not violate the factory constraints. The factory also provide an IAttrRegistry interface for client to check for unqiue attribute names.
DefaultGraphAttrTable: Place holder for preset default graph attributes. . The default values should never be changed. . Client should never access this class directly, instance of this class should only be used by vertex factories.
MinCross: Find an ordering with minimum edge crossing for a ranked graph with clusters are expanded. . The rank structure is global (not allocated per cluster) because mincross may compare nodes in different clusters.
| Home | Contact Us | Privacy Policy | Terms of Service |