import {PointsMaterial} from '@xeokit/xeokit-sdk/src/viewer/scene/materials/PointsMaterial.js'
PointsMaterial
Configures the size and shape of "points" geometry primitives.
- Located at Scene#pointsMaterial.
- Supports round and square points.
- Optional perspective point scaling.
- Globally configures "points" primitives for all VBOSceneModels.
Usage
In the example below, we'll customize the Scene's global PointsMaterial
, then use
an XKTLoaderPlugin to load a model containing a point cloud.
import {Viewer, XKTLoaderPlugin} from "xeokit-sdk.es.js";
const viewer = new Viewer({
canvasId: "myCanvas",
transparent: true
});
viewer.scene.camera.eye = [0, 0, 5];
viewer.scene.camera.look = [0, 0, 0];
viewer.scene.camera.up = [0, 1, 0];
viewer.scene.pointsMaterial.pointSize = 2;
viewer.scene.pointsMaterial.roundPoints = true;
viewer.scene.pointsMaterial.perspectivePoints = true;
viewer.scene.pointsMaterial.minPerspectivePointSize = 1;
viewer.scene.pointsMaterial.maxPerspectivePointSize = 6;
viewer.scene.pointsMaterial.filterIntensity = true;
viewer.scene.pointsMaterial.minIntensity = 0.0;
viewer.scene.pointsMaterial.maxIntensity = 1.0;
const xktLoader = new XKTLoaderPlugin(viewer);
const model = xktLoader.load({
id: "myModel",
src: "../assets/models/xkt/MAP-PointCloud.xkt"
});
Constructor Summary
Public Constructor | ||
public |
constructor(owner: Component, cfg: *) |
Member Summary
Public Members | ||
public set |
Sets if rendered point size reduces with distance when Camera#projection is set to |
|
public get |
Gets if rendered point size reduces with distance when Camera#projection is set to "perspective". |
|
public set |
Sets the maximum rendered size of points when PointsMaterial#filterIntensity is |
|
public get |
Gets the maximum rendered size of points when PointsMaterial#filterIntensity is |
|
public set |
Sets the maximum rendered size of points when PointsMaterial#perspectivePoints is |
|
public get |
Gets the maximum rendered size of points when PointsMaterial#perspectivePoints is |
|
public set |
Sets the minimum rendered size of points when PointsMaterial#perspectivePoints is |
|
public get |
Gets the minimum rendered size of points when PointsMaterial#filterIntensity is |
|
public set |
Sets the minimum rendered size of points when PointsMaterial#perspectivePoints is |
|
public get |
Gets the minimum rendered size of points when PointsMaterial#perspectivePoints is |
|
public set |
Sets if rendered point size reduces with distance when Camera#projection is set to |
|
public get |
Gets if rendered point size reduces with distance when Camera#projection is set to "perspective". |
|
public set |
Sets point size. |
|
public get |
Gets point size. |
|
public set |
Selects a preset |
|
public get |
The current preset |
|
public get |
Gets available PointsMaterial presets. |
|
public set |
Sets if points are round or square. |
|
public get |
Gets if points are round or square. |
Method Summary
Public Methods | ||
public |
destroy() Destroys this |
Inherited Summary
From class Component | ||
public get |
The Component that owns the lifecycle of this Component, if any. |
|
public |
True as soon as this Component has been destroyed |
|
public |
ID of this Component, unique within the Scene. |
|
public |
meta: * Arbitrary, user-defined metadata on this component. |
|
public |
The parent Scene that contains this Component. |
|
public |
The viewer that contains this Scene. |
|
public |
clear() Destroys all Components that are owned by this. |
|
public |
destroy() Destroys this component. |
|
public |
Logs an error for this component to the JavaScript console. |
|
public |
Fires an event on this component. |
|
public |
Returns true if there are any subscribers to the given event on this component. |
|
public |
Tests if this component is of the given type, or is a subclass of the given type. |
|
public |
Logs a console debugging message for this component. |
|
public |
Cancels an event subscription that was previously made with Component#on or Component#once. |
|
public |
Subscribes to an event on this component. |
|
public |
Subscribes to the next occurrence of the given event, then un-subscribes as soon as the event is subIdd. |
|
public |
scheduleTask(task: *) Schedule a task to perform on the next browser interval |
|
public |
Logs a warning for this component to the JavaScript console. |
From class Material | ||
public |
destroy() |
Public Constructors
public constructor(owner: Component, cfg: *) source
Override:
Material#constructorParams:
Name | Type | Attribute | Description |
owner | Component | Owner component. When destroyed, the owner will destroy this component as well. |
|
cfg | * |
|
The PointsMaterial configuration |
cfg.id | String |
|
Optional ID, unique among all components in the parent Scene, generated automatically when omitted. |
cfg.pointSize | Number |
|
Point size in pixels. |
cfg.roundPoints | Boolean |
|
Whether points are round ( |
cfg.perspectivePoints | Boolean |
|
Whether apparent point size reduces with distance when Camera#projection is set to "perspective". |
cfg.minPerspectivePointSize | Number |
|
When |
cfg.maxPerspectivePointSize | Number |
|
When |
cfg.filterIntensity | Boolean |
|
When this is true, points are only rendered when their intensity value falls within the range given in {@link } |
cfg.minIntensity | Number |
|
When |
cfg.maxIntensity | Number |
|
When |
cfg.preset | String |
|
Selects a preset PointsMaterial configuration - see PointsMaterial#presets. |
Public Members
public set filterIntensity: Boolean source
Sets if rendered point size reduces with distance when Camera#projection is set to "perspective"
.
Default is false
.
public get filterIntensity: Boolean source
Gets if rendered point size reduces with distance when Camera#projection is set to "perspective".
Default is false
.
public set maxIntensity: Number source
Sets the maximum rendered size of points when PointsMaterial#filterIntensity is true
.
Default value is 1
.
public get maxIntensity: Number source
Gets the maximum rendered size of points when PointsMaterial#filterIntensity is true
.
Default value is 1
.
public set maxPerspectivePointSize: Number source
Sets the maximum rendered size of points when PointsMaterial#perspectivePoints is true
.
Default value is 6
pixels.
public get maxPerspectivePointSize: Number source
Gets the maximum rendered size of points when PointsMaterial#perspectivePoints is true
.
Default value is 6
pixels.
public set minIntensity: Number source
Sets the minimum rendered size of points when PointsMaterial#perspectivePoints is true
.
Default value is 0
.
public get minIntensity: Number source
Gets the minimum rendered size of points when PointsMaterial#filterIntensity is true
.
Default value is 0
.
public set minPerspectivePointSize: Number source
Sets the minimum rendered size of points when PointsMaterial#perspectivePoints is true
.
Default value is 1.0
pixels.
public get minPerspectivePointSize: Number source
Gets the minimum rendered size of points when PointsMaterial#perspectivePoints is true
.
Default value is 1.0
pixels.
public set perspectivePoints: Boolean source
Sets if rendered point size reduces with distance when Camera#projection is set to "perspective"
.
Default is true
.
public get perspectivePoints: Boolean source
Gets if rendered point size reduces with distance when Camera#projection is set to "perspective".
Default is false
.
public set preset: String source
Selects a preset PointsMaterial
configuration.
Default value is "default"
.
public get preset: String source
The current preset PointsMaterial
configuration.
Default value is "default"
.