////////////////////////////////////////////////////////////
//
//ファイル名:   spatial.js
//機能		:	空間情報管理
//依存		:	-
//バージョン:　 2.0.0.1
//更新日時	:　 2006.08.01
//更新者	:	kawame
//
//////////////////////////////////////////////////////////////

//
//	点
//
function Point(x, y)
{
	var newX = (x ? parseFloat(x) : 0.0);
	var newY = (y ? parseFloat(y) : 0.0);

	// X座標（緯度経度の場合は経度）

	this.x = newX;
	
	// Y座標（緯度経度の場合は緯度）

	this.y = newY;
}

//
//	線

//
function Curve()
{
	// 点列

	this.points = new Array();
}

//
//	面
//
function Surface()
{
	// 外周
	this.exterior	= new Curve();
	
	// 内周
	this.interior	= new Array();
}

//
//	境界矩形
//
function BoundingBox(minX, minY, maxX, maxY)
{
	var newMinX = (minX ? parseFloat(minX) : 0.0);	
	var newMinY = (minY ? parseFloat(minY) : 0.0);	
	var newMaxX = (maxX ? parseFloat(maxX) : 0.0);	
	var newMaxY = (maxY ? parseFloat(maxY) : 0.0);
	
	// 最小X座標

	this.minX = newMinX;
	
	// 最小Y座標

	this.minY = newMinY;
	
	// 最大X座標

	this.maxX = newMaxX;
	
	// 最大Y座標

	this.maxY = newMaxY;
	
}

//
//	円

//
function Circle(center, radius)
{
	var newCenter = (center ? center : new Point());
	var newRadius = (radius ? parseFloat(radius) : 0.0);

	// 中心

	this.center = newCenter;
	
	// 半径

	this.radius = newRadius;
}

//
//	テキスト

//
function Text(point, labels)
{
	var newPoint = (point ? point : new Point());
	var newLabels = (labels && labels.length ? labels : new Array());
	
	// 挿入点
	this.point = newPoint;
	
	// テキストラベル（複数行）

	this.labels = newLabels;
}
