@xeokit/xeokit-sdk
Version:
3D BIM IFC Viewer SDK for AEC engineering applications. Open Source JavaScript Toolkit based on pure WebGL for top performance, real-world coordinates and full double precision
45 lines (41 loc) • 1.72 kB
TypeScript
import { Entity, Node, Plugin, Viewer } from "../../viewer";
export declare type LoadOBJModel = {
/** ID to assign to the model's root {@link Entity}, unique among all components in the Viewer's {@link Scene}. */
id: string;
/** Path to an OBJ file. */
src: string;
/** Path to an optional metadata file. */
metaModelSrc?: string;
/** The model World-space 3D position. */
position?: number[];
/** The model's World-space scale. */
scale?: number[];
/** The model's World-space rotation, as Euler angles given in degrees, for each of the X, Y and Z axis. */
rotation?: number[];
/** The model's world transform matrix. Overrides the position, scale and rotation parameters. */
matrix?: number[];
/** When xraying, highlighting, selecting or edging, this is the threshold angle between normals of adjacent triangles, below which their shared wireframe edge is not drawn. */
edgeThreshold?: number;
};
/**
* {@link Viewer} plugin that loads models from [OBJ](https://en.wikipedia.org/wiki/Wavefront_.obj_file) files.
*/
export declare class OBJLoaderPlugin extends Plugin {
/**
* @constructor
*
* @param {Viewer} viewer The Viewer.
* @param {Object} cfg Plugin configuration.
* @param {String} [cfg.id="OBJLoader"] Optional ID for this plugin, so that we can find it within {@link Viewer.plugins}.
*/
constructor(viewer: Viewer, cfg: {
id?: string;
});
/**
* Loads an OBJ model from a file into this OBJLoader's {@link Viewer}.
*
* @param {LoadOBJModel} params Loading parameters.
* @returns {Node} An {@link Entity} that is a scene graph node that can have child Nodes and {@link Mesh}es.
*/
load(params: LoadOBJModel): Node;
}