react-ngl
Version:
React wrapper for ngl
36 lines (35 loc) • 1.21 kB
TypeScript
/**
* @file Octahedron Buffer
* @author Alexander Rose <alexander.rose@weirdbyte.de>
* @private
*/
import { Matrix4 } from 'three';
import GeometryBuffer from './geometry-buffer.js';
import { BufferData, BufferParameters } from './buffer';
export interface OctahedronBufferData extends BufferData {
heightAxis: Float32Array;
depthAxis: Float32Array;
size: Float32Array;
}
/**
* Octahedron buffer. Draws octahedrons.
*
* @example
* var octahedronBuffer = new OctahedronBuffer({
* position: new Float32Array([ 0, 3, 0, -2, 0, 0 ]),
* color: new Float32Array([ 1, 0, 1, 0, 1, 0 ]),
* size: new Float32Array([ 2, 1.5 ]),
* heightAxis: new Float32Array([ 0, 1, 1, 0, 2, 0 ]),
* depthAxis: new Float32Array([ 1, 0, 1, 0, 0, 2 ])
* })
*/
declare class OctahedronBuffer extends GeometryBuffer {
updateNormals: boolean;
_heightAxis: Float32Array;
_depthAxis: Float32Array;
_size: Float32Array;
constructor(data: OctahedronBufferData, params?: Partial<BufferParameters>);
applyPositionTransform(matrix: Matrix4, i: number, i3: number): void;
setAttributes(data?: Partial<OctahedronBufferData>, initNormals?: boolean): void;
}
export default OctahedronBuffer;