import { AABB } from '@zephyr3d/base';
import { defineProps } from '../types.js';

/** @internal */ function getAABBClass() {
    return {
        ctor: AABB,
        name: 'AABB',
        getProps () {
            return defineProps([
                {
                    name: 'Min',
                    description: 'Minimum corner of the bounding box',
                    type: 'vec3',
                    get (value) {
                        value.num[0] = this.minPoint.x;
                        value.num[1] = this.minPoint.y;
                        value.num[2] = this.minPoint.z;
                    },
                    set (value) {
                        this.minPoint.setXYZ(value.num[0], value.num[1], value.num[2]);
                    }
                },
                {
                    name: 'Max',
                    description: 'Maximum corner of the bounding box',
                    type: 'vec3',
                    get (value) {
                        value.num[0] = this.maxPoint.x;
                        value.num[1] = this.maxPoint.y;
                        value.num[2] = this.maxPoint.z;
                    },
                    set (value) {
                        this.maxPoint.setXYZ(value.num[0], value.num[1], value.num[2]);
                    }
                }
            ]);
        }
    };
}

export { getAABBClass };
//# sourceMappingURL=misc.js.map
