+/*
+	Weave (Web-based Analysis and Visualization Environment)
+	Copyright (C) 2008-2011 University of Massachusetts Lowell
+	
+	This file is a part of Weave.
+	
+	Weave is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License, Version 3,
+	as published by the Free Software Foundation.
+	
+	Weave 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 General Public License for more details.
+	
+	You should have received a copy of the GNU General Public License
+	along with Weave.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
 package weave.visualization.plotters
 {
 	import flash.geom.Point;
 	import flash.text.TextFormat;
-	import flash.utils.Dictionary;
 	
 	import weave.api.WeaveAPI;
-	import weave.api.data.ColumnMetadata;
-	import weave.api.data.DataTypes;
-	import weave.api.data.IAttributeColumn;
-	import weave.api.data.IProjector;
+	import weave.api.data.IColumnStatistics;
 	import weave.api.data.IQualifiedKey;
-	import weave.api.detectLinkableObjectChange;
-	import weave.api.linkSessionState;
-	import weave.api.newDisposableChild;
 	import weave.api.newLinkableChild;
 	import weave.api.primitives.IBounds2D;
 	import weave.api.registerLinkableChild;

	import weave.api.ui.IPlotter;
	import weave.core.LinkableBoolean;
	import weave.core.LinkableNumber;
	import weave.core.LinkableString;
	import weave.data.AttributeColumns.DynamicColumn;
	import weave.data.AttributeColumns.FilteredColumn;
	import weave.data.AttributeColumns.ReprojectedGeometryColumn;
	import weave.primitives.GeneralizedGeometry;
	import weave.utils.BitmapText;

	// Refer to Feature #924 for detail description
	public class GeometryRelationPlotter extends AbstractPlotter
	{
		WeaveAPI.registerImplementation(IPlotter, GeometryRelationPlotter, "Geometry relations");

		public function GeometryRelationPlotter()
		{
			registerSpatialProperty(geometryColumn);
			valueStats = registerLinkableChild(this, WeaveAPI.StatisticsCache.getColumnStatistics(valueColumn));
			
			setColumnKeySources([geometryColumn]);
		}
		public const geometryColumn:ReprojectedGeometryColumn = newSpatialProperty(ReprojectedGeometryColumn);
		public const sourceKeyColumn:DynamicColumn = newSpatialProperty(DynamicColumn);
		public const destinationKeyColumn:DynamicColumn = newSpatialProperty(DynamicColumn);
