Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
vim-webgl-component
Advanced tools
The VIM WebGL Component is an open-source high-performance 3D model viewer and BIM inspector that specializes in loading extremely large AEC (Architectural/Engineering/Construction) models represented as VIM files.
The VIM file format is a high-performance 3D scene format that supports rich BIM data, and can be easily extended to support other relational or non-relation data sets.
Unlike IFC the VIM format is already tessellated, and ready to render. This results in very fast load times. Unlike glTF the VIM format is faster to load, scales better, and has a consistent structure for relational BIM data.
More information on the vim format can be found here: https://github.com/vimaec/vim
Intents:
Make sure you have a recent version of NodeJS installed as Vite requires it.
// Define the new input scheme.
class MyScheme implements VIM.InputScheme {
default: VIM.DefaultInputScheme
constructor (viewer: VIM.Viewer) {
this.default = new VIM.DefaultInputScheme(viewer)
}
onMainAction (hit: VIM.InputAction): void {
console.log('Custom click message')
this.default.onMainAction(hit)
}
// Idle action is called when the mouse is idle for a certain delay
onIdleAction (hit: VIM.InputAction): void {
console.log('Idle action is disabled')
// Because we are not calling default
}
onKeyAction (key: number): boolean {
switch (key) {
case VIM.KEYS.KEY_SPACE: {
console.log('Space bar is disabled.')
// Because we are not calling default
return true
}
}
return this.default.onKeyAction(key)
}
}
createVimComponent((cmp: VimComponentRef) => {
cmp.viewer.loadVim('https://vim.azureedge.net/samples/residence.vim')
// Override the viewer input scheme.
cmp.viewer.inputs.scheme = new MyScheme(cmp.viewer)
})
createVimComponent((cmp: VimComponentRef) => {
cmp.viewer.loadVim('https://vim.azureedge.net/samples/residence.vim')
cmp.customizeContextMenu((menu) => [
// Keep existing menu
...menu,
// Append a divider
{
id: 'custom-divier',
enabled: true
},
// Append a custom button
{
action: () => console.log('Custom button'),
enabled: true,
id: 'custom-button',
keyboard: '',
label: 'Custom Button'
}
])
})
createVimComponent((cmp: VimComponentRef) => {
cmp.viewer
.loadVim('https://vim.azureedge.net/samples/residence.vim')
.then((vim) => {
// Get object using its BIM id form the loaded vim.
const objects = vim.getObjectsFromElementId(ID)
cmp.isolation.isolate(objects, 'custom')
})
})
createVimComponent((cmp: VimComponentRef) => {
cmp.viewer
.loadVim('https://vim.azureedge.net/samples/residence.vim')
.then((vim) => {
cmp.setMsg('Custom message for 3 seconds')
setTimeout(() => cmp.setMsg(undefined), 3000)
})
})
Distributed under the MIT License. See LICENSE.txt
for more information.
Thanks to these great packages and more:
FAQs
A demonstration app built on top of the vim-webgl-viewer
The npm package vim-webgl-component receives a total of 401 weekly downloads. As such, vim-webgl-component popularity was classified as not popular.
We found that vim-webgl-component demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.