ExperimentalProtected Experimental_Readonly ExperimentalhasReadonly flag to check if a given object implements HasDefaultPointOfView.
Readonly ExperimentalidThe unique identifier of this entity.
Readonly ExperimentalisReadonly ExperimentalisRead-only flag to check if a given object is of type Entity.
Readonly ExperimentalisRead-only flag to check if a given object is of type Entity3D.
Readonly ExperimentalisReadonly flag to indicate that his object implements MemoryUsage.
Readonly ExperimentalisExperimentalnameThe name of this entity.
ExperimentaltypeReadonly ExperimentaluserAn object that can be used to store custom data about the Entity.
ExperimentalToggles the .castShadow property on objects generated by this entity.
Note: shadow maps require normal attributes on objects.
ExperimentalExperimentalGets or sets the clipping planes set on this entity. Default is null (no clipping planes).
Note: custom entities must ensure that the materials and shaders used do support the clipping plane feature of three.js. Refer to the three.js documentation for more information.
ExperimentalExperimentalExperimentalGets or sets the frozen status of this entity. A frozen entity is still visible but will not be updated automatically.
Useful for debugging purposes.
ExperimentalExperimentalExperimentalExperimentalGets whether this entity is currently loading data.
ExperimentalThe minimum tile LOD (level of detail) to display the features. If zero, then features are always displayed, since root tiles have LOD zero.
ExperimentalExperimentalReturns the root object of this entity.
ExperimentalGets or sets the opacity of this entity.
ExperimentalExperimentalGets the current loading progress (between 0 and 1).
Note: This property is only meaningful if loading is true.
ExperimentalDetermine if this entity is ready to use.
ExperimentalToggles the .receiveShadow property on objects generated by this entity.
Note: shadow maps require normal attributes on objects.
ExperimentalExperimentalGets or sets the render order of this entity.
ExperimentalExperimentalGets or sets the visibility of this entity. A non-visible entity will not be automatically updated.
ExperimentalProtectedassignExperimentalAssigns the render order of this object.
This may be overriden to perform custom logic.
ExperimentalExperimentalTest whether this entity contains the given object.
The object may be a component of the entity, or a 3D object.
The object to test.
true if the entity contains the object.
ExperimentalExperimentalDisposes this entity and all resources associated with it.
The default implementation of this method does nothing. You should implement it in your custom entities to handle any special logic of disposal.
For example: disposing materials, geometries, stopping HTTP requests, etc.
ExperimentalFilters what objects need to be updated, based on updatedSources.
The returned objects are then passed to preUpdate and postUpdate.
Inherited classes should override shouldFullUpdate and shouldUpdate if they need to change this behavior.
Sources that triggered an update
Set of objects to update
ExperimentalReturns an approximated bounding box of this entity in the scene.
the resulting bounding box, or null if it could not be computed.
ExperimentalDefault implementation that computes a point of view from the bounding box of the entity, if any.
The camera to compute the point of view.
ExperimentalReturns an approximation of the memory used by this object, in bytes.
ProtectedisExperimentalReturns true if this object belongs to this entity.
The object to test.
ProtectednotifyExperimentalNotifies the parent instance that a change occured in the scene.
Optionalsource: unknownProtectedonExperimentalApplies entity-level setup on a new object.
Note: this method should be called from the subclassed entity to notify the parent class that a new 3D object has just been created, so that it can be setup with entity-wide parameters.
The object to prepare.
ExperimentalCalled when the rendering context has been lost.
The options.
ExperimentalCalled when the rendering context has been restored.
The options.
ExperimentalPicks objects from this entity.
Implementations must respect at least limit and filter options.
Coordinates on the rendering canvas
Optionaloptions: PickOptionsOptions
Target
ExperimentalAsynchronously preprocess the entity. This method may be overriden to perform any operation that must be done before the entity can be used in the scene, such as fetching metadata about a dataset, etc.
A promise that resolves when the entity is ready to be used.
ExperimentalThis method is called just before update() to filter and select
which elements should be actually updated. For example, in the
case of complex entities made of a hierarchy of elements, the entire
hierarchy may not need to be updated.
Use this method to optimize the update step by reducing the number of elements to process.
Note: if this functions returns nothing, update() will not be called.
the update context.
the objects that triggered an update step. This is useful to filter out unnecessary updates if no sources are relevant to this entity. For example, if one of the sources is a camera that moved during the previous frame, any entity that depends on the camera's field of view should be updated.
the elements to update during update().
ProtectedsetupExperimentalApplies entity-level setup on new object's material.
Subclasses can override this to setup custom logic, for instance if the entity can produce objects that are naturally transparent.
the material of the newly created object
ExperimentalThis method is called before update to check if the MainLoop
should try to update this entity or not. For better performances,
it should return false if the entity has no impact on the
rendering (e.g. the element is not visible).
The inherited child can completely ignore this value if it makes sense.
true if should check for update
ExperimentalThis method is called at the beginning of the update step to determine
if we should do a full render of the object. This should be the case if, for
instance, the source is the camera.
You can override this depending on your needs. The inherited child should
not ignore this value, it should do a boolean OR, e.g.:
return super.shouldFullUpdate(updateSource) || this.contains(updateSource);
Source of change
true if requires a full update of this object
ExperimentalThis method is called at the beginning of the update step to determine
if we should re-render updateSource.
Not used when shouldFullUpdate returns true.
You can override this depending on your needs. The inherited child should
not ignore this value, it should do a boolean OR, e.g.:
return super.shouldUpdate(updateSource) || this.contains(updateSource);
Source of change
true if requires an update of updateSource
ExperimentalTraverses all objects in the hierarchy of this entity.
The callback.
The traversal root. If undefined, the traversal starts at the root object of this entity.
ExperimentalTraverses all materials in the hierarchy of this entity.
The callback.
The traversal root. If undefined, the traversal starts at the root object of this entity.
ExperimentalTraverses all meshes in the hierarchy of this entity.
The callback.
The raversal root. If undefined, the traversal starts at the root object of this entity.
ExperimentalPerforms an update on an element of the entity.
Note: this method will be called for each element returned by preUpdate().
New elements to update
ExperimentalUpdates the clipping planes of all objects under this entity.
ExperimentalUpdates the opacity of the entity. Note: this method can be overriden for custom implementations.
ExperimentalUpdates the render order of the entity. Note: this method can be overriden for custom implementations.
ExperimentalUpdates the styles of the given objects, or all objects if unspecified.
Optionalobjects: (The objects to update.
ExperimentalUpdates the visibility of the entity. Note: this method can be overriden for custom implementations.
Loads 3D features from a FeatureSource and displays them on top of a map or map-like entity, by taking terrain into account.
To drape features on custom entities, they must implement the MapLike interface.
Performance warning
This entity is experimental and might suffer performance issues when loading many features. Notably be careful when setting the minLod value. If this value is too low, this could cause many features to be loaded (especially when used with streamed data, such as WFS servers).
It is recommended to experiment with a high
minLodvalue then decrease it progressively.