Class: PopupCollection

PopupCollection

A collection of popup objects. A popup is represented as a THREE.PlaneBufferGeometry and a THREE.CSS3DSprite and is rendered through the THREE.CSS3DRenderer. This object allows to render HTML content in the scene. This is a more optimal and convenient way to also render styled text inside a scene.

Inspired by: https://threejs.org/examples/#css3d_sandbox


new PopupCollection(options)

Parameters:
Name Type Description
options bu.street.threejs.PopupCollectionOptions

Options.

Source:
bu-street/sceneobjects/popupcollection.js
Fires:

Extends

Members


children :Array.<SceneObject>

The SceneObjects children of this object. Any SceneObject can have any number of SceneObject children in its own hierachy.

Type:
  • Array.<SceneObject>
Inherited From:
Source:
bu-street/sceneobjects/sceneobject.js

measurementLayer :boolean

Type:
  • boolean
Source:
bu-street/sceneobjects/popupcollection.js

object3D :THREE.Object3D

The THREE.Object3D that contains this SceneObject. Each SceneObject can contain one and only one THREE.Object3D, but any THREE.Object3D can have any number of THREE.Object chidren in its own hierachy.

Type:
  • THREE.Object3D
Inherited From:
Source:
bu-street/sceneobjects/sceneobject.js

Methods


addChild(child)

Adds a child SceneObject to this object.

Parameters:
Name Type Description
child bu.street.threejs.SceneObject

Child SceneObject.

Inherited From:
Source:
bu-street/sceneobjects/sceneobject.js

addMeasurementPopup(output, localCoord, shift)

Creates a popup for showing a measurement info and adds it to this popup collection.

Parameters:
Name Type Description
output string

The content for the inner HTML of the popup.

localCoord bu.Coordinate

The coordinate where position the popup in local coordinate system.

shift number

A shift in the Y axis to apply to the coordinate once it is positioned.

Source:
bu-street/sceneobjects/popupcollection.js

addPopup(element, position)

Add a popup to the collection.

Parameters:
Name Type Description
element Element

The HTML element to use as popup.

position bu.Coordinate

The position for the 3D object inside the scene.

Source:
bu-street/sceneobjects/popupcollection.js

addToScene(scene)

Adds all visible objects of these popup collection to scene.

Parameters:
Name Type Description
scene THREE.Scene

Scene where add objects.

Source:
bu-street/sceneobjects/popupcollection.js

findSceneObjects(raycaster)

Returns an array of SceneObjects that are intersected by given raycaster. Function to be overrided in derived classes.

Parameters:
Name Type Description
raycaster THREE.Raycaster

Raycaster.

Inherited From:
Source:
bu-street/sceneobjects/sceneobject.js
Returns:

Array of SceneObject.

Type
Array.<bu.street.threejs.SceneObject>

findThreeObjects(raycaster)

Returns an array of THREE.Object3D that are intersected by given raycaster. Function to be overrided in derived classes.

Parameters:
Name Type Description
raycaster THREE.Raycaster

Raycaster.

Inherited From:
Source:
bu-street/sceneobjects/sceneobject.js
Returns:

Array of THREE.Object3D.

Type
Array.<THREE.Object3D>

getScene()

Returns the Three.js scene the object3D contained inside this object is attached to.

Inherited From:
Source:
bu-street/sceneobjects/sceneobject.js
Returns:

The scene.

Type
THREE.Scene

getSceneManager()

Returns the SceneManager this SceneObject is attached to.

Inherited From:
Source:
bu-street/sceneobjects/sceneobject.js
Returns:

SceneManager.

Type
bu.streetthreejs.SceneManager

getVisible()

Returns the visibility of the objects of this object.

Inherited From:
Source:
bu-street/sceneobjects/sceneobject.js
Returns:
Type
boolean

removeAll()

Remove all objects.

Source:
bu-street/sceneobjects/popupcollection.js

removeChild(child)

Removes a child SceneObject from this object.

Parameters:
Name Type Description
child bu.street.threejs.SceneObject

Child SceneObject.

Inherited From:
Source:
bu-street/sceneobjects/sceneobject.js

removeFromScene(scene)

Removes all objects of these popup collection from scene.

Parameters:
Name Type Description
scene THREE.Scene

Scene where remove objects.

Source:
bu-street/sceneobjects/popupcollection.js

rotateAroundWorldAxis(axis, radians)

Rotate the object3D of this SceneObject around an arbitrary axis in world space.

Parameters:
Name Type Description
axis THREE.Vector3

Axis. It is not needed the axis to be normalized.

radians number

Angle in radians.

Inherited From:
Source:
bu-street/sceneobjects/sceneobject.js

setObject3D(object3D)

Sets the THREE.Object3D of this object.

Parameters:
Name Type Description
object3D THREE.Object3D

The Object3D of this object.

Inherited From:
Source:
bu-street/sceneobjects/sceneobject.js

setPosition(x, y, z)

Move this object to new coordinates.

Parameters:
Name Type Description
x number

X coord.

y number

Y coord.

z number

Z coord.

Inherited From:
Source:
bu-street/sceneobjects/sceneobject.js

setVisible(visible)

Change the visibility of this object.

Parameters:
Name Type Description
visible boolean

If object should be visible or not.

Overrides:
Source:
bu-street/sceneobjects/popupcollection.js