import { PointsMaterial, PointsMaterialParameters } from '../../thirdparty/three/imports'; import { Texture3D } from '../textures/Texture3D'; import { Material3D } from './Material3D'; export interface PointsMaterial3D { get _material(): PointsMaterial; set _material(v: PointsMaterial); } export class PointsMaterial3D extends Material3D { get color() { return this._material.color; } set color(v) { this._material.color = v; } get size() { return this._material.size; } set size(v) { this._material.size = v; } get map() { if (this._material) { this._map = Texture3D.get(this._material.map); } return this._map; } set map(v) { this._map = v; if (this._material) { this._material.map = v._texture; } } private _map: Texture3D; constructor(parameters?: PointsMaterialParameters) { super(); this._material = new PointsMaterial(parameters); } }