UNPKG

awayjs-display

Version:
96 lines (95 loc) 3.22 kB
import Box from "awayjs-core/lib/geom/Box"; import Vector3D from "awayjs-core/lib/geom/Vector3D"; import Sphere from "awayjs-core/lib/geom/Sphere"; import Matrix3D from "awayjs-core/lib/geom/Matrix3D"; import AssetBase from "awayjs-core/lib/library/AssetBase"; import ElementsBase from "../graphics/ElementsBase"; import Graphic from "../graphics/Graphic"; import Style from "../base/Style"; import MaterialBase from "../materials/MaterialBase"; import IAnimator from "../animators/IAnimator"; import ITraverser from "../ITraverser"; import ParticleData from "../animators/data/ParticleData"; /** * * Graphics is a collection of SubGeometries, each of which contain the actual geometrical data such as vertices, * normals, uvs, etc. It also contains a reference to an animation class, which defines how the geometry moves. * A Graphics object is assigned to a Sprite, a scene graph occurence of the geometry, which in turn assigns * the SubGeometries to its respective TriangleGraphic objects. * * * * @see away.core.base.SubGraphics * @see away.entities.Sprite * * @class Graphics */ declare class Graphics extends AssetBase { static assetType: string; private _onInvalidatePropertiesDelegate; private _onInvalidateVerticesDelegate; private _boxBounds; private _boxBoundsInvalid; private _sphereBounds; private _sphereBoundsInvalid; private _material; private _graphics; private _animator; private _style; readonly assetType: string; particles: Array<ParticleData>; numParticles: number; readonly count: number; /** * Defines the animator of the graphics object. Default value is <code>null</code>. */ animator: IAnimator; /** * */ style: Style; /** * The material with which to render the Graphics. */ material: MaterialBase; /** * Creates a new Graphics object. */ constructor(); /** * Adds a GraphicBase wrapping a Elements. * * @param elements */ addGraphic(elements: ElementsBase, material?: MaterialBase, style?: Style): Graphic; removeGraphic(graphic: Graphic): void; getGraphicAt(index: number): Graphic; applyTransformation(transform: Matrix3D): void; copyTo(graphics: Graphics): void; /** * Scales the geometry. * @param scale The amount by which to scale. */ scale(scale: number): void; clear(): void; /** * Clears all resources used by the Graphics object, including SubGeometries. */ dispose(): void; /** * Scales the uv coordinates (tiling) * @param scaleU The amount by which to scale on the u axis. Default is 1; * @param scaleV The amount by which to scale on the v axis. Default is 1; */ scaleUV(scaleU?: number, scaleV?: number): void; getBoxBounds(): Box; getSphereBounds(center: Vector3D, target?: Sphere): Sphere; invalidate(): void; _iInvalidateSurfaces(): void; invalidateElements(): void; _hitTestPointInternal(x: number, y: number): boolean; acceptTraverser(traverser: ITraverser): void; private _onInvalidateProperties(event); private _onInvalidateVertices(event); } export default Graphics;