UNPKG

@babylonjs/core

Version:

Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.

75 lines (74 loc) 2.71 kB
import { type Nullable } from "../../types.js"; import { type Scene } from "../../scene.js"; import { Mesh } from "../mesh.js"; import { type GaussianSplattingMesh } from "./gaussianSplattingMesh.js"; import { type Ray } from "../../Culling/ray.core.js"; import { PickingInfo } from "../../Collisions/pickingInfo.js"; /** * Class used as a proxy mesh for a part of a compound Gaussian Splatting mesh */ export declare class GaussianSplattingPartProxyMesh extends Mesh { /** * The Gaussian Splatting mesh that this proxy represents a part of */ readonly proxiedMesh: GaussianSplattingMesh; /** * The index of the part in the compound mesh (internal storage) */ private _partIndex; /** * Gets the index of the part in the compound mesh */ get partIndex(): number; /** * The original Gaussian Splatting mesh that was merged into the compound */ readonly compoundSplatMesh: GaussianSplattingMesh; /** * Creates a new Gaussian Splatting part proxy mesh * @param name The name of the proxy mesh * @param scene The scene the proxy mesh belongs to * @param compoundSplatMesh The original Gaussian Splatting mesh that was merged into the compound * @param proxiedMesh The Gaussian Splatting mesh that this proxy represents a part of * @param partIndex The index of the part in the compound mesh */ constructor(name: string, scene: Nullable<Scene>, compoundSplatMesh: GaussianSplattingMesh, proxiedMesh: GaussianSplattingMesh, partIndex: number); /** * Updates the bounding info of this proxy mesh from the proxied mesh */ updateBoundingInfoFromProxiedMesh(): void; /** * Returns the class name * @returns "GaussianSplattingPartProxyMesh" */ getClassName(): string; /** * Updates the part index for this proxy mesh. * This should only be called internally when parts are removed from the compound mesh. * @param newPartIndex the new part index * @internal */ updatePartIndex(newPartIndex: number): void; /** * Gets whether the part is visible */ get isVisible(): boolean; /** * Sets whether the part is visible */ set isVisible(value: boolean); /** * Gets the visibility of the part (0.0 to 1.0) */ get visibility(): number; /** * Sets the visibility of the part (0.0 to 1.0) */ set visibility(value: number); /** * Checks if a ray intersects with this proxy mesh using only bounding info * @param ray defines the ray to test * @returns the picking info with this mesh set as pickedMesh if hit */ intersects(ray: Ray): PickingInfo; }