/*
* Geotoolkit - An Open Source Java GIS Toolkit
* http://www.geotoolkit.org
*
* (C) 2008 - 2014, Geomatys
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package org.geotoolkit.display2d.canvas;
import org.apache.sis.internal.referencing.j2d.AffineTransform2D;
import org.opengis.geometry.DirectPosition;
/**
* World wrap repetition informations.
*
* @author Johann Sorel (Geomatys)
*/
public final class RenderingWrapParams {
/**
* Number of repetition on the decreasing direction.
*/
public int wrapDecNb;
/**
* Number of repetition on the increasing direction.
*/
public int wrapIncNb;
/**
* The wrap points in objective CRS.
* for example in CRS:84 , those points would be :
* - Point(-180,0)
* - Point(+180,0)
*/
public DirectPosition[] wrapPoints = null;
/**
* Perpendicular line on the lowest wrap point.
*/
public com.vividsolutions.jts.geom.LineString wrapDecLine = null;
/**
* Perpendicular line on the highest wrap point.
*/
public com.vividsolutions.jts.geom.LineString wrapIncLine = null;
/**
* Polygon containing the valid area, between wrap lines.
*/
public com.vividsolutions.jts.geom.Polygon wrapArea = null;
/**
* Envelope in Objective CRS of the visible area, NOT clipped to crs wraparound.
* This is a simple affinetransform of the canvas rectangle to objective with the
* Display to Objective transform.
*/
public com.vividsolutions.jts.geom.Envelope objectiveJTSEnvelope = null;
/**
* Normal objective to display transform.
*/
public AffineTransform2D wrapObjToDisp = null;
/**
* Normal Objective transform.
*/
public AffineTransform2D wrapObj = null;
/**
* Objective to display transforms on the decreasing side of the wrap area.
* Size : wrapDecNb + 1
* The +1 is to additional transform in case a geometry
* overlaps a meridian which cause an additional repetition
*/
public AffineTransform2D[] wrapDecObjToDisp = null;
/**
* Objective to display transforms on the increasing side of the wrap area.
* Size : wrapIncNb + 1
* The +1 is to additional transform in case a geometry
* overlaps a meridian which cause an additional repetition
*/
public AffineTransform2D[] wrapIncObjToDisp = null;
/**
* Objective transforms on the decreasing side of the wrap area.
* Size : wrapDecNb + 1
* The +1 is to additional transform in case a geometry
* overlaps a meridian which cause an additional repetition
*/
public AffineTransform2D[] wrapDecObj = null;
/**
* Objective transforms on the increasing side of the wrap area.
* Size : wrapIncNb + 1
* The +1 is to additional transform in case a geometry
* overlaps a meridian which cause an additional repetition
*/
public AffineTransform2D[] wrapIncObj = null;
}