import { IRepetition, IDrawerProps, IShapeBounding, IShapePrimitiveProps, IShapePrimitiveSettings, IPropArguments } from '../types'; import { ShapeBase } from './ShapeBase'; import { Modifier } from '../modifiers/Modifier'; /** * @category Scene */ declare abstract class ShapePrimitive = IDrawerProps, Props extends IShapePrimitiveProps = IShapePrimitiveProps> extends ShapeBase { /** * Props retrived by drawer * * @public * @type {D} */ drawer: DrawerProps; /** * Define shape is closed, default true * * @type {boolean} */ bClosed: boolean; /** * Contain the bounding of the last generated buffer * * @type {IShapeBounding} */ currentGenerationPrimitiveBounding: IShapeBounding; /** * Apply modifiers on buffer * * @protected * @type {(Array | Modifier)} */ protected modifiers?: Array Modifier)> | Modifier | ((propArguments: PropArguments) => Modifier); /** * Creates an instance of ShapePrimitive. * * @param {IShapePrimitiveSettings} [settings={}] */ constructor(settings?: IShapePrimitiveSettings); /** * Check if shape is static * * @returns {boolean} * @memberof ShapePrimitive */ isStatic(): boolean; /** * Return sideLength for current repetition * * @param propArguments * @returns */ getRepetitionSideLength(propArguments: PropArguments): [number, number]; /** * Apply modifiers on single repetition buffer * * @param buffer * @returns */ applyModifiers(buffer: Float32Array, propArguments: PropArguments): Float32Array; /** * Return a bounding of generated buffer if is direct scene child * * @returns {IShapeBounding} * @memberof ShapePrimitive */ getShapeBounding(): IShapeBounding; /** * Add this to indexedBuffer * * @protected * @param {number} frameLength * @param {IRepetition} repetition * @returns {number} nextIndex */ protected addIndex(frameLength: number, repetition: IRepetition, singleRepetitionBounding: IShapeBounding): void; /** * Return bClosed * * @returns {boolean} * @memberof ShapePrimitive */ isClosed(): boolean; /** * Set bClosed * * @param {boolean} bClosed * @memberof ShapePrimitive */ setClosed(bClosed: boolean): void; } export { ShapePrimitive }; //# sourceMappingURL=ShapePrimitive.d.ts.map