import { IPropArguments, IShapeRecursiveProps, IShapeRecursiveSettings, IRecursionRepetition, IRepetition, IParentRecursionPropArguments, IShapeBounding } from '../types'; import { Shape } from './Shape'; import { SceneChild } from '../SceneChild'; /** * Repeat `shape` on each vertex recursively * * @category Scene.Containers */ declare class ShapeRecursive = IShapeRecursiveProps> extends Shape { /** * Contain the bounding of the last generated buffer * * @type {IShapeBounding} * @internal */ /** * child shape * * @type {(SceneChild)} */ shape?: SceneChild; protected shapeRecursiveBuffer: Float32Array | undefined; /** * Regenerate child buffer each recursion * * @protected * @type {boolean} */ protected shapeUseRecursion: boolean; /** * Creates an instance of ShapeRecursive. * * @param {IShapeRecursiveSettings} [settings={}] */ constructor(settings: IShapeRecursiveSettings); /** * Unset buffer * * @param {boolean} [bClearIndexed=false] * @param {boolean} [bPropagateToParents=false] * @param {boolean} [bPropagateToChildren=false] */ clearBuffer(bClearIndexed?: boolean, bPropagateToParents?: boolean): void; /** * Set type of recursion * * @param {boolean} inner */ /** * * @returns {boolean} */ isStatic(): boolean; /** * * @returns {boolean} */ isStaticIndexed(): boolean; /** * Return a buffer of children shape with recursion * * @protected * @param {number} generateId * @param {PropArguments} propArguments * @returns {Float32Array} */ protected generateBuffer(generateId: number, propArguments: PropArguments): Float32Array; /** * Generate Recoursive shape buffer * * @protected * @param {number} generateId * @param {PropArguments} propArguments */ protected bindBuffer(generateId: number, propArguments: PropArguments): void; /** * Add this to indexedBuffer * * @protected * @param {number} frameLength * @param {IRepetition} repetition * @returns {number} nextIndex */ protected addIndex(frameLength: number, repetition: IRepetition, singleRepetitionBounding: IShapeBounding): void; /** * Retturn summation value * * @static * @param {number} recursion * @param {number} vertexCount * @returns {number} */ static summmation(recursion: number, vertexCount: number): number; /** * Empty recursion repetition * * @static * @return {*} {IRecursionRepetition} */ static getEmptyRecursion(): IRecursionRepetition; } export { ShapeRecursive }; //# sourceMappingURL=ShapeRecursive.d.ts.map