itowns
Version:
A JS/WebGL framework for 3D geospatial data visualization
69 lines (68 loc) • 2.83 kB
TypeScript
export default CopcNode;
/**
* @extends PointCloudNode
*
* @property {boolean} isCopcNode - Used to checkout whether this
* node is a CopcNode. Default is `true`. You should not change
* this, as it is used internally for optimisation.
* @property {number} entryOffset - Offset from the beginning of the file of
* the node entry
* @property {number} entryLength - Size of the node entry
* @property {CopcLayer} layer - COPC layer the node belongs to.
* @property {number} depth - Depth within the octree
* @property {number} x - X position within the octree
* @property {number} y - Y position within the octree
* @property {number} z - Z position within the octree
* @property {string} voxelKey - The id of the node, constituted of the four
* components: `depth-x-y-z`.
*/
declare class CopcNode extends PointCloudNode {
/**
* Constructs a new instance of a COPC Octree node
*
* @param {number} depth - Depth within the octree
* @param {number} x - X position within the octree
* @param {number} y - Y position within the octree
* @param {number} z - Z position with the octree
* @param {number} entryOffset - Offset from the beginning of the file to
* the node entry
* @param {number} entryLength - Size of the node entry
* @param {CopcLayer} layer - Parent COPC layer
* @param {number} [numPoints=0] - Number of points given by this entry
*/
constructor(depth: number, x: number, y: number, z: number, entryOffset: number, entryLength: number, layer: CopcLayer, numPoints?: number);
isCopcNode: boolean;
entryOffset: number;
entryLength: number;
depth: number;
x: number;
y: number;
z: number;
voxelKey: string;
get octreeIsLoaded(): boolean;
get id(): string;
/**
* @param {number} offset
* @param {number} size
*/
_fetch(offset: number, size: number): Promise<any>;
loadOctree(): Promise<undefined>;
/**
* Create a CopcNode from the provided subtree and add it as child
* of the current node.
* @param {number} depth - Child node depth in the octree
* @param {number} x - Child node x position in the octree
* @param {number} y - Child node y position in the octree
* @param {number} z - Child node z position in the octree
* @param {Hierarchy.Subtree} hierarchy - Octree's subtree
* @param {CopcNode[]} stack - Stack of node candidates for traversal
*/
findAndCreateChild(depth: number, x: number, y: number, z: number, hierarchy: Hierarchy.Subtree, stack: CopcNode[]): void;
/**
* Load the COPC Buffer geometry for this node.
* @returns {Promise<THREE.BufferGeometry>}
*/
load(): Promise<THREE.BufferGeometry>;
}
import PointCloudNode from '../Core/PointCloudNode';
import { Hierarchy } from 'copc';