Home Reference Source
import {Viewer} from 'bimsurfer3/viewer/viewer.js'
public class | source

Viewer

The idea is that this class doesn't know anything about BIMserver, and can possibly be reused in classes other than BimServerViewer

Main viewer class, too many responsibilities:

  • Keep track of width/height of viewport
  • Keeps track of dirty scene
  • Contains the basic render loop (and delegates to the render layers)

Constructor Summary

Public Constructor
public

Member Summary

Public Members
public
public
public

camera: *

public
public
public

canvas: *

public
public
public
public
public
public
public

gl: *

public

height: *

public
public
public
public
public
public
public
public

overlay: *

public
public
public
public
public

quad: *

public

quad2: *

public
public
public
public
public
public
public
public
public
public

stats: *

public
public
public
public
public
public

width: *

Method Summary

Public Methods
public
public

addSelectionListener(selectionListener: *)

public

addViewObject(objectId: *, viewObject: *)

public

callByType(method: *, types: *, args: ...*): *

public
public

drawScene(buffers: *, deltaTime: *)

public

This will create a mapping from BufferSetId -> {bufferSet, oids[]} This is useful when we want to do batch updates of BufferSets, instead of randomly updating single objects in BufferSets The order already in elems will stay intact

public

getPickColor(objectId: *): *

public
public

getViewObject(objectId: *): *

public

init(): *

public
public

pick(params: *): *

Attempts to pick an object at the given canvas coordinates.

public

render(now: *)

public
public

resetColor(elems: *): *

public

resetColorAlreadyBatched(elems: *, bufferSetsToUpdate: *): *

public
public
public

setColor(elems: *, clr: *): *

public

setDimensions(width: *, height: *)

public

setModelBounds(modelBounds: *)

public

setSelectionState(elems: *, selected: *, clear: *): *

public

setVisibility(elems: *, visible: *): *

public

startSectionPlane(params: *)

public
public

viewFit(ids: *): *

Public Constructors

public constructor() source

Public Members

public animationListeners: *[] source

public bufferSetPool: * source

public camera: * source

public cameraControl: * source

public cameraSet: boolean source

public canvas: * source

public colorRestore: *[] source

public defaultColors: * source

public dirty: boolean source

public firstRun: boolean source

public fps: number source

public geometryIdToBufferSet: * source

public gl: * source

public height: * source

public hiddenDueToSetColor: * source

public instancesWithChangedColor: * source

public invisibleElements: * source

public lighting: * source

public modelBounds: * source

public oitBuffer: * source

public originalColors: * source

public overlay: * source

public pickBuffer: * source

public pickIdCounter: number source

public pickIdToViewObject: *[] source

public programManager: * source

public quad: * source

public quad2: * source

public renderLayers: * source

public running: boolean source

public sectionPlaneIsDisabled: boolean source

public sectionPlaneValues: * source

public sectionPlaneValues2: * source

public sectionPlaneValuesDisabled: * source

public selectedElements: * source

public selectionListeners: *[] source

public settings: * source

public stats: * source

public then: number source

public timeLast: number source

public useOrderIndependentTransparency: * source

public viewObjects: * source

public viewObjectsByType: * source

public width: * source

Public Methods

public addAnimationListener(fn: *) source

Params:

NameTypeAttributeDescription
fn *

public addSelectionListener(selectionListener: *) source

Params:

NameTypeAttributeDescription
selectionListener *

public addViewObject(objectId: *, viewObject: *) source

Params:

NameTypeAttributeDescription
objectId *
viewObject *

public callByType(method: *, types: *, args: ...*): * source

Params:

NameTypeAttributeDescription
method *
types *
args ...*

Return:

*

public cleanup() source

public drawScene(buffers: *, deltaTime: *) source

Params:

NameTypeAttributeDescription
buffers *
deltaTime *

public generateBufferSetToOidsMap(elems: *): * source

This will create a mapping from BufferSetId -> {bufferSet, oids[]} This is useful when we want to do batch updates of BufferSets, instead of randomly updating single objects in BufferSets The order already in elems will stay intact

Params:

NameTypeAttributeDescription
elems *

Return:

*

public getPickColor(objectId: *): * source

Params:

NameTypeAttributeDescription
objectId *

Return:

*

public getSelected(): * source

Return:

*

public getViewObject(objectId: *): * source

Params:

NameTypeAttributeDescription
objectId *

Return:

*

public init(): * source

Return:

*

public loadingDone() source

public pick(params: *): * source

Attempts to pick an object at the given canvas coordinates.

Params:

NameTypeAttributeDescription
params *
params.canvasPos Array

Canvas coordinates

Return:

*

Information about the object that was picked, if any.

public render(now: *) source

Params:

NameTypeAttributeDescription
now *

public resetCamera() source

public resetColor(elems: *): * source

Params:

NameTypeAttributeDescription
elems *

Return:

*

public resetColorAlreadyBatched(elems: *, bufferSetsToUpdate: *): * source

Params:

NameTypeAttributeDescription
elems *
bufferSetsToUpdate *

Return:

*

public resetColors(): * source

Return:

*

public resetVisibility() source

public setColor(elems: *, clr: *): * source

Params:

NameTypeAttributeDescription
elems *
clr *

Return:

*

public setDimensions(width: *, height: *) source

Params:

NameTypeAttributeDescription
width *
height *

public setModelBounds(modelBounds: *) source

Params:

NameTypeAttributeDescription
modelBounds *

public setSelectionState(elems: *, selected: *, clear: *): * source

Params:

NameTypeAttributeDescription
elems *
selected *
clear *

Return:

*

public setVisibility(elems: *, visible: *): * source

Params:

NameTypeAttributeDescription
elems *
visible *

Return:

*

public startSectionPlane(params: *) source

Params:

NameTypeAttributeDescription
params *

public updateViewport() source

public viewFit(ids: *): * source

Params:

NameTypeAttributeDescription
ids *

Return:

*