@awayjs/scene
Version:
AwayJS scene classes
86 lines • 2.78 kB
TypeScript
import { Vector3D, Matrix3D, Box, Sphere } from '@awayjs/core';
import { PickingCollision, _Pick_PickableBase, PickEntity, IEntityTraverser, IEntity } from '@awayjs/view';
import { RenderableEvent, IMaterial } from '@awayjs/renderer';
import { DisplayObject } from './DisplayObject';
/**
* A Line Segment primitive.
*/
export declare class LineSegment extends DisplayObject {
static assetType: string;
_startPosition: Vector3D;
_endPosition: Vector3D;
_halfThickness: number;
/**
*
*/
get assetType(): string;
/**
*
*/
get startPosition(): Vector3D;
set startPosition(value: Vector3D);
/**
*
*/
get endPosition(): Vector3D;
set endPosition(value: Vector3D);
/**
*
*/
get thickness(): number;
set thickness(value: number);
/**
* Create a line segment
*
* @param startPosition Start position of the line segment
* @param endPosition Ending position of the line segment
* @param thickness Thickness of the line
*/
constructor(material: IMaterial, startPosition: Vector3D, endPosition: Vector3D, thickness?: number);
getEntity(): IEntity;
_acceptTraverser(traverser: IEntityTraverser): void;
}
import { AssetEvent } from '@awayjs/core';
import { _Stage_ElementsBase, _Render_MaterialBase, _Render_RenderableBase, Style } from '@awayjs/renderer';
/**
* @class away.pool._Render_LineSegment
*/
export declare class _Render_LineSegment extends _Render_RenderableBase {
private static _lineGraphics;
/**
* //TODO
*
* @returns {base.LineElements}
* @protected
*/
protected _getStageElements(): _Stage_ElementsBase;
protected _getRenderMaterial(): _Render_MaterialBase;
protected _getStyle(): Style;
}
/**
* @class away.pool._Render_Shape
*/
export declare class _Pick_LineSegment extends _Pick_PickableBase {
private _lineSegmentBox;
private _lineSegmentBoxDirty;
private _lineSegmentSphere;
private _lineSegmentSphereDirty;
private _onInvalidateElementsDelegate;
constructor();
/**
* //TODO
*
* @param renderEntity
* @param shape
* @param level
* @param indexOffset
*/
init(lineSegment: LineSegment, pickEntity: PickEntity): void;
_onInvalidateElements(event: RenderableEvent): void;
onClear(event: AssetEvent): void;
hitTestPoint(x: number, y: number, z: number): boolean;
getBoxBounds(matrix3D?: Matrix3D, strokeFlag?: boolean, cache?: Box, target?: Box): Box;
getSphereBounds(center: Vector3D, matrix3D?: Matrix3D, strokeFlag?: boolean, cache?: Sphere, target?: Sphere): Sphere;
testCollision(collision: PickingCollision, closestFlag: boolean): boolean;
}
//# sourceMappingURL=LineSegment.d.ts.map