Position Class
A Position is a spatial location within a Viewer.
Overview
A Position provides its coordinates in each of BIMSurfer's five coordinate systems:
- pos - 3D coordinates within the Position's local Model coordinate system.
- worldPos - 3D coordinates within the Viewer's current World coordinate system, after transformation by the Position's modelling matrix.
- viewPos - 3D coordinates within the Viewer's current View coordinate system, after transformation by the Viewer's view matrix.
- projPos - 3D coordinates within the Viewer's current Projection coordinate system, after transformation by the Viewer's projection matrix.
- canvasPos - 2D coordinates within the Viewer's current Canvas coordinate system.
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 Position
new BIMSURFER.Position(viewer, {
pos: [0,0,0],
matrix: BIMSURFER.math.translationMat4v([4, 0,0])
});
Constructor
Position
-
[viewer]
-
[cfg]
Parameters:
-
[viewer]
Viewer optionalParent Viewer.
-
[cfg]
optionalConfigs
-
[id]
String optionalOptional ID, unique among all components in the parent viewer, generated automatically when omitted.
-
[meta]
String:Object optionalOptional map of user-defined metadata to attach to this Position.
-
[pos]
Array of Number optionalPosition's 3D location.
-
[matrix=[1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]]
Array of Number optionalTransform matrix - a one-dimensional, sixteen element array of elements, an identity matrix by default.
-
Item Index
Properties
Events
Methods
destroy
()
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
StringThe 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
StringThe event type name
-
value
ObjectThe event
-
[forget=false]
Boolean optionalWhen 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
StringThe message to log
off
-
handle
Parameters:
-
handle
StringSubscription handle
on
-
event
-
callback
-
[scope=this]
Subscribes to an event on this component.
The callback is be called with this component as scope.
Parameters:
-
event
StringPublication event
-
callback
FunctionCalled when fresh data is available at the event
-
[scope=this]
Object optionalScope for the callback
Returns:
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
StringData event to listen to
-
callback
Function(data)Called when fresh data is available at the event
-
[scope=this]
Object optionalScope 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
StringThe message to log
Properties
canvasPos
Array of Number
final
This Position's 2D coordinates within the Canvas coordinate system.
className
String
final
JavaScript class name for this Component.
destroyed
Boolean
True as soon as this Component has been destroyed
Items in this map
Unknown
matrix
Array of Number
This Positions's 4x4 modelling 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.
pos
Array of Number
The Position's 3D coordinates within its local Model coordinate system, ie. before transformation by the Position's matrix.
Default: [0,0,0]
projPos
Array of Number
final
This Position's 3D homogeneous coordinates within the Projection coordinate system, ie. after transformation by the Viewer's projection matrix.
viewPos
Array of Number
final
This Position's 3D coordinates within the View coordinate system, ie. after transformation by the Viewer's view matrix and before transformation by the Viewer's projection matrix.
worldPos
Array of Number
final
This Position's 3D coordinates within the World coordinate system, ie. after transformation by the Position's matrix and before transformation by Viewer's viewing matrix.
Default: [0,0,0]
Events
destroyed
Fired when this Component is destroyed.