| Summary: | DOT Graph View - edge decorations rendering problem | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Tools] GEF | Reporter: | Tamas Miklossy <miklossy> | ||||
| Component: | GEF DOT | Assignee: | gef-inbox <gef-inbox> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | matthias.wienand | ||||
| Version: | 1.0.0 | ||||||
| Target Milestone: | 5.0.0 (Oxygen) M3 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows NT | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
Dot computes a start point and an end point for the edges. These are provided as hints (start-point-hint, end-point-hint) to the Connection that visualizes the edge. The DotBSplineInterpolator is responsible for computing the ICurve geometry for the Connection. Normally, anchors are used to compute the positions of a Connection which the interpolator processes. However, since the StraightRouter and OrthogonalRouter currently determine the reference point for the anchor computation, they would need to be subclassed and specialized for Dot. In order to use the dot-provided start and end point without specializing the router implementations, the start and end point hint are used instead of the anchor-provided start and end points when constructing the ICurve geometry within DotBSplineInterpolator. Using the dot-provided start and end points, the visualization is correct, i.e. the angle of the decorations and the start and end points of the edges match the visualization by dot. The code is published on the master branch, therefore, I resolve this ticket as fixed for 5.0.0 M3. I added a follow-up bug #506791 for refactoring IConnectionRouter so that the parameters required by the used IComputationStrategy can be provided differently without changing the router. |
Created attachment 265111 [details] Screenshot about the DOT Graphview edge decoration rendering problem The DOT Graph View does not render the edge decorations properly. Im attached screenshot see the given dot file, rendering the dot file within the DOT Graph View (incorrect rendering), rendering the dot file with the graphviz executable (correct rendering).