Skip to main content

flywave-3dtile-datasource

Home > @flywave/flywave-3dtile-datasource

flywave-3dtile-datasource package

3D Tiles data source module for the flywave.gl library.

This module provides rendering capabilities for 3D Tiles datasets in flywave.gl, including: - 3D Tiles data source (TileRenderDataSource) - Cesium Ion data source (CesiumIonDataSource) - Google Photorealistic 3D Tiles data source () - Tile rendering functionality - Raycasting and traversal utilities - Theme integration for styling 3D objects

Classes

Class

Description

BatchStyleProcessor

Extended StyleSetEvaluator with batch styling capabilities

CesiumIonDataSource

A DataSource implementation for rendering Cesium Ion 3D Tiles datasets

This class extends TileRenderDataSource to provide seamless integration with Cesium Ion services, handling authentication and endpoint resolution automatically.

TileRenderDataSource

A DataSource implementation for rendering 3D Tiles datasets in flywave.gl

This class integrates the 3D Tiles renderer with flywave.gl's MapView system, providing seamless loading and rendering of 3D Tiles content with support for styling, animation, and interaction.

The data source handles: - Loading and parsing of 3D Tiles tilesets - Integration with flywave.gl's theme system for styling - Batch rendering for efficient visualization of large datasets - Raycasting and picking for user interaction - Animation effects for batched features

Tiles3DStyleWatcher

3D Tiles style watcher Responsible for monitoring tile loading events and automatically applying styles Implements GLSL-based B3DM/I3DM batch rendering

TilesRenderer

3D Tiles renderer that integrates with flywave.gl's MapView system

This class extends the base Three.js TilesRenderer to provide integration with flywave.gl's MapView, including: - MapView camera integration - Scene management - Raycasting for picking - Tile lifecycle management - Geographic extent calculation - Debug visualization support

TilesRendererBase

Base class for 3D Tiles renderers with core functionality for loading, managing, and rendering tilesets.

This class provides the foundational infrastructure for 3D Tiles rendering, including: - Tile loading and management using LRU cache - Hierarchical tile traversal and refinement - Priority-based downloading and parsing queues - Memory management and resource disposal - Event dispatching for loading progress and errors

Abstract Classes

Abstract Class

Description

ITile

Abstract base class for 3D Tiles

This class defines the common interface and properties for all 3D Tile types. It includes properties for tile hierarchy management, visibility tracking, and bounding volume visualization.

Functions

Function

Description

raycastTraverse(renderer, tile, raycaster, intersects, localRay)

Finds all intersections when traversing the tile hierarchy

This function performs hierarchical raycasting against the tile hierarchy, finding all intersections by traversing bounding volumes and testing actual scene content.

raycastTraverseFirstHit(renderer, tile, raycaster, localRay)

Finds the closest hit when traversing the tile hierarchy

This function performs hierarchical raycasting against the tile hierarchy, finding the closest intersection by traversing bounding volumes and testing actual scene content only when necessary.

Interfaces

Interface

Description

CustomAttributeConfig

Configuration interface for custom attributes

TilesRendererOptions

Configuration options for the TilesRenderer

Variables

Variable

Description

TilesRendererRootOnLoadedEvent

Event name for root node loaded events

TilesRendererUpdateEvent

Event name for TilesRenderer update events

Type Aliases

Type Alias

Description

TileIntersection

Extended intersection result that includes the intersected tile

This interface extends the standard Three.js Intersection interface to include a reference to the tile that was intersected during raycasting.