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 + ')'; } }