@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.
29 lines (28 loc) • 1.16 kB
TypeScript
import { VertexData } from "./mesh.vertexData.js";
/**
* Inspired by https://github.com/stevinz/three-subdivide
* Thanks a lot to https://github.com/stevinz
*/
/**
* Interface used to configure the subdivision process
*/
export interface ISubdivideOptions {
/** Apply only flat subdivision - false by default */
flatOnly?: boolean;
/** Split all triangles at edges shared by coplanar triangles - true by default*/
split?: boolean;
/** Should UV values be averaged during subdivision - false by default */
uvSmooth?: boolean;
/** Should edges / breaks in geometry be ignored during subdivision? - false by default */
preserveEdges?: boolean;
/** How much to weigh favoring heavy corners vs favoring Loop's formula - 1 by default*/
weight?: number;
}
/**
* Subdivide a vertexData using Loop algorithm
* @param vertexData The vertexData to subdivide
* @param level The number of times to subdivide
* @param options The options to use when subdividing
* @returns The subdivided vertexData
*/
export declare function Subdivide(vertexData: VertexData, level: number, options?: Partial<ISubdivideOptions>): VertexData;