@awayjs/scene
Version:
AwayJS scene classes
70 lines • 2.34 kB
TypeScript
import { Vector3D, Matrix3D, Box, Sphere } from '@awayjs/core';
import { PickingCollision, _Pick_PickableBase, IEntityTraverser, IEntity, IPickable } from '@awayjs/view';
import { IMaterial } from '@awayjs/renderer';
import { DisplayObject } from './DisplayObject';
/**
* A Line Segment primitive.
*/
export declare class LineSegment extends DisplayObject implements IPickable {
static assetType: string;
_startPosition: Vector3D;
_endPosition: Vector3D;
_halfThickness: number;
_pickObjects: Record<number, _Pick_PickableBase>;
/**
*
*/
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);
invalidateElements(): void;
getEntity(): IEntity;
_acceptTraverser(traverser: IEntityTraverser): void;
}
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 {
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