API Docs for: 2.0.0
Show:

BoxObject Class

Extends Object
Module: objects
Parent Module: BIMSURFER

An BoxObject is a box-shaped Object.

Overview

TODO

Example

// Create a Viewer
var viewer = new BIMSURFER.Viewer({ element: "myDiv" });

// Create a Camera
var camera = new BIMSURFER.Camera(viewer, {
    eye: [20, 20, -20]
});

// Create a CameraControl to interact with the Camera
var cameraControl = new BIMSURFER.CameraControl(viewer, {
   camera: camera
});

// Create a BoxObject
new BIMSURFER.BoxObject(viewer, {
   id: "foo",
   type: "IfcWall",
   matrix: BIMSURFER.math.scaleMat4v([1.5, 1.5, 1.5])
});

Constructor

BoxObject

(
  • [viewer]
  • [cfg]
)

Parameters:

  • [viewer] Viewer optional

    Parent Viewer.

  • [cfg] optional

    Configs

    • [id] String optional

      Optional ID, unique among all components in the parent viewer, generated automatically when omitted.

    • [meta] String:BoxObject optional

      Optional map of user-defined metadata to attach to this BoxObject.

    • [type] String optional

      The IFC type of this BoxObject.

    • [color] Array of Number optional

      The color of this BoxObject, defaults to the color of the specified IFC type.

    • [geometries] Array of Geometry optional

      The Geometry to render for this BoxObject.

    • [clipping=true] Boolean optional

      Whether this BoxObject is clipped by Clips.

    • [transparent=false] Boolean optional

      Whether this BoxObject is transparent or not.

    • [opacity=1] Number optional

      Scalar in range 0-1 that controls opacity, where 0 is completely transparent and 1 is completely opaque. Only applies while this BoxObject's BoxObject/transparent:property equals true.

    • [highlight=false] Boolean optional

      Whether this BoxObject is highlighted or not.

    • [xray=false] Boolean optional

      Whether this BoxObject is highlighted or not.

    • [matrix=[1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]] Array of Number optional

      Transform matrix - a one-dimensional, sixteen element array of elements, an identity matrix by default.

Methods

destroy

()

Destroys this component.

Removes this Component from its Viewer.

Fires a destroyed event on this Component.

error

(
  • message
)

Logs an error for this component to the JavaScript console.

The console message will have this format: [ERROR] <component id>: <message>

Parameters:

  • message String

    The message to log

fire

(
  • event
  • value
  • [forget=false]
)

Fires an event on this component.

Notifies existing subscribers to the event, retains the event to give to any subsequent notifications on that location as they are made.

Parameters:

  • event String

    The event type name

  • value Object

    The event

  • [forget=false] Boolean optional

    When true, does not retain for subsequent subscribers

log

(
  • message
)

Logs a console debugging message for this component.

The console message will have this format: [LOG] <component id>: <message>

Parameters:

  • message String

    The message to log

off

(
  • handle
)

Cancels an event subscription that was previously made with on or once.

Parameters:

  • handle String

    Subscription handle

on

(
  • event
  • callback
  • [scope=this]
)
String

Subscribes to an event on this component.

The callback is be called with this component as scope.

Parameters:

  • event String

    Publication event

  • callback Function

    Called when fresh data is available at the event

  • [scope=this] Object optional

    Scope for the callback

Returns:

String:

Handle to the subscription, which may be used to unsubscribe with {@link #off}.

once

(
  • event
  • callback
  • [scope=this]
)

Subscribes to the next occurrence of the given event, then un-subscribes as soon as the event is handled.

Parameters:

  • event String

    Data event to listen to

  • callback Function(data)

    Called when fresh data is available at the event

  • [scope=this] Object optional

    Scope for the callback

warn

(
  • message
)

Logs a warning for this component to the JavaScript console.

The console message will have this format: [WARN] <component id>: <message>

Parameters:

  • message String

    The message to log

Properties

active

Boolean

Whether this Object is active or not.

Fires an active event on change.

boundary

The World-space boundary of this Object.

center

Array of Number

The World-space center of this Object.

className

String final

Inherited from Component but overwritten in src/viewer/objects/boxObject.js:61

JavaScript class name for this Component.

color

Array(Number)

The color of this Object.

Default: [1.0, 1.0, 1.0]

desaturated

Boolean

Whether this Object is desaturated.

Default: false

destroyed

Boolean

True as soon as this Component has been destroyed

highlighted

Boolean

Whether this Object is highlighted.

Default: false

id

String final

Unique ID for this Component within its parent Viewer.

Items in this map

Unknown

label

Boolean

Indicates if this Object shows a debug Label.

matrix

Array of Number

This Object's transformation matrix.

Default: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]

metadata

Object

Metadata on this component.

opacity

Number

Factor in the range [0..1] indicating how transparent this Object is.

A value of 0.0 indicates fully transparent, 1.0 is fully opaque.

This Object will appear transparent only if transparent is also set to true.

Default: 1.0

transparent

Boolean

Whether this Object is transparent.

Default: false

viewer

Viewer final

The Viewer that contains this Component.

xray

Boolean

Whether this Object is X-rayed

Default: false

Events

active

Fired whenever this Object's active property changes.

Event Payload:

  • value Object

    The property's new value

destroyed

Fired when this Component is destroyed.