This is the npm package for the ShapeDiver Viewer. For more information on ShapeDiver, please visit our homepage.
For the documentation of the Viewer, there are three main pages:
- The Viewer help desk which offers introductions, descriptions and guides.
- The Viewer API documentation which offers the technical documentation of the API.
- The Viewer examples page which offers various examples (with github links and CodeSandBoxes).
If you have any questions or need help with the viewer, please visit the ShapeDiver Forum.
npm install --save @shapediver/viewer
The ShapeDiver Viewer consists of simple components that you can use in your own application. You can see here how you can create those components and some things that you can do with them. Please have a look at the specific documentations or the help desk for further information.
The session is the component that connects to the ShapeDiver servers. This component is used to change parameters, to create exports and to manage the outputs. For more information on what all of these terms mean, please visit our help desk page.
import { createSession } from '@shapediver/viewer';
const session = await createSession({
id: 'mySession',
ticket: MY_TICKET,
modelViewUrl: MY_MODEL_VIEW_URL
});
Once a session is created, the initial outputs are already loaded (unless specified otherwise in the method options).
The viewport is the component where the rendering takes place. To create it, a canvas is needed that is somewhere in your page.
import { createViewport } from '@shapediver/viewer';
const viewport = await createViewport({
id: 'myViewport',
canvas: document.getElementById('canvas') as HTMLCanvasElement
});
Once you created a viewport, you can see the logo. When nothing is in the scene yet, the logo is shown until there is something to render.
There are many options that you can already provide on initialization, please have a look at them here.
-
Interaction:
@shapediver/viewer.features.interaction
To select, drag and hover objects, please use our interaction feature package.
-
Attribute Visualization:
@shapediver/viewer.features.attribute-visualization
To visualize the attributes of objects, please use our attribute visualization feature package.
-
Drawing Tools:
@shapediver/viewer.features.drawing-tools
To create and edit point and line data.
-
Gumball:
@shapediver/viewer.features.gumball
Translate, rotate and scale objects.