This page is under construction

Bimplus Web SDK

Bimplus provides a javascript SDK for accessing & manipulating building information stored in the Bimplus platform. The SDK provides a rich set of web-interface tools to view any part or aspect of the 3D model of the given building, showing or hiding specific layers, such as Disciplines or Collisions and other details. It also provides user controls for creating and managing Bimplus projects, collaborating with team/project members, issue tracking etc.

Features

The SDK offers various controllers for

Downloading & using the SDK

The source code for the SDK is located under https://github.com/Bimplus/Web-SDK. Please go through the "Getting Started" & "Using the SDK" sections of README.MD text.

Web SDK Reference


3D Model Renderer 

This control is used for rendering & displaying a 3D model of any size. This is the main view which displays the model.

 

 

Controller: viewport3d, viewport3dController

Methods:

initViewport(): Initialize 3D viewport

select3DObject: Object properties and 3D preview will be shown in the object view if exists (This is a ember action helper which could be called from template or with sendAction() method)

getSelected3DObject(): Returns the currently selected 3D object id(String) in the viewport

stopLoadNode(): Stop node loading and processing on custom request

showPins(Array pins): Show specified pins in the 3D viewport and highlight the related objects

hidePins(): Hide pins in the 3D viewport and reset selected objects

cancelAddPin(): Cancels the addition of a pin

getPinObject(): Selects object in the 3D view to assign pin to

showRelatedObject(Object pin): Highlight the pin related object

setSlideScene(Object pin): Sets the scene according to the slide data

getObjectUnderMouse(): Returns the object(Object) which is under the mouse pointer

reset(): Resets the 3D view by deleting the node tree, geometry, objects and resetting the viewport. Used when new project will be loaded

setupScene(Object scene): Setup scene for particular slide in the slideshow. Set camera, selection mode, object picking mode, UI, etc. It returns Promise object

toggleNode(node, discipline): Toggles node visibility

setDisciplineOpacity(Object discipline, Object opacity): Sets the transparency of discipline

resetSize(): Sets the size of the viewport according to the container dimension

resetCamera(): Resets camera and controls to the initial values

setSectionAxis(String section_axis(i.e x, y, z)): Select axis for sectioning operation

setCameraResetAxis(String section_axis(i.e x, y, z)): Reset the sectioned axis

checkSelectionMode(): Checks the selection mode

setSelectionMode(): Sets the selection mode

unsetSelectionMode(): Unsets the selection mode in 3D viewport

find(Object node, Object discipline): Load objects with geometry

Please note that viewport3dController acts like a proxy to the viewport3d and hence all the public methods are available under viewport3d.

Template: main.hbs

View: viewport3dView

 


Attachment

This control is used for uploading & displaying the attachments (attachment control is already included for objects, issues & slideshows)

 

 

Controller: attachmentsListController

Methods:

addAttachment(Object form_data): Add an attachment to the current object. It returns a deferred object

deleteAttachment(Object attachment): Deletes the specified attachment from the current object in local cache & db and returns a deferred object

findAll(String object_id): Loads object attachments from local db or make AJAX request to server and returns a deferred object


Here is a list of Ember action helper methods which could be called from template or with sendAction() method 

createAttachment(): Create a new attachment object 

showNewAttachment(): Show DOM element for new attachment creation 

cancelNewAttachment(): Cancels the new attachment creation mode 

deleteIssueAttachment(Object attachment): Deletes the specified attachment from the current issue object 

downloadIssueAttachment(Object attachment): Download the specified attachment 

hideAttachmentPreview(): Hides the attachment preview of DOM object(div)

Template: attachmentList.hbs

View: attachmentsListView

 


Comment

This control is used for working with the comments (comments control is already included for objects, issues & slideshows)


 

Controller: commentController, commentsListController

Methods:

commentController

find(): Loads the comment info from local db or make the AJAX request to the server

commentsListController

addComment(): Adds comment to the current object and returns a deferred object

updateComment(Object comment): Updates the specified comment.

deleteComment(Object comment): Deletes the specified comment from the current object in local cache & db and returns a deferred object

findAll(String issue_id): Load issue comments from local db or make ajax request to server

 

Here is a list of Ember action helper methods which could be called from template or with sendAction() method 

editMode(): Sets the edit mode for writable fields 

cancel(): Sets the read mode for writable fields 

createComment(): Creates a new comment 

updateIssueComment(Object comment): Updates the specified comment 

showNewComment(String DOM_Object_id): Show input view for new comment 

cancelNewComment(String DOM_Object_id): Cancel new comment creation mode 

deleteComment(Object comment): Deletes the specified comment

Template: commentsList.hbs

View: commentsListView

 


Hyperlink

This control is used for working with the hyperlinks (hyperlinks control is already included for objects, issues & slideshows)

 

 

Controller: hyperlinksListController

Methods:

addHyperlink(): Adds hyperlink to an issue and returns a deferred object

updateHyperlink(object hyperlink): Update the hyperlink

deleteHyperlink(object hyperlink): Deletes hyperlink from the database and returns a deferred object

findAll(String issue_id): Load hyperlinks of an issue from local database or make AJAX request to server

 

