import { isNullOrUndefined } from "@intelligentgraphics/ig.utilities";
export var createVector3 = function () { return ({
    X: 0,
    Y: 0,
    Z: 0,
}); };
export var createTransform = function () { return ({
    Position: createVector3(),
    Rotation: createVector3(),
    Scale: {
        X: 1,
        Y: 1,
        Z: 1,
    },
}); };
export var OBJECT_ROOT_PATH = ".";
export var createObject = function (path) { return ({
    Path: path,
    Interactor: undefined,
    Selectable: "Parent",
    OrderNumber: undefined,
    Points: undefined,
    Geometry: undefined,
    GeometryParameters: undefined,
    Layer: undefined,
    Product: undefined,
    Material: undefined,
    MaterialCategory: undefined,
    Transform: undefined,
    InteractorParameters: undefined,
    Evaluator: undefined,
    EvaluatorParameters: undefined,
    CustomProperties: undefined,
    Categories: undefined,
    Deformation: undefined,
}); };
export var createScene = function () { return ({
    Format: "1.0",
    Geometry: "OBJ",
    Packages: [],
    Objects: [],
    Geometries: {},
    GeometryNormalMaps: {},
    GeometryDeformations: {},
    GeometryPreviews: {},
    Categories: {},
    MaterialAssignments: {},
    Materials: {},
    Scripts: [],
}); };
export var determineSceneUpdates = function (scene) {
    if (!isNullOrUndefined(scene.Updates) && scene.Updates.length > 0) {
        return scene.Updates;
    }
    // pre-Updates-property material only update
    if (scene.Objects === undefined || scene.Objects.length === 0) {
        return ["Material"];
    }
};
