Statistics
| Revision:

gvsig-raster / org.gvsig.raster / branches / org.gvsig.raster_dataaccess_refactoring / org.gvsig.raster.lib / org.gvsig.raster.lib.impl / src / main / java / org / gvsig / raster / impl / buffer / SpiRasterQuery.java @ 2424

History | View | Annotate | Download (3.13 KB)

1
package org.gvsig.raster.impl.buffer;
2

    
3
import java.awt.Rectangle;
4

    
5
import org.gvsig.fmap.dal.DataQuery;
6
import org.gvsig.fmap.dal.coverage.dataset.Buffer;
7
import org.gvsig.fmap.dal.coverage.datastruct.BandList;
8
import org.gvsig.fmap.dal.coverage.datastruct.Extent;
9
import org.gvsig.fmap.dal.coverage.datastruct.NoData;
10
import org.gvsig.fmap.dal.coverage.exception.QueryException;
11
import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
12
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
13
import org.gvsig.raster.cache.tile.provider.CacheStruct;
14
import org.gvsig.raster.cache.tile.provider.TileListener;
15
import org.gvsig.timesupport.Time;
16
import org.gvsig.tools.task.TaskStatus;
17

    
18
/**
19
 * Raster query interface for providers. 
20
 * @author Nacho Brodin (nachobrodin@gmail.com)
21
 */
22
public interface SpiRasterQuery extends DataQuery {
23
        
24
        public int getType();
25
                
26
        public int[] getDrawableBands();
27
        
28
        public boolean isSupersamplingOptionActive();
29
        
30
        public int getAlphaBandNumber();
31
        
32
        public NoData getNoDataValueToFill();
33
        
34
        public int getAdjustedX();
35

    
36
        public int getAdjustedY();
37
        
38
        public int getAdjustedWidth();
39

    
40
        public int getAdjustedHeight();
41
        
42
        /**
43
         * Gets the adjusted window of the request in pixel coordinates
44
         */
45
        public Rectangle getAdjustedRequestPxWindow();
46
        
47
        /**
48
         * Gets the window of the request in pixel coordinates
49
         */
50
         public Rectangle getRequestPxWindow();
51
        
52
        /**
53
          * Gets a bounding box of a request in world coordinates without adjust to the layer limits.
54
          */
55
         public Extent getRequestBoundingBox();
56
        
57
        /**
58
         * Gets a bounding box of a request in world coordinates adjusted to the bounding box of the source.
59
         */
60
        public Extent getAdjustedRequestBoundingBox();
61
        
62
        public int getBufWidth();
63

    
64
        public int getBufHeight();
65

    
66
        public int getAdjustedBufWidth();
67

    
68
        public int getAdjustedBufHeight();
69
        
70
        public TileListener getTileListener();
71
        
72
        public Time getTime();
73
        
74
        public int getTileRow();
75

    
76
        public int getTileCol();
77

    
78
        public int getResolutionLevel();
79
        
80
        /**
81
         * Gets the task status
82
         */
83
        public TaskStatus getTaskStatus();
84
        
85
        public boolean requestIsPixelCoordinates();
86
        
87
        public boolean requestIsInWorldCoordinates();
88
        
89
        public BandList getBandList();
90
        
91
        public void setBandList(BandList bandList);
92

    
93
        /**
94
         * Buffer loaded by the provider and created by the store
95
         * @return
96
         */
97
        public Buffer getBufferForProviders();
98
        
99
        /**
100
          * The buffer is always built by the <code>DataStore</code> but in some cases
101
          * it's necessary assign the result because the buffer has changed. In any case, It's 
102
          * advisable not to do it because the buffer for providers is replaced and next uses 
103
          * of this query would return an error.
104
          * @return
105
          */
106
        public void setBufferResult(Buffer buffer);
107
        
108
        public CacheStruct getCacheStruct();
109

    
110
        public void setCacheStruct(CacheStruct cacheStruct);
111

    
112
        public boolean requestIsTiled();
113
        
114
         /**
115
          * The buffer won't be built internally when all parameters will be calculated.
116
          * Uses this call carefully. The provider must know that <code>getBufferForProviders</code>
117
          * will return null.
118
          */
119
        public void dontBuildBuffer();
120
        
121
        public Buffer createBuffer(RasterDataStore store) throws QueryException;
122
        
123
        public RasterQuery clone();
124
}