viral-viewer-2 6.7.8 → 6.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/types.d.ts CHANGED
@@ -158,6 +158,8 @@ export declare class BufferElement {
158
158
  modelId: number;
159
159
  localMaterialIndex?: number;
160
160
  globalMaterialIndex?: number;
161
+ minPoint?: ViralPoint;
162
+ maxPoint?: ViralPoint;
161
163
  }
162
164
  export interface LightConfiguration {
163
165
  enabled?: boolean;
@@ -202,3 +204,12 @@ export declare class DataTree {
202
204
  };
203
205
  } | null;
204
206
  }
207
+ export declare class CompareModelsResult {
208
+ deleted: number[];
209
+ added: number[];
210
+ modified: number[];
211
+ notChanged: number[];
212
+ }
213
+ export declare class CheckClashResult {
214
+ clashes: Dictionary<number, number[]>;
215
+ }
@@ -0,0 +1,44 @@
1
+ export declare class Point3D {
2
+ x: number;
3
+ y: number;
4
+ z: number;
5
+ constructor(x: number, y: number, z: number);
6
+ }
7
+ export declare class MathUtil {
8
+ static doesEdgeIncludePlane(edgeStart: Point3D, edgeEnd: Point3D, v1: Point3D, v2: Point3D, v3: Point3D, tolerance?: number): boolean;
9
+ /**
10
+ * Check if an edge intersects a triangle face (math-only solution)
11
+ * @param edgeStart - Start point of the edge
12
+ * @param edgeEnd - End point of the edge
13
+ * @param v1 - First vertex of the triangle
14
+ * @param v2 - Second vertex of the triangle
15
+ * @param v3 - Third vertex of the triangle
16
+ * @returns boolean - Whether the edge intersects the triangle
17
+ */
18
+ static doesEdgeIntersectTriangle(edgeStart: Point3D, edgeEnd: Point3D, v1: Point3D, v2: Point3D, v3: Point3D, tolerance?: number): boolean;
19
+ /**
20
+ * Check if a point lies inside a triangle using barycentric coordinates
21
+ * @param point - The point to test
22
+ * @param v1 - First vertex of the triangle
23
+ * @param v2 - Second vertex of the triangle
24
+ * @param v3 - Third vertex of the triangle
25
+ * @returns boolean - Whether the point lies inside the triangle
26
+ */
27
+ static isPointInTriangle(point: Point3D, v1: Point3D, v2: Point3D, v3: Point3D, tolerance?: number): boolean;
28
+ static subtract(p1: Point3D, p2: Point3D): Point3D;
29
+ static add(p1: Point3D, p2: Point3D): Point3D;
30
+ static scale(p: Point3D, scalar: number): Point3D;
31
+ static dotProduct(v1: Point3D, v2: Point3D): number;
32
+ static crossProduct(v1: Point3D, v2: Point3D): Point3D;
33
+ static normalize(vector: Point3D): Point3D;
34
+ static distance(p1: Point3D, p2: Point3D): number;
35
+ static doTrianglesIntersect(v1: Point3D, v2: Point3D, v3: Point3D, p1: Point3D, p2: Point3D, p3: Point3D, tolerance?: number): boolean;
36
+ static objectsIntersect(buffer1: number[], buffer2: number[], tolerance?: number): boolean;
37
+ static doBoundingBoxesIntersect(boxA: {
38
+ min: Point3D;
39
+ max: Point3D;
40
+ }, boxB: {
41
+ min: Point3D;
42
+ max: Point3D;
43
+ }): boolean;
44
+ }
@@ -12,4 +12,5 @@ export declare class THREEUtil {
12
12
  static rgbToThreejsColor(r: number, g: number, b: number): string;
13
13
  private static componentToHex;
14
14
  static mergeBoundingBoxes(boxes: Box3[]): Box3;
15
+ static createLowResMesh(mesh: Mesh, simplificationFactor?: number): Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>;
15
16
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "viral-viewer-2",
3
- "version": "6.7.8",
3
+ "version": "6.8.0",
4
4
  "description": "",
5
5
  "main": "dist/index.mjs",
6
6
  "types": "dist/index.d.ts",