All Projects → pattern-x → gemini-viewer

pattern-x / gemini-viewer

Licence: other
WebGL BIM Viewer based on xeoKit-sdk, written with TypeScript.

Programming Languages

typescript
32286 projects
SCSS
7915 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to gemini-viewer

xeokit-react
Integratation of the xeokit viewer into a React application.
Stars: ✭ 27 (+12.5%)
Mutual labels:  bim, gltf, xeokit-sdk
xeokit-metadata
A multi-platform command line tool for extracting the structural hierarchy of the building elements within an IFC into the metadata format of the xeokit-sdk.
Stars: ✭ 20 (-16.67%)
Mutual labels:  bim, ifc, xeokit-sdk
IFC parser
A full python parser for ISO 10303-11 / EXPRESS schemas and IFC files
Stars: ✭ 23 (-4.17%)
Mutual labels:  bim, ifc
MeshIO
CloudCompare plugin for loading COLLADA, glTF, and IFC-SPF 3D models
Stars: ✭ 14 (-41.67%)
Mutual labels:  ifc, gltf
IFC4.3.x-development
Repository to collect updates to the IFC4.3 Specification
Stars: ✭ 59 (+145.83%)
Mutual labels:  bim, ifc
vim-webgl-viewer
An easy to use online 3D model viewer based on Three.JS.
Stars: ✭ 41 (+70.83%)
Mutual labels:  viewer, gltf
Xeokit Sdk
Open source JavaScript SDK for viewing high-detail, full-precision 3D BIM and AEC models in the Web browser.
Stars: ✭ 316 (+1216.67%)
Mutual labels:  bim, gltf
Clay Viewer
3D model viewer with high quality rendering and glTF2.0/GLB export
Stars: ✭ 558 (+2225%)
Mutual labels:  viewer, gltf
Xeogl
A WebGL-based 3D engine for technical visualization. Not actively maintained.
Stars: ✭ 920 (+3733.33%)
Mutual labels:  bim, gltf
Ueviewer
Viewer and exporter for Unreal Engine 1-4 assets (UE Viewer).
Stars: ✭ 1,083 (+4412.5%)
Mutual labels:  viewer, gltf
android-3d-model-viewer
Android app to load 3D models in obj, stl, dae & gltf format using pure OpenGL ES 2.0. Published on Play Store https://play.google.com/store/apps/details?id=org.andresoviedo.dddmodel2
Stars: ✭ 150 (+525%)
Mutual labels:  viewer, gltf
Viewer
Viewer is a configurable application template that enables you to display an ArcGIS web map using a variety of tools.
Stars: ✭ 56 (+133.33%)
Mutual labels:  viewer
paper-terminal
Print Markdown to a paper in your terminal
Stars: ✭ 33 (+37.5%)
Mutual labels:  viewer
CTR-tools
Crash Team Racing (PS1) tools - a C# framework by DCxDemo and a set of tools to parse files found in the original kart racing game by Naughty Dog.
Stars: ✭ 93 (+287.5%)
Mutual labels:  viewer
SQLite.viewer
An elegant library for debugging sqlite databases in iOS applications
Stars: ✭ 73 (+204.17%)
Mutual labels:  viewer
lol2gltf
Tool for converting between the glTF format and League of Legends models and animations
Stars: ✭ 74 (+208.33%)
Mutual labels:  gltf
ai-unchive
AIA Viewer for Kodular
Stars: ✭ 18 (-25%)
Mutual labels:  viewer
react-imageViewer
React component for image displaying in full screen
Stars: ✭ 61 (+154.17%)
Mutual labels:  viewer
bpmn-visualization-js
A TypeScript library for visualizing process execution data on BPMN diagrams
Stars: ✭ 113 (+370.83%)
Mutual labels:  viewer
verge3d-blender-addon
WebGL exporter add-on ripped from Verge3D for Blender toolkit
Stars: ✭ 91 (+279.17%)
Mutual labels:  gltf

gemini-viewer

WebGL BIM Viewer based on xeoKit-sdk, written with TypeScript.

Installation

To install from npm:

npm install @pattern-x/gemini-viewer

Documentation

The documents are under the ./docs. To generate the documents:

npm run docs

