| import {iObjectCommons} from './iObjectCommons' | import {iObjectCommons} from './iObjectCommons' | ||||
| import {RootSceneImportResult} from '../../assetmanager' | import {RootSceneImportResult} from '../../assetmanager' | ||||
| import {uiColor, uiConfig, uiFolderContainer, uiImage, UiObjectConfig, uiSlider, uiToggle} from 'uiconfig.js' | import {uiColor, uiConfig, uiFolderContainer, uiImage, UiObjectConfig, uiSlider, uiToggle} from 'uiconfig.js' | ||||
| import {IGeometry} from '../IGeometry' | |||||
| @uiFolderContainer('Root Scene') | @uiFolderContainer('Root Scene') | ||||
| export class RootScene extends Scene<ISceneEvent, ISceneEventTypes> implements IScene<ISceneEvent, ISceneEventTypes> { | export class RootScene extends Scene<ISceneEvent, ISceneEventTypes> implements IScene<ISceneEvent, ISceneEventTypes> { | ||||
| obj.userData.autoScaled = true // mark as auto-scaled, so that autoScale is not called again when file is reloaded. | obj.userData.autoScaled = true // mark as auto-scaled, so that autoScale is not called again when file is reloaded. | ||||
| } | } | ||||
| if (centerGeometries && !obj.userData.geometriesCentered) { | if (centerGeometries && !obj.userData.geometriesCentered) { | ||||
| obj.traverse((o)=>{ | |||||
| if (o.geometry) o.geometry.center(undefined, centerGeometriesKeepPosition) | |||||
| }) | |||||
| const geoms = new Set<IGeometry>() | |||||
| obj.traverse((o)=> o.geometry && geoms.add(o.geometry)) | |||||
| geoms.forEach(g=>g.center(undefined, centerGeometriesKeepPosition)) | |||||
| obj.userData.geometriesCentered = true | obj.userData.geometriesCentered = true | ||||
| } else { | } else { | ||||
| obj.userData.geometriesCentered = true // mark as centered, so that geometry center is not called again when file is reloaded. | obj.userData.geometriesCentered = true // mark as centered, so that geometry center is not called again when file is reloaded. |