Revision 6302 org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.impl/src/main/java/org/gvsig/raster/lib/buffer/impl/DefaultBuffer.java

View differences:

DefaultBuffer.java
1 1
package org.gvsig.raster.lib.buffer.impl;
2 2

  
3
import java.awt.geom.AffineTransform;
4
import java.awt.geom.NoninvertibleTransformException;
5
import java.io.IOException;
6 3
import java.util.ArrayList;
7
import java.util.Iterator;
8 4
import java.util.List;
9 5

  
10
import org.apache.commons.lang3.exception.CloneFailedException;
11
import org.cresques.cts.ICoordTrans;
12 6
import org.cresques.cts.IProjection;
13
import org.slf4j.Logger;
14
import org.slf4j.LoggerFactory;
15

  
16 7
import org.gvsig.fmap.geom.Geometry;
17
import org.gvsig.fmap.geom.Geometry.SUBTYPES;
18 8
import org.gvsig.fmap.geom.GeometryLocator;
19
import org.gvsig.fmap.geom.exception.CreateGeometryException;
20
import org.gvsig.fmap.geom.operation.GeometryOperationException;
21
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException;
22 9
import org.gvsig.fmap.geom.primitive.Envelope;
23
import org.gvsig.fmap.geom.primitive.Point;
24 10
import org.gvsig.raster.lib.buffer.api.Band;
25
import org.gvsig.raster.lib.buffer.api.Band.BandByte;
26
import org.gvsig.raster.lib.buffer.api.Band.BandDouble;
27
import org.gvsig.raster.lib.buffer.api.Band.BandFloat;
28
import org.gvsig.raster.lib.buffer.api.Band.BandInt;
29
import org.gvsig.raster.lib.buffer.api.Band.BandShort;
30
import org.gvsig.raster.lib.buffer.api.BandNotification;
31 11
import org.gvsig.raster.lib.buffer.api.Buffer;
32 12
import org.gvsig.raster.lib.buffer.api.BufferLocator;
33 13
import org.gvsig.raster.lib.buffer.api.BufferManager;
34
import org.gvsig.raster.lib.buffer.api.BufferNotification;
35
import org.gvsig.raster.lib.buffer.api.FilterList;
36 14
import org.gvsig.raster.lib.buffer.api.NoData;
37 15
import org.gvsig.raster.lib.buffer.api.PageManager;
38 16
import org.gvsig.raster.lib.buffer.api.exceptions.BandException;
39 17
import org.gvsig.raster.lib.buffer.api.exceptions.BufferException;
40
import org.gvsig.raster.lib.buffer.api.statistics.Statistics;
41 18
import org.gvsig.raster.lib.buffer.impl.exceptions.CreateBufferException;
42
import org.gvsig.raster.lib.buffer.impl.statistics.DefaultStatistics;
43
import org.gvsig.tools.ToolsLocator;
44 19
import org.gvsig.tools.locator.LocatorException;
45
import org.gvsig.tools.observer.Notification;
46
import org.gvsig.tools.observer.Observable;
47
import org.gvsig.tools.observer.impl.BaseWeakReferencingObservable;
48
import org.gvsig.tools.task.SimpleTaskStatus;
20
import org.slf4j.Logger;
21
import org.slf4j.LoggerFactory;
49 22

  
50 23
/**
51 24
 * @author fdiaz
......
78 51
     * @throws CreateBufferException
79 52
     *             If there are some problems creating buffer.
80 53
     */
81
    public DefaultBuffer(int rows, int columns, int[] bandDataTypes, NoData[] bandNoData, IProjection projection,
82
        Envelope envelope, List<PageManager> pageManagers) throws CreateBufferException {
54
    public DefaultBuffer(int rows, int columns, int[] bandDataTypes, NoData[] bandNoData,
55
        IProjection projection, Envelope envelope, List<PageManager> pageManagers)
56
        throws CreateBufferException {
83 57
        this.bands = new ArrayList<Band>();
84 58
        this.rows = rows;
85 59
        this.columns = columns;
......
88 62
        try {
89 63
            if (envelope == null) {
90 64
                this.envelope =
91
                    GeometryLocator.getGeometryManager().createEnvelope(0, 0, columns, rows, Geometry.SUBTYPES.GEOM2D);
65
                    GeometryLocator.getGeometryManager().createEnvelope(0, 0, columns, rows,
66
                        Geometry.SUBTYPES.GEOM2D);
92 67
            }
93
            if(bandDataTypes!=null){
68
            if (bandDataTypes != null) {
94 69
                createBands(bandDataTypes, bandNoData, pageManagers);
95 70
            }
96 71
        } catch (Exception e) {
......
98 73
        }
99 74
    }
100 75

  
101
    private void createBands(int[] bandDataTypes, NoData[] bandNoData, List<PageManager> pageManagers)
102
        throws BandException {
76
    private void createBands(int[] bandDataTypes, NoData[] bandNoData,
77
        List<PageManager> pageManagers) throws BandException {
103 78

  
104 79
        BufferManager bufferManager = BufferLocator.getBufferManager();
105 80

  
......
115 90
                pageManager = pageManagers.get(i);
116 91
            }
117 92

  
118
            Band band = bufferManager.createBand(bandDataTypes[i], this.rows, this.columns, noDataBand, pageManager);
93
            Band band =
94
                bufferManager.createBand(bandDataTypes[i], this.rows, this.columns, noDataBand,
95
                    pageManager);
119 96
            bands.add(band);
120 97
            band.addObserver(this);
121 98
        }
......
126 103
        Buffer cloned;
127 104
        try {
128 105
            cloned =
129
                BufferLocator.getBufferManager().createBuffer(this.getRows(), this.getColumns(), null,
130
                    this.getProjection());
106
                BufferLocator.getBufferManager().createBuffer(this.getRows(), this.getColumns(),
107
                    this.getBandTypes(), this.getProjection());
131 108
        } catch (LocatorException | BufferException e) {
132 109
            throw new CloneNotSupportedException("Can't clone buffer.");
133 110
        }

Also available in: Unified diff