Features

  • Orthographic camera ortho.gif

  • Distance measurement measure_dist.gif

  • Section plane section_plane.gif

  • Section box section_box.gif

  • Navigation cube select.gif

  • Pivot outline.gif

  • Context menu transparent.gif

Examples

To run the demo:

npm run demo

And then, visit demo.

Basic usages for Bimviewer is as followed. For more details, you could refference to gemini-viewer-ui which is a react project build up with gemini-viewer.

import { BimViewer, KeyBoardRotatePlugin } from "@pattern-x/gemini-viewer";

const project = {
    id: "technical_school_normal",
    name: "technical_school_normal",
    thumbnail: "/projects/technical_school_normal/thumbnail.png",
    camera: {
        eye: [-65, 37, 41],
        look: [-15, 0, 15],
        up: [0, 1, 0],
        far: 10000,
    },
    models: [
        {
            name: "technical school normal",
            src: "/projects/technical_school_normal/Technical_school-current_m.gltf",
            position: [0, 0, 0],
            rotation: [0, 0, 0],
            scale: [1, 1, 1],
            edges: true,
            visible: true,
        },
    ],
};

const bimViewer = new BimViewer(
    {
        canvasId: "myCanvas",
        // use default css if navCubeCanvasId or axisGizmoCanvasId not given
        // navCubeCanvasId: "myNavCubeCanvas",
        // axisGizmoCanvasId: "myAxisGizmoCanvas",
        swapYZ: true,
        activeOrthoMode: true,
        // locale: "en"
        skyBoxImgSrc: "images/skybox/default.png"
    },
    project.camera
);

new KeyBoardRotatePlugin(bimViewer.viewer);

// loadProjectModel
let counter = 0; // to indicate how many models are loading
project.models.forEach((modelCfg) => {
    if (modelCfg.visible === false) {
        // visible is true by default
        return; // only load visible ones
    }
    counter++;
    bimViewer.loadModel(modelCfg, (model) => {
        counter--;
        if (counter === 0) {
            if (bimViewer.has2dModel && !bimViewer.has3dModel) {
                bimViewer.active2dMode();
            }
        }
        // Do something with model
        // console.log("model:", model);

        // Gets the image data of the model canvas.
        // console.log(bimViewer.getCanvasImageDataUrl());
    });
});
...

BimViewer Configuration Summary

Name Type Attribute Description
canvasId string For Xeokit Viewer.
enableNavCube boolean - optional
- default: true
Shows the NavCube.
enableAxisGizmo boolean - optional
- default: true
Shows the AxisGizmo.
enableToolbar boolean - optional
- default: true
Shows the toolbar.
enableBottomBar boolean - optional
- default: true
shows the bottom-bar.
enableContextMenu boolean - optional
- default: true
Shows the context-menu.
enableFastNav boolean - optional
- default: true
Enables FastNav
Viewer plugin that improves interactivity by disabling expensive rendering effects while the Camera is moving.
enableSingleSelection boolean - optional
- default: true
Enable single selection.
spinnerElementId string - optional The id of customized spinner element.
For Xeokit Viewer.scene.
swapYZ boolean - optional
- default: false
Swaps Y / Z axis.
navCubeCanvasId string - optional The id of the customized canvas to draw NavCube.
It will use the default NavCube when this param is empty.
axisGizmoCanvasId string - optional The id of the customized canvas to draw AxisGizmo.
It will use the default AxisGizmo when this param is empty.
antialias boolean - optional For Xeokit Viewer.scene.
transparent boolean - optional For Xeokit Viewer.scene.
gammaInput boolean - optional For Xeokit Viewer.scene.
gammaOutput boolean - optional For Xeokit Viewer.scene.
backgroundColor number[] - optional For Xeokit Viewer.scene.canvas.
units string - optional
- default: "meters"
For Xeokit Viewer.scene.metrics.
scale number - optional For Xeokit Viewer.scene.metrics.
origin number[] - optional For Xeokit Viewer.scene.metrics.
saoEnabled boolean - optional For Xeokit Viewer.scene.sao.
pbrEnabled boolean - optional For Xeokit Viewer.scene.
activeOrthoMode boolean - optional Enter ortho mode by default.
locale "cn" | "en" - optional
- default: "cn"
Sets the default locale.
skyBoxImgSrc string - optional The image src of the skybox.
It will use default background color when this param is empty.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].