|
|
|
@ -14,6 +14,7 @@ import { MoveMatrix, ZAxis, ZeroVec, equaln, equalv3, midPoint } from "../../../
|
|
|
|
|
import { RenderType } from "../../../../GraphicsSystem/RenderType";
|
|
|
|
|
import { Factory } from "../../../CADFactory";
|
|
|
|
|
import { CADFiler } from "../../../CADFiler";
|
|
|
|
|
import { Arc } from "../../../Entity/Arc";
|
|
|
|
|
import { Curve } from "../../../Entity/Curve";
|
|
|
|
|
import { Line } from "../../../Entity/Line";
|
|
|
|
|
import { ObjectId } from "../../../ObjectId";
|
|
|
|
@ -369,6 +370,7 @@ export class RoomWallLine extends RoomWallBase
|
|
|
|
|
let parse = new GetLineParam(line);
|
|
|
|
|
|
|
|
|
|
let materialIndex = 0;
|
|
|
|
|
let expMaterialIndex = 0;
|
|
|
|
|
|
|
|
|
|
if (!this.LeftCurves)
|
|
|
|
|
{
|
|
|
|
@ -513,7 +515,23 @@ export class RoomWallLine extends RoomWallBase
|
|
|
|
|
[new Vector2(endX, startZ), new Vector2(startX, endZ), new Vector2(endX, endZ)],
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
materialIndex++;
|
|
|
|
|
|
|
|
|
|
//如果是1的话 是渲染器走的
|
|
|
|
|
if (materialIndex === 1)
|
|
|
|
|
{
|
|
|
|
|
materialIndex = expMaterialIndex;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
materialIndex++;
|
|
|
|
|
expMaterialIndex++;
|
|
|
|
|
//这里不使用1
|
|
|
|
|
if (materialIndex === 1)
|
|
|
|
|
{
|
|
|
|
|
materialIndex++;
|
|
|
|
|
expMaterialIndex++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
const BuildRightFace = (curve: Curve, isLid?: boolean) =>
|
|
|
|
@ -597,7 +615,23 @@ export class RoomWallLine extends RoomWallBase
|
|
|
|
|
[new Vector2(endX, startZ), new Vector2(endX, endZ), new Vector2(startX, endZ)],
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
materialIndex++;
|
|
|
|
|
|
|
|
|
|
//如果是1的话 是渲染器走的
|
|
|
|
|
if (materialIndex === 1)
|
|
|
|
|
{
|
|
|
|
|
materialIndex = expMaterialIndex;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
materialIndex++;
|
|
|
|
|
expMaterialIndex++;
|
|
|
|
|
//这里不使用1
|
|
|
|
|
if (materialIndex === 1)
|
|
|
|
|
{
|
|
|
|
|
materialIndex++;
|
|
|
|
|
expMaterialIndex++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
@ -703,30 +737,30 @@ export class RoomWallLine extends RoomWallBase
|
|
|
|
|
|
|
|
|
|
let materials: Material[] = [];
|
|
|
|
|
let materialIndex = 0;
|
|
|
|
|
if (this.LeftCurves)
|
|
|
|
|
for (let c of this.LeftCurves)
|
|
|
|
|
{
|
|
|
|
|
materials.push(this.OverWriteMaterial.get(materialIndex)?.Object.Material ?? defaultMtl);
|
|
|
|
|
materialIndex++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (this.RightCurves)
|
|
|
|
|
const addMaterial = (curves: (Arc | Line)[]) =>
|
|
|
|
|
{
|
|
|
|
|
for (let c of this.RightCurves)
|
|
|
|
|
{
|
|
|
|
|
materials.push(this.OverWriteMaterial.get(materialIndex)?.Object.Material ?? defaultMtl);
|
|
|
|
|
materialIndex++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (curves)
|
|
|
|
|
for (let c of curves)
|
|
|
|
|
{
|
|
|
|
|
if (c[CURVE_FACE_TYPE_KEY] === WallFaceType.Outside)
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
|
|
materials.push(this.OverWriteMaterial.get(materialIndex)?.Object.Material ?? defaultMtl);
|
|
|
|
|
materialIndex++;
|
|
|
|
|
//这里不使用1
|
|
|
|
|
if (materialIndex === 1)
|
|
|
|
|
{
|
|
|
|
|
materials.push(defaultMtl);
|
|
|
|
|
materialIndex++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
addMaterial(this.LeftCurves);
|
|
|
|
|
addMaterial(this.RightCurves);
|
|
|
|
|
addMaterial(this.LidCurves);
|
|
|
|
|
|
|
|
|
|
if (this.LidCurves)
|
|
|
|
|
{
|
|
|
|
|
for (let c of this.LidCurves)
|
|
|
|
|
{
|
|
|
|
|
materials.push(this.OverWriteMaterial.get(materialIndex)?.Object.Material ?? defaultMtl);
|
|
|
|
|
materialIndex++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (this.Region)
|
|
|
|
|
{
|
|
|
|
|