|
|
|
@ -1634,6 +1634,7 @@ export class ExtrudeSolid extends Entity
|
|
|
|
|
|
|
|
|
|
this._MeshGeometry = builder.MeshGeometry;
|
|
|
|
|
this._EdgeGeometry = builder.EdgeGeometry;
|
|
|
|
|
this.UpdateUV(null, null);
|
|
|
|
|
|
|
|
|
|
return this._MeshGeometry;
|
|
|
|
|
}
|
|
|
|
@ -1694,9 +1695,30 @@ export class ExtrudeSolid extends Entity
|
|
|
|
|
mat = this.Db?.DefaultMaterial;
|
|
|
|
|
|
|
|
|
|
if (mat && mat.IsFull)
|
|
|
|
|
ScaleUV2(geo, ocs, this.width, this.height, isRev);
|
|
|
|
|
{
|
|
|
|
|
if (geo)
|
|
|
|
|
ScaleUV2(geo, ocs, this.width, this.height, isRev);
|
|
|
|
|
else
|
|
|
|
|
this.UpdateBufferGeometryUvs(isRev);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
ScaleUV(geo);
|
|
|
|
|
{
|
|
|
|
|
if (geo)
|
|
|
|
|
ScaleUV(geo);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
UpdateBufferGeometryUvs(isRev: boolean)
|
|
|
|
|
{
|
|
|
|
|
let uvs = this._MeshGeometry.attributes.uv;
|
|
|
|
|
for (let i = 0; i < uvs.count; i++)
|
|
|
|
|
{
|
|
|
|
|
let x = uvs.getX(i) * 1e3;
|
|
|
|
|
let y = uvs.getY(i) * 1e3;
|
|
|
|
|
if (isRev)
|
|
|
|
|
uvs.setXY(i, x / this.height, y / this.width);
|
|
|
|
|
else
|
|
|
|
|
uvs.setXY(i, x / this.width, y / this.height);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
DeferUpdate()
|
|
|
|
|
{
|
|
|
|
|