!2804 功能:吊顶支持一键应用材质

pull/2785/MERGE
林三 4 months ago committed by ChenX
parent 8e167c0d11
commit 4c203151ec

@ -4,6 +4,7 @@ import { LineGeometry } from "three/examples/jsm/lines/LineGeometry";
import { HostApplicationServices } from "../../../../ApplicationServices/HostApplicationServices";
import { ColorMaterial } from "../../../../Common/ColorPalette";
import { DisposeThreeObj, Object3DRemoveAll } from "../../../../Common/Dispose";
import { UpdateDraw } from "../../../../Common/Status";
import { BufferGeometryUtils } from "../../../../Geometry/BufferGeometryUtils";
import { ContourTreeNode } from "../../../../Geometry/ExtrudeMeshGeomBuilder/ExtrudeEdgeGeometry2";
import { AsVector3, equaln } from "../../../../Geometry/GeUtils";
@ -417,6 +418,20 @@ export class BulkheadCeiling extends RoomBase
});
}
SetDefaultMaterialAtAllSlot(): void
{
this.WriteAllObjectRecord();
for (let data of this.ContourData)
{
//材质槽要默认添加 undefined
data.Materials = [undefined];
data.ShapeMaterialSlotData = [];
if (data.OverWriteMaterial)
data.OverWriteMaterial = undefined;
}
this.Update(UpdateDraw.Geometry);
}
UpdateDrawObjectMaterial(renderType: RenderType, obj: Object3D, material?: Material)
{
if (renderType === RenderType.Physical)

@ -14,6 +14,7 @@ import { Curve } from '../../DatabaseServices/Entity/Curve';
import { Entity } from '../../DatabaseServices/Entity/Entity';
import { HardwareCompositeEntity } from '../../DatabaseServices/Hardware/HardwareCompositeEntity';
import { PhysicalMaterialRecord } from '../../DatabaseServices/PhysicalMaterialRecord';
import { BulkheadCeiling } from '../../DatabaseServices/Room/Entity/Ceiling/BulkheadCeiling';
import { RoomWallBase } from '../../DatabaseServices/Room/Entity/Wall/RoomWallBase';
import { Text } from '../../DatabaseServices/Text/Text';
import { TextureTableRecord } from '../../DatabaseServices/Texture';
@ -191,6 +192,9 @@ export class Asset extends React.Component<AssetProps, {}>
en.Material = material.Id;
if (en instanceof BulkheadCeiling)
en.SetDefaultMaterialAtAllSlot();
if (en instanceof Board)
{
if (userConfig.isModifyMaterial)

@ -15,6 +15,7 @@ import { inflateBase64 } from "../../../Common/inflate";
import { Hole } from '../../../DatabaseServices/3DSolid/Hole';
import { Board } from '../../../DatabaseServices/Entity/Board';
import { PhysicalMaterialRecord } from '../../../DatabaseServices/PhysicalMaterialRecord';
import { BulkheadCeiling } from '../../../DatabaseServices/Room/Entity/Ceiling/BulkheadCeiling';
import { RoomWallBase } from '../../../DatabaseServices/Room/Entity/Wall/RoomWallBase';
import { CommandWrap } from '../../../Editor/CommandMachine';
import { GenerateRaycaster, PointPick, Raycast } from '../../../Editor/PointPick';
@ -277,6 +278,10 @@ export class MaterialList extends React.Component<IImgListProps, {}> {
}
en.Material = newMaterial.Id;
if (en instanceof BulkheadCeiling)
en.SetDefaultMaterialAtAllSlot();
if (en instanceof Board)
{
if (userConfig.isModifyMaterial)

@ -9,6 +9,7 @@ import { UserCollection } from "../../../../../../Common/HostUrl";
import { PostJson } from "../../../../../../Common/Request";
import { Hole } from "../../../../../../DatabaseServices/3DSolid/Hole";
import { Board } from "../../../../../../DatabaseServices/Entity/Board";
import { BulkheadCeiling } from "../../../../../../DatabaseServices/Room/Entity/Ceiling/BulkheadCeiling";
import { RoomWallBase } from "../../../../../../DatabaseServices/Room/Entity/Wall/RoomWallBase";
import { CommandWrap } from "../../../../../../Editor/CommandMachine";
import { VisualSpaceBox } from "../../../../../../Editor/VisualSpaceBox";
@ -279,6 +280,10 @@ class ResourceItem extends React.Component<{ module: ModuleData; }> {
}
en.Material = material.Id;
if (en instanceof BulkheadCeiling)
en.SetDefaultMaterialAtAllSlot();
if (en instanceof Board)
{
// if (userConfig.isModifyMaterial) //因为这个材质没有板材 所以我们不改它.

@ -11,6 +11,7 @@ import { PostJson } from '../../../../Common/Request';
import { Hole } from '../../../../DatabaseServices/3DSolid/Hole';
import { Board } from '../../../../DatabaseServices/Entity/Board';
import { PhysicalMaterialRecord } from '../../../../DatabaseServices/PhysicalMaterialRecord';
import { BulkheadCeiling } from '../../../../DatabaseServices/Room/Entity/Ceiling/BulkheadCeiling';
import { RoomWallBase } from '../../../../DatabaseServices/Room/Entity/Wall/RoomWallBase';
import { CommandWrap } from '../../../../Editor/CommandMachine';
import { VisualSpaceBox } from '../../../../Editor/VisualSpaceBox';
@ -480,6 +481,10 @@ export class ResourceItem extends Component<{ module: ModuleData; }, {}>
}
en.Material = material.Id;
if (en instanceof BulkheadCeiling)
en.SetDefaultMaterialAtAllSlot();
if (en instanceof Board)
{
// if (userConfig.isModifyMaterial) //因为这个材质没有板材 所以我们不改它.

@ -10,6 +10,7 @@ import { PostJson } from '../../../../Common/Request';
import { Hole } from '../../../../DatabaseServices/3DSolid/Hole';
import { Board } from '../../../../DatabaseServices/Entity/Board';
import { PhysicalMaterialRecord } from '../../../../DatabaseServices/PhysicalMaterialRecord';
import { BulkheadCeiling } from '../../../../DatabaseServices/Room/Entity/Ceiling/BulkheadCeiling';
import { RoomWallBase } from '../../../../DatabaseServices/Room/Entity/Wall/RoomWallBase';
import { CommandWrap } from '../../../../Editor/CommandMachine';
import { userConfig } from '../../../../Editor/UserConfig';
@ -136,8 +137,11 @@ export default class UserCollect extends Component<{}, {}>
for (let [num, mtl] of en.OverWriteMaterial)
en.OverWriteMaterial.set(num, material.Id);
}
en.Material = material.Id;
if (en instanceof BulkheadCeiling)
en.SetDefaultMaterialAtAllSlot();
if (en instanceof Board)
{
if (userConfig.isModifyMaterial)

Loading…
Cancel
Save