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;
}