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

RenderLayer

Abstract base class for managing and rendering buffers pertaining to a render layer, ie. the base geometries always visible vs. the dynamically visible tiles based on camera orientation.

Constructor Summary

Public Constructor
public

Member Summary

Public Members
public
public
public
public

gl: *

public
public
public

lines: *

public

loaders: *

public
public
public
public
public
public
public
public

viewer: *

Method Summary

Public Methods
public

addCompleteBuffer(buffer: *, gpuBufferManager: *): *

Add a buffer that is already prepared

public

addGeometry(loaderId: *, geometry: *, object: *, buffer: *, sizes: *, quantFromAabb: *)

public

addGeometryReusable(geometry: *, loader: *, gpuBufferManager: *)

public

addGeometryToObject(geometryId: *, uniqueId: *, loader: *, gpuBufferManager: *, quantFromAabb: *)

public

createGeometry(loaderId: *, roid: *, uniqueModelId: *, geometryId: *, positions: *, normals: *, colors: *, color: *, indices: *, lineIndices: *, hasTransparency: *, hasTwoSidedTriangles: *, reused: *): *

public

createObject(loaderId: *, roid: *, uniqueId: *, geometryIds: *, matrix: *, normalMatrix: *, scaleMatrix: *, hasTransparency: *, type: *, aabb: *, gpuBufferManager: *, node: *, quantFromAabb: *): *

public

flushBuffer(buffer: *, gpuBufferManager: *): *

public

getLoader(loaderId: *): *

public

getObject(loaderId: *, identifier: *): *

public

incLoadedPrimitives(triangles: *, lines: *)

public
public

registerLoader(loaderId: *)

public

removeLoader(loaderId: *)

public

render(transparency: *, lineRender: *, twoSidedTriangles: *, visibleElements: *)

public

renderBuffer(buffer: *, programInfo: *, visibleElements: *, lines: *)

public

renderBuffers(transparency: *, twoSidedTriangles: *, reuse: *, lineRender: *, visibleElements: *)

public

renderFinalBuffers(buffers: *, programInfo: *, visibleElements: *, lines: *)

public
public

renderSelectionOutlines(ids: *, width: *, node: *)

public

storeMissingGeometry(geometryLoader: *, map: *)

Public Constructors

public constructor() source

Public Members

public bufferTransformer: * source

public geometryCache: * source

public geometryDataToReuse: * source

public gl: * source

public instanceSelectionData: * source

public lastUniqueModelIdRendered: * source

public lines: * source

public loaders: * source

public nrLinesLoaded: number source

public nrPrimitivesLoaded: number source

public nrTrianglesLoaded: number source

public postProcessingTranslation: * source

public previousInstanceVisibilityState: * source

public selectionOutlineMatrix: * source

public settings: * source

public viewer: * source

Public Methods

public addCompleteBuffer(buffer: *, gpuBufferManager: *): * source

Add a buffer that is already prepared

Params:

NameTypeAttributeDescription
buffer *
gpuBufferManager *

Return:

*

public addGeometry(loaderId: *, geometry: *, object: *, buffer: *, sizes: *, quantFromAabb: *) source

Params:

NameTypeAttributeDescription
loaderId *
geometry *
object *
buffer *
sizes *
quantFromAabb *

public addGeometryReusable(geometry: *, loader: *, gpuBufferManager: *) source

Params:

NameTypeAttributeDescription
geometry *
loader *
gpuBufferManager *

public addGeometryToObject(geometryId: *, uniqueId: *, loader: *, gpuBufferManager: *, quantFromAabb: *) source

Params:

NameTypeAttributeDescription
geometryId *
uniqueId *
loader *
gpuBufferManager *
quantFromAabb *

public createGeometry(loaderId: *, roid: *, uniqueModelId: *, geometryId: *, positions: *, normals: *, colors: *, color: *, indices: *, lineIndices: *, hasTransparency: *, hasTwoSidedTriangles: *, reused: *): * source

Params:

NameTypeAttributeDescription
loaderId *
roid *
uniqueModelId *
geometryId *
positions *
normals *
colors *
color *
indices *
lineIndices *
hasTransparency *
hasTwoSidedTriangles *
reused *

Return:

*

public createObject(loaderId: *, roid: *, uniqueId: *, geometryIds: *, matrix: *, normalMatrix: *, scaleMatrix: *, hasTransparency: *, type: *, aabb: *, gpuBufferManager: *, node: *, quantFromAabb: *): * source

Params:

NameTypeAttributeDescription
loaderId *
roid *
uniqueId *
geometryIds *
matrix *
normalMatrix *
scaleMatrix *
hasTransparency *
type *
aabb *
gpuBufferManager *
node *
quantFromAabb *

Return:

*

public flushBuffer(buffer: *, gpuBufferManager: *): * source

Params:

NameTypeAttributeDescription
buffer *
gpuBufferManager *

Return:

*

public getLoader(loaderId: *): * source

Params:

NameTypeAttributeDescription
loaderId *

Return:

*

public getObject(loaderId: *, identifier: *): * source

Params:

NameTypeAttributeDescription
loaderId *
identifier *

Return:

*

public incLoadedPrimitives(triangles: *, lines: *) source

Params:

NameTypeAttributeDescription
triangles *
lines *

public prepareRender() source

public registerLoader(loaderId: *) source

Params:

NameTypeAttributeDescription
loaderId *

public removeLoader(loaderId: *) source

Params:

NameTypeAttributeDescription
loaderId *

public render(transparency: *, lineRender: *, twoSidedTriangles: *, visibleElements: *) source

Params:

NameTypeAttributeDescription
transparency *
lineRender *
twoSidedTriangles *
visibleElements *

public renderBuffer(buffer: *, programInfo: *, visibleElements: *, lines: *) source

Params:

NameTypeAttributeDescription
buffer *
programInfo *
visibleElements *
lines *

public renderBuffers(transparency: *, twoSidedTriangles: *, reuse: *, lineRender: *, visibleElements: *) source

Params:

NameTypeAttributeDescription
transparency *
twoSidedTriangles *
reuse *
lineRender *
visibleElements *

public renderFinalBuffers(buffers: *, programInfo: *, visibleElements: *, lines: *) source

Params:

NameTypeAttributeDescription
buffers *
programInfo *
visibleElements *
lines *

public renderLines() source

public renderSelectionOutlines(ids: *, width: *, node: *) source

Params:

NameTypeAttributeDescription
ids *
width *
node *

public storeMissingGeometry(geometryLoader: *, map: *) source

Params:

NameTypeAttributeDescription
geometryLoader *
map *