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