开发更新

This commit is contained in:
ChenX
2024-03-26 10:01:15 +08:00
parent ed08696189
commit 070821c353
498 changed files with 5192 additions and 10640 deletions

View File

@@ -1,50 +0,0 @@
import { Box2, Vector2 } from "three";
/** [area maxXIndex maxYIndex xCount yCount,width,height] */
export type RectData = [number, number, number, number, number, number, number];
/**
* 获取面积最大的矩形
* @param rects
* @returns
*/
declare function GetMaxAreaFn(rects: RectData[]): number;
declare function GetMaxWidthFn(rects: RectData[]): number;
declare function GetMaxHeightFn(rects: RectData[]): number;
/**
* @example
*
* //1. 设置过滤条件(舍弃掉一些无用的矩形)
* let lir = new LargestInteriorRectangle;
* lir.MinWidth = 200;//设置最小可以接受的矩形宽度
* lir.MinHeight = 200;//设置最小可以接受的矩形宽度
* lir.MinArea = 200 * 200;//设置最小可以接受的矩形面积
*
* //除了变量 也可以设置过滤函数
* //例如:
* lir.FilterRectFn = (w,h)=> !(w>500 || h>500) //这样将对长或者宽不足500的矩形板过滤(舍弃)
*
* //2. 可以设置优先模式,默认提供了面积优先,你也可以使用宽度优先或者高度优先,或许默认规则可能不好用,可以自定义传入自定义函数.
* lir.GetMaxRectIndexFn = LargestInteriorRectangle.GetMaxAreaFn; //或者 LargestInteriorRectangle.GetMaxWidthFn / LargestInteriorRectangle.GetMaxHeightFn
*
* //3. 你已经设置好解析器,你现在可以进行解析了
* let rects = lir.ParseLir([ new Vector3(0,0,0) , new Vector3(100,0,0) , new Vector3(50,100,0)]) //首尾不需要重复,首尾重复可能造成错误,程序不再校验
*
*/
export declare class LargestInteriorRectangle {
MinWidth: number;
MinHeight: number;
MinArea: number;
/** 可以自定义过滤函数,以便过滤掉某些不需要的矩形,当返回true时,我们会过滤它 */
FilterRectFn: (width: number, height: number) => boolean;
GetMaxRectIndexFn: (rects: RectData[]) => number;
static GetMaxAreaFn: typeof GetMaxAreaFn;
static GetMaxWidthFn: typeof GetMaxWidthFn;
static GetMaxHeightFn: typeof GetMaxHeightFn;
constructor();
/**
* 分析最大内接矩形
* @param polygonPts 多边形点表,首尾不要相等
*/
ParseLIR(polygonPts: Vector2[]): Box2[];
}
export {};
//# sourceMappingURL=LargestInteriorRectangle.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"LargestInteriorRectangle.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/testEntity/LargestInteriorRectangle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAW,MAAM,OAAO,CAAC;AAS/C,4DAA4D;AAC5D,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhF;;;;GAIG;AACH,iBAAS,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAG/C;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAGhD;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAGjD;AAuBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,wBAAwB;IAEjC,QAAQ,SAAO;IACf,SAAS,SAAO;IAChB,OAAO,SAAa;IAEpB,8CAA8C;IAC9C,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAEzD,iBAAiB,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,MAAM,CAAgB;IAGhE,MAAM,CAAC,YAAY,sBAAgB;IACnC,MAAM,CAAC,aAAa,uBAAiB;IACrC,MAAM,CAAC,cAAc,wBAAkB;;IAMvC;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE;CAuS1C"}

View File

@@ -1,12 +0,0 @@
export declare const USE_WORLD_UV = "USE_WORLD_UV";
export declare const U_WORLD_REP = "u_w_rep";
export declare const V_WORLD_REP = "v_w_rep";
export declare const U_WORLD_MOVE = "u_w_move";
export declare const V_WORLD_MOVE = "v_w_move";
export declare const U_WORLD_RO = "v_w_ro";
export declare const U_REP = "u_rep";
export declare const V_REP = "v_rep";
export declare const U_MOVE = "u_move";
export declare const V_MOVE = "v_move";
export declare const U_RO = "u_ro";
//# sourceMappingURL=USE_WORLD_UV.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"USE_WORLD_UV.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/testEntity/USE_WORLD_UV.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,WAAW,YAAY,CAAC;AACrC,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC,eAAO,MAAM,YAAY,aAAa,CAAC;AACvC,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC,eAAO,MAAM,KAAK,UAAU,CAAC;AAC7B,eAAO,MAAM,KAAK,UAAU,CAAC;AAE7B,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,eAAO,MAAM,IAAI,SAAS,CAAC"}