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 | } |