awayjs-display
Version:
AwayJS displaylist classes
96 lines (95 loc) • 3.22 kB
TypeScript
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;