コード例 #1
0
ファイル: VisualEdge.java プロジェクト: HjcGibbs/jflowmap
  public boolean getVisibilityFor(double value) {
    final VisualFlowMapModel model = visualFlowMap.getModel();
    double weightFilterMin = model.getEdgeWeightFilterMin();
    double weightFilterMax = model.getEdgeWeightFilterMax();

    //    double edgeLengthFilterMin = model.getEdgeLengthFilterMin();
    //    double edgeLengthFilterMax = model.getEdgeLengthFilterMax();
    //    double length = getEdgeLength();

    double absValue = Math.abs(value);

    PBounds vb = getVisualFlowMap().getCamera().getViewBounds();

    boolean visible =
        !Double.isNaN(value)
            && value != 0.0
            &&
            //        model.getEdgeFilter().accepts(this)
            weightFilterMin <= absValue
            && absValue <= weightFilterMax
            &&
            //        edgeLengthFilterMin <= length && length <= edgeLengthFilterMax &&
            (!isSelfLoop() || visualFlowMap.getModel().getShowSelfLoops())
            && (vb.contains(getSourceNode().getPoint()) || vb.contains(getTargetNode().getPoint()));

    return visible;
  }
コード例 #2
0
ファイル: VisualEdge.java プロジェクト: HjcGibbs/jflowmap
 private double getSelfLoopSizeFor(double value) {
   double linewidth = Math.max(1, visualFlowMap.getModel().getMaxEdgeWidth());
   double normAbsValue = Math.abs(normalizeForWidthScale(value));
   if (Double.isNaN(normAbsValue)) {
     return 0;
   }
   double avgLen = visualFlowMap.getStats().getEdgeLengthStats().getAvg();
   return avgLen / MAX_EDGE_WIDTH * linewidth * normAbsValue;
 }
コード例 #3
0
ファイル: VisualEdge.java プロジェクト: HjcGibbs/jflowmap
 private double normalizeForColorScale(double value) {
   return visualFlowMap.getModel().normalizeForColorScale(value);
 }