UNPKG

forma-embedded-view-sdk

Version:

The Forma Embedded View SDK is a JavaScript library for creating custom extensions in Autodesk Forma (previously Spacemaker).

55 lines (54 loc) 1.79 kB
/** * Render elements in the 3D scene. * * @remarks * Available via {@link auto.Forma | Forma}.{@link index.EmbeddedViewSdk.experimental | experimental}.{@link index.EmbeddedViewSdk.render | render}.{@link render.RenderApi.element | element}. */ export class RenderElementApi { #iframeMessenger; constructor(iframeMessenger) { this.#iframeMessenger = iframeMessenger; } /** * Add elements to the scene. * * @returns Unique identifier for this render call * * @example * const { id } = await Forma.render.element.add({ elements: [{ urn: <urn> }] }), */ async add(request) { return await this.#iframeMessenger.sendRequest("experimental/render/element/add", request); } /** * Upsert an element in the scene. If the element does not exist, it will be added. * * This method can also be used as an upsert. * * @example * await Forma.render.element.update({ id: "myPreviousAddedGroup", elements: [{ urn: <urn> }] }) */ async update(request) { await this.#iframeMessenger.sendRequest("experimental/render/element/update", request); } /** * Remove an existing element group from the scene. * * @example * await Forma.render.element.remove({ id: "myPreviousAddedGroup" }) */ async remove(request) { await this.#iframeMessenger.sendRequest("experimental/render/element/remove", request); } /** * Remove all Elements added by this API from the scene. * * Called automatically when the extension is unloaded * * @example * await Forma.render.element.cleanup() */ async cleanup() { await this.#iframeMessenger.sendRequest("experimental/render/element/cleanup"); } }