MeshPoints
MeshPoints – класс, описывающий точки для отрисовки в виде полигональной сетки. Расширяет THREE.Mesh.
export class MeshPoints extends THREE.Mesh {
constructor();
geometry: THREE.InstancedBufferGeometry;
material: MeshPointMaterial;
color: Color;
pointSize: number;
point: THREE.Vector3;
addPoint(pointParameter?: MeshPointParameter): number;
updatePoint(index: number, pointParameter: MeshPointParameter): void;
removePoint(index: number): void;
updateAttributes(): void;
dispose(): void;
}
Конструктор
constructor();
Поля
geometry: THREE.InstancedBufferGeometry
Геометрия, используемая для отрисовки единичной точки. Все добавленные точки будут отрисованы на сцене с помощью данной геометрии.
geometry: THREE.InstancedBufferGeometry;
По умолчанию используется геометрия круга. Подробнее: THREE.InstancedBufferGeometry.
material: MeshPointMaterial
Материал точек для отрисовки.
material: MeshPointMaterial;
По умолчанию: new MeshPointMaterial({ sizeAttenuation: false, transparent: true, depthTest: false }). Подробнее: MeshPointMaterial.
color: Color
Цвет точек по умолчанию. Если цвет точки не задан при добавлении, будет использоваться именно это значение.
color: Color;
По умолчанию: new Color( 1, 1, 1, 1 ). Подробнее: Color.
pointSize: number
Размер точки в пикселях по умолчанию. Если размер точки не задан при добавлении, будет использоваться именно это значение.
pointSize: number;
По умолчанию: 1.
point: THREE.Vector3
Позиция точки по умолчанию. Если позиция точки не задана при добавлении, будет использоваться именно это значение.
point: THREE.Vector3;
По умолчанию: new THREE.Vector3(0, 0, 0). Подробнее THREE.Vector3.
Методы
addPoint()
Метод добавляет точку для отрисовки с заданными параметрами. По окончанию добавления точек необходимо обновить атрибуты геометрии с помощью метода updateAttributes.
addPoint(pointParameter?: MeshPointParameter): number;
где:
pointParameter – параметры точки. Подробнее: MeshPointParameter.
Возвращает порядковый номер добавленной точки.
updatePoint()
Метод обновляет параметры точки.
updatePoint(index: number, pointParameter: MeshPointParameter): void;
где:
index – порядковый номер добавленной точки.
pointParameter – обновлённые параметры точки. Допустимо определять внутри pointParameter только изменившиеся параметры точки. Например, для изменения цвета достаточно передать { color : newColor }, при этом позиция точки и её размер останутся неизменными. Подробнее: MeshPointParameter.
removePoint()
Метод удаляет точку. По окончанию удаления точек необходимо обновить атрибуты геометрии с помощью метода updateAttributes.
removePoint(index: number): void;
где:
index – порядковый номер точки.
updateAttributes()
Метод обновляет атрибуты геометрии. Необходимо вызывать по окончанию добавления либо удаления точек.
updateAttributes(): void;
dispose()
Метод освобождает ресурсы выделенные MeshPoints.
dispose(): void;
MeshPointParameter
Параметры точки в MeshPoints.
export interface MeshPointParameter {
point?: THREE.Vector3,
color?: Color,
size?: number
}
где:
point – позиция точки в мировых координатах, опциональный параметр. Если не задан, будет использоваться положение по умолчанию. Подробнее: THREE.Vector3.
color – цвет точки, опциональный параметр. Если не задан, будет использоваться цвет по умолчанию. Подробнее: Color.
size – размер точки в пикселях, опциональный параметр. Если не задан, будет использоваться размер по умолчанию.
MeshPointMaterial
Материал, используемый для отрисовки точек в виде полигональной сетки. Расширяет THREE.ShaderMaterial.
export class MeshPointMaterial extends CustomMaterial {
constructor(parameters?: MeshPointMaterialParameters);
sizeAttenuation: boolean;
get discreteClipping(): boolean;
set discreteClipping(value: boolean);
get resolution(): THREE.Vector2;
}
Конструктор
constructor(parameters?: MeshPointMaterialParameters);
где:
parameters – параметры материала. Опциональный параметр. Подробнее: MeshPointMaterialParameters;
Поля
sizeAttenuation: boolean
Задает значение флага, показывающего влияние перспективы на точки - уменьшается ли размер точки с глубиной кадра. Влияет на отображение только с перспективной камерой.
sizeAttenuation: boolean;
По умолчанию: true - размер точки зависит от перспективы.
Свойства
resolution: THREE.Vector2
Возвращает размеры области отрисовки. Нужно для корректной отрисовки точек в sizeAttenuation = false режиме. Данное свойство обновляется автоматически перед отрисовкой.
get resolution(): THREE.Vector2;
Подробнее: THREE.Vector2.
discreteClipping: THREE.Vector2
Задает тип отсечения точки секущими плоскостями. Если true, то точка отсекается дискретно: либо полностью видна, либо полностью отсечена секущей плоскостью (отсечение происходит, если центр точки находится позади секущей плоскости). В противном случае точка отсекается как любая другая полигональная сетка.
get discreteClipping(): boolean;
set discreteClipping(value: boolean);
Подробнее: THREE.Vector2.
MeshPointMaterialParameters
Параметры MeshPointMaterial. Задают соответствующее свойства MeshPointMaterial.
export interface MeshPointMaterialParameters extends THREE.ShaderMaterialParameters {
sizeAttenuation?: boolean | undefined;
discreteClipping?: boolean | undefined;
}