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 2232 nbrodin
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 2424 nbrodin
import org.gvsig.fmap.dal.coverage.exception.QueryException;
11
import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
12 2255 nbrodin
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
13 2232 nbrodin
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 2233 nbrodin
        public boolean isSupersamplingOptionActive();
29 2232 nbrodin
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 2241 nbrodin
         * 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 2232 nbrodin
         * Gets a bounding box of a request in world coordinates adjusted to the bounding box of the source.
59
         */
60
        public Extent getAdjustedRequestBoundingBox();
61 2241 nbrodin
62
        public int getBufWidth();
63 2232 nbrodin
64 2241 nbrodin
        public int getBufHeight();
65
66 2232 nbrodin
        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 2241 nbrodin
80 2232 nbrodin
        /**
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 2255 nbrodin
91
        public void setBandList(BandList bandList);
92 2232 nbrodin
93
        /**
94
         * Buffer loaded by the provider and created by the store
95
         * @return
96
         */
97
        public Buffer getBufferForProviders();
98 2236 nbrodin
99 2239 nbrodin
        /**
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 2236 nbrodin
        public CacheStruct getCacheStruct();
109 2232 nbrodin
110 2236 nbrodin
        public void setCacheStruct(CacheStruct cacheStruct);
111 2232 nbrodin
112 2239 nbrodin
        public boolean requestIsTiled();
113 2255 nbrodin
114 2303 nbrodin
         /**
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 2424 nbrodin
        public Buffer createBuffer(RasterDataStore store) throws QueryException;
122
123 2255 nbrodin
        public RasterQuery clone();
124 2232 nbrodin
}