import {Vector3} from './Vector3';
//==========================================================
// 三维轮廓。
//
// @struct
// @author maocy
// @version 141231
//==========================================================
export class Outline3 {
// 最小点
public min: Vector3 = new Vector3();
// 最大点
public max: Vector3 = new Vector3();
//============================================================
// 判断是否为空。
//
// @return 是否为空
//============================================================
public isEmpty(): boolean {
// return this.min.isEmpty() && this.max.isEmpty();
return false;
}
//============================================================
// 接收一个三维轮廓。
//
// @param value 三维轮廓
//============================================================
public assign(value: Outline3) {
this.min.assign(value.min);
this.max.assign(value.max);
}
//==========================================================
// 设置最小轮廓。
//==========================================================
public setMin() {
// this.min.setMax();
// this.max.setMin();
}
//==========================================================
// 设置最大轮廓。
//==========================================================
public setMax() {
// this.min.setMin();
// this.max.setMax();
}
//==========================================================
// 设置参数。
//
// @param minX 最小X坐标
// @param minY 最小Y坐标
// @param minZ 最小Z坐标
// @param maxX 最大X坐标
// @param maxY 最大Y坐标
// @param maxZ 最大Z坐标
//==========================================================
public set(minX, minY, minZ, maxX, maxY, maxZ) {
this.min.set(minX, minY, minZ);
this.max.set(maxX, maxY, maxZ);
}
//==========================================================
// 合并最小轮廓。
//
// @param outline 轮廓
//==========================================================
public mergeMin(outline) {
// this.min.mergeMax(outline.min);
// this.max.mergeMin(outline.max);
}
//==========================================================
// 合并最大轮廓。
//
// @param outline 轮廓
//==========================================================
public mergeMax(outline) {
// this.min.mergeMin(outline.min);
// this.max.mergeMax(outline.max);
}
//==========================================================
// 合并点。
//
// @param x X坐标
// @param y Y坐标
// @param z Z坐标
//==========================================================
public mergePoint(x, y, z) {
// this.min.mergeMin3(x, y, z);
// this.max.mergeMax3(x, y, z);
}
//==========================================================
// 序列化数据到输出流里。
//
// @param output 数据流
//==========================================================
public serialize(output) {
// this.min.serialize(output);
// this.max.serialize(output);
}
//==========================================================
// 从输入流里反序列化数据。
//
// @param input 数据流
//==========================================================
public unserialize(input) {
// this.min.unserialize(input);
// this.max.unserialize(input);
}
//============================================================
// 获得字符串。
//
// @return 字符串
//============================================================
public toString() {
return '(' + this.min + ')-(' + this.max + ')';
}
}