playcanvas
Version:
PlayCanvas WebGL game engine
86 lines (85 loc) • 2.61 kB
TypeScript
export class Shape {
constructor(device: any, options: any);
_position: any;
_rotation: any;
_scale: any;
_layers: any[];
_shading: boolean;
_disabled: any;
_defaultColor: Color;
_hoverColor: Color;
_disabledColor: Readonly<Color>;
_cull: number;
/**
* The graphics device.
*
* @type {GraphicsDevice}
*/
device: GraphicsDevice;
/**
* The axis of the shape.
*
* @type {string}
*/
axis: string;
/**
* The entity of the shape.
*
* @type {Entity}
*/
entity: Entity;
/**
* The triangle data of the shape.
*
* @type {TriData[]}
*/
triData: TriData[];
/**
* The mesh instances of the shape.
*
* @type {MeshInstance[]}
*/
meshInstances: MeshInstance[];
set disabled(value: any);
get disabled(): any;
set shading(value: boolean);
get shading(): boolean;
_createRoot(name: any): void;
/**
* Create a mesh from a primitive.
*
* @param {Geometry} geom - The geometry to create the mesh from.
* @param {boolean} shading - Whether to apply shading to the primitive.
* @returns {Mesh} The mesh created from the primitive.
* @throws {Error} If the primitive type is invalid.
* @protected
*/
protected _createMesh(geom: Geometry, shading?: boolean): Mesh;
/**
* Create a render component for an entity.
*
* @param {Entity} entity - The entity to create the render component for.
* @param {Mesh[]} meshes - The meshes to create the render component with.
* @protected
*/
protected _createRenderComponent(entity: Entity, meshes: Mesh[]): void;
/**
* Add a render mesh to an entity.
*
* @param {Entity} entity - The entity to add the render mesh to.
* @param {string} type - The type of primitive to create.
* @param {boolean} shading - Whether to apply shading to the primitive.
* @throws {Error} If the primitive type is invalid.
* @protected
*/
protected _addRenderMesh(entity: Entity, type: string, shading: boolean): void;
hover(state: any): void;
destroy(): void;
}
import { Color } from '../../../core/math/color.js';
import type { GraphicsDevice } from '../../../platform/graphics/graphics-device.js';
import { Entity } from '../../../framework/entity.js';
import type { TriData } from '../tri-data.js';
import { MeshInstance } from '../../../scene/mesh-instance.js';
import { Geometry } from '../../../scene/geometry/geometry.js';
import { Mesh } from '../../../scene/mesh.js';