Source: Thing.Extend/Objects/VolumetricHeatmap.js

const Heatmap = require("./Heatmap");

/**
 * @description 体积热图渲染器
 * <br> 1.基于稀疏有向距离场的体积热图渲染
 * <br> 2.基于体积纹理的体积热图渲染
 * <br> 3.基于AABB/OBB体积描述的体积热图渲染
 * <br><img src="./images/sdf_volumetric_heatmap.jpg" alt="Example Image">
 * @class VolumetricHeatmap
 */
class VolumetricHeatmap extends Heatmap {

    #volumetricHeatmap;
    #volumes;

    constructor(params = {}) {
        super(params);
        this.#volumetricHeatmap = THING.Utils.createObject('VolumetricHeatmap');
    }

    /**
     * @param {THING.VolumeTexture} value - volume texture
     */
    set texture(value) {

    }

    get texture() {
        return undefined;
    }

    set volumes(value) {
        this.#volumes = value;
        this.#volumetricHeatmap.setVolumes(value);
    }

    get volumes() {
        return this.#volumes;
    }

    /**
     * @description The object which renderable node has sparse distance field asset data.
     * @param {THING} value THING.Object
     */
    set sdf(value) {

    }

    get sdf() {
        return undefined;
    }
}

module.exports = VolumetricHeatmap;