Changeset 2528


Ignore:
Timestamp:
04/02/07 11:03:32 (13 years ago)
Author:
sorber
Message:

Improved OverlayMarker selection layer.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/loci/visbio/overlays/OverlayMarker.java

    r2524 r2528  
    9191 
    9292    float size = 0.02f * overlay.getScalingValue(); 
    93     float scl = .1f; // for now 
     93    float scl = .3f; // for now 
    9494    float delta = GLOW_WIDTH * scl; 
    95  
    96     //System.out.println("x1 - size = " + (x1 - size)); // TEMP 
    97     //System.out.println("x1 + size = " + (x1 + size)); // TEMP 
    98     //System.out.println("y1 - size = " + (y1 - size)); // TEMP 
    99     //System.out.println("y1 + size = " + (y1 + size)); // TEMP 
    10095 
    10196    float xx1 = x1 - size - delta; 
     
    106101    float dx = 0.0001f; // TEMP 
    107102 
    108     float[][] setSamples; 
    109     if (true || 2 * delta > size) { 
     103    SampledSet domainSet = null; 
     104    int samplesLength = 4; 
     105    if (2 * delta > size) { 
    110106      // return box 
     107      float[][] setSamples; 
    111108      setSamples = new float[][]{ 
    112109        {xx1, xx2, xx1, xx2}, 
    113110        {yy1, yy1, yy2, yy2} 
    114111      }; 
     112 
     113      try { 
     114        domainSet = new Gridded2DSet(domain, setSamples, setSamples[0].length / 
     115            2, 2, null, null, null, false); 
     116      } 
     117      catch (VisADException ex) { ex.printStackTrace(); } 
    115118    } 
    116119    else { 
    117       // return cross 
     120      // return cross shape 
     121      // using a UnionSet for now--couldn't get a single 
     122      // Gridded2D set to appear as a cross 
     123      float[][] setSamples1 = { 
     124        {xx1, x1-delta, xx1, x1 - delta}, 
     125        {y1 + delta, y1 + delta, y1 - delta, y1 - delta} 
     126      }; 
     127 
     128      float[][] setSamples2 = {  
     129        {x1 - delta, x1 + delta, x1 - delta, x1 + delta}, 
     130        {yy1, yy1, yy2, yy2} 
     131      }; 
     132 
     133      float[][] setSamples3 = { 
     134        {x1 + delta, xx2, x1 + delta, xx2}, 
     135        {y1 + delta, y1 + delta, y1 - delta, y1 - delta} 
     136      }; 
     137 
     138      float[][][] setSamples = {setSamples1, setSamples2, setSamples3}; 
     139 
     140      samplesLength = 12; 
     141       
     142      Gridded2DSet[] sets = new Gridded2DSet[3];  
     143      try { 
     144        for (int j=0; j<3; j++) { 
     145          sets[j] = new Gridded2DSet(domain, setSamples[j], 2, 2,  
     146              null, null, null, false); 
     147        } 
     148        domainSet = new UnionSet(domain, sets); 
     149      } 
     150      catch (VisADException ex) { ex.printStackTrace(); } 
     151       
    118152      /* 
    119153      setSamples = new float[][]{ 
     
    123157          y1 - delta, y1 - delta, yy2, yy2, y1 - delta, y1 - delta} 
    124158      };*/ 
     159 
     160      // Run this example by curtis: 
     161      // Start with this: 
     162      /* 
     163      setSamples = new float[][] { 
     164        {xx1, x1 - delta,  
     165          xx1, x1 - delta,}, 
     166        {y1 + delta, y1 + delta,  
     167          y1 - delta, y1 - delta,} 
     168      }; 
     169      */ 
     170 
     171      // then try this: 
     172      /* 
    125173      setSamples = new float[][] { 
    126174        {xx1, x1 - delta, x1 - delta + dx, 
     
    129177          y1 - delta, y1 - delta, y1 - size - delta} 
    130178      }; 
    131     } 
    132  
    133     //System.out.println("coords ==========================="); // TEMP 
    134     /* 
    135     for (int i=0; i<setSamples[0].length; i++) { 
    136       System.out.println("(" + setSamples[0][i] + "," + setSamples[1][i] + ")"); 
    137     } 
    138     */ 
     179      */ 
     180      // I would expect the second one to look like a sideways 'T', but  
     181      // it looks like a triangle instead 
     182    } 
    139183 
    140184    // construct range samples 
     
    143187    float b = GLOW_COLOR.getBlue() / 255f; 
    144188 
    145     float[][] rangeSamples = new float[4][setSamples[0].length]; 
     189    float[][] rangeSamples = new float[4][samplesLength]; 
    146190    Arrays.fill(rangeSamples[0], r); 
    147191    Arrays.fill(rangeSamples[1], g); 
     
    150194 
    151195    // construct field 
    152     Gridded2DSet domainSet = null; 
    153196    FlatField field = null; 
    154197    try { 
    155       domainSet = new Gridded2DSet(domain, setSamples, setSamples[0].length / 
    156           2, 2, null, null, null, false); 
    157198      FunctionType fieldType = new FunctionType (domain, range); 
    158199      field = new FlatField(fieldType, domainSet); 
Note: See TracChangeset for help on using the changeset viewer.