自动举臂测试
 
 
 
 

32 lines
1.1 KiB

import { Item, UP_VECTOR } from './item.js';
import { Vector2, Vector3 } from 'three';
import { Utils } from '../core/utils.js';
/**
* A Floor Item is an entity to be placed related to a floor.
*/
export class FloorItem extends Item {
constructor(model, metadata, id) {
super(model, metadata, id);
this._freePosition = false;
this.__customIntersectionPlanes = this.__model.floorplan.floorPlanesForIntersection;
}
snapToPoint(point, normal, intersectingPlane, toWall, toFloor, toRoof) {
let normal2d = new Vector2(normal.x, normal.z);
let angle = Utils.angle(UP_VECTOR, normal2d);
this.rotation = new Vector3(0, angle, 0);
point.y = this.halfSize.y + 5;
this.position = point;
}
// /** */
// placeInRoom() {
// if (!this.position_set) {
// var center = this.__model.floorplan.getCenter();
// this.position.x = center.x;
// this.position.z = center.z;
// this.position.y = 0.5 * (this.geometry.boundingBox.max.y - this.geometry.boundingBox.min.y);
// }
// }
}