Here is a list of Ember action helper methods which could be called from template or with sendAction() method 

cancel(object hyperlink): Sets the read only mode for that particular hyperlink

createHyperlink(): Creates a new hyperlink

showNewHyperlink(String DOM_Object_Id): Show input form for new hyperlink

cancelNewHyperlink(String DOM_Object_Id): Cancels hyperlink creation and go to preview mode

deleteHyperlink(object hyperlink): Deletes the selected hyperlink

Template: hyperlinksList.hbs

View: hyperlinksListView

 


Issue

This control is used for working with issues inside a project. Please use Pins/Spot control for visualizing spots/pins(could be a problem) related to an issue (if the issue includes geometrical information)


 

Controller: issueController

Methods:

addIssue(): Creates a new issue and saves it into the local db

updateIssue(object issue): Updates the selected issue

deleteIssue(object issue): Deletes the issue

find(String issue_id): Loads issue info from local db or make ajax request to server

 

Here is a list of Ember action helper methods which could be called from template or with sendAction() method 

editMode(): Sets the edit mode for writable fields of the selected hyperlink

cancel(): Sets the read only mode for the selected hyperlink

addIssue(object issue): Creates a new issue

deleteIssue(object issue): Deletes the selected issue

updateIssue(object issue): Updates the selected issue

Template: issue.hbs

View: issueView

 


Issue List

This control is used for displaying a list of issues inside a project.

 

 

Controller: issuesListController

Methods: No public methods

Template: issuesList.hbs

View: issuesListView

 


Object Properties 

This control is used for displaying object's properties. It includes comments, attachments & hyperlinks controls.

 

 

Please note that the selected objects can also be previewed(visualized) using the viewport3d, viewport3dController and its related templates.

Controller: object3dController

Methods: No public methods

Template: object3d.hbs

View: object3dView

 


Spot / Pin

This control is used for visualizing spots/pins(could be a problem) related to an issue (if the issue includes geometrical information)


 

Please note that for visualizing the spots/pins, you have to use viewport3d, viewport3dController and its related templates.

Controller: pinsListController

Methods: No public methods

Template: pinsList.hbs

View: pinsListView

 


Projects

This control is used for displaying project information. A project consists of one or more models and each model contains one or more disciplines/layers in it. Each model & discipline could be switched on/off and the transparency of the disciplines could also be switched on/off. 

 

Please see the terminology page to get to know about what is a project / model / discipline(layer)

Controller: projectController

Methods: No public methods

Template: project.hbs, project-details.hbs, mod-layers.hbs(For setting layer transparency & visibility)

View: projectView

 


Project List

This control is used for displaying a list of projects inside a team.


Controller: projectListController

Methods: No public methods

Template: projectList.hbs

View: projectlistView

 


Slideshow

This control is used for working with a particular slideshow inside a project.

 

Controller: slideshowController

Methods: No public methods

Template: slideshow.hbs

View: slideshowView

 


Slideshow List

This control is used for displaying a list of slideshows inside a project.

 

Controller: slideshowListController

Methods: No public methods

Template: slideshowsList.hbs

View: slideshowsListView

 


Slide

This control is used for working with a particular slide belonging to a slideshow.

 

Controller: slideController

Methods:

getScene():Gets the scene parameters object from the slide

addSlide(String slideshow_id): Creates a new slide and add it to the slideshow

updateSlide(Object slide): Updates the speficified slide

deleteSlide(Object slide): Deletes the specified slide

find(String slide_id): Loads the slide info and returns a deferred object

Here is a list of Ember action helper methods which could be called from template or with sendAction() method 

editMode():

cancel():

addSlide(Object slide):

deleteSlide(Object slide):

updateSlide(Object slide):

Template: slide.hbs

View: slideView

 


Slide List

This control is used for displaying a list of slides belonging to a slideshow.

 

Controller: slidesListController

Methods:

findAll(String Slideshow_id): Loads all the slides belonging to a slideshow

Template: slidesList.hbs

View: slidesListView

 


Teams

This control is used for displaying the list of teams.

 

Controller: teamsController

Methods:

selectTeam(Object team): Selects the specified team

setTeamByName(String team_name, Object model): Select team by team owner name

find(): Loads the project list from local database or make AJAX request to server

Template: teams.hbs

View: teamsView

 


Topology

This control is used for displaying the topology structure of a model.

Please see the terminology page to get to know about topology

Controller: topologyController

Methods:

toggleDisciplineVisibility(Object discipline): Toggles the layer/discipline visibility

toggleNodeVisibility(Object node): Toggles the visibility of the specified node object and its child elements

toggleNodeExpand(Object node): Expand/collapse the specified node in the tree view

find(String node_id): Loads the project topology

findObject(): Loads the object topology

Template: topology.hbs

View: topologyView

 


User

This control is used for displaying user information & his application settings (context menus)

 

Controller: userController, usermenuController

Methods:

userController

find(): Loads user info from local database or make AJAX request to server

usermenuController

init(): Initialize UI strings

gotoUsermenuLink(): Open portal deeplink in the same or new window

Template: menu.hbs

View: userView, usermenuView