M3D / M3D / Algorithm / MeshAlgorithm
Class: MeshAlgorithm
Memberof
M3D.Algorithm
Description
Mesh数据计算
Author
WZ
Date
2022.11.17
Table of contents
Constructors
Methods
- calculateAirVol
- calculateCrossPoint
- calculateDisToPlane
- calculateTriWithPlane
- findIntersection2Inter
- getTowTrisInnerCrossLine
- rayIntersctTriangle
- segIntersTriNew
- testSTLToMesh
Constructors
constructor
• new MeshAlgorithm(): MeshAlgorithm
Returns
Methods
calculateAirVol
▸ calculateAirVol(v1, v2, v3, S, V): number[]
Parameters
| Name | Type | Description |
|---|---|---|
v1 | Vector3 | 顶点1 |
v2 | Vector3 | 顶点2 |
v3 | Vector3 | 顶点3 |
S | number | - |
V | number | - |
Returns
number[]
计算结果
Description
计算三角形的面积(分正反)与三棱柱体积(以Z=0为底面)
calculateCrossPoint
▸ calculateCrossPoint(nodes, e, planeNormal, pnt, crossP, result): void
Parameters
| Name | Type | Description |
|---|---|---|
nodes | Vector3[] | 点坐标 |
e | number[] | 边界的索引 |
planeNormal | Vector3 | - |
pnt | Vector3 | |
crossP | Vector3 | 交点坐标 |
result | boolean[] | [isOnPlane: 边e是否在切面上, isCrossed: 边e与切面是否相交] |
Returns
void
Description
计算边与Mesh的交点
calculateDisToPlane
▸ calculateDisToPlane(nodes, planeNormal, pnt, disFlags): void
Parameters
| Name | Type | Description |
|---|---|---|
nodes | Vector3[] | 点坐标 |
planeNormal | Vector3 | 切面 |
pnt | Vector3 | |
disFlags | number[] | 输出标记点 |
Returns
void
Description
计算点与切面的关系,在切面上返回0,在切面正面(法向侧)返回1,在切面背面返回-1
calculateTriWithPlane
▸ calculateTriWithPlane(triangles, planeNormal, pnt, crossPnt): boolean
Parameters
| Name | Type | Description |
|---|---|---|
triangles | Vector3[] | 三角形的三个顶点坐标 |
planeNormal | Vector3 | - |
pnt | Vector3 | |
crossPnt | Vector3[] | 交点 |
Returns
boolean
三角形与平面是否共面
Description
计算三角形与平面的交点
findIntersection2Inter
▸ findIntersection2Inter(u0, u1, v0, v1, w): number