You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
2.7 KiB
TypeScript
142 lines
2.7 KiB
TypeScript
// Copyright (C) 2023 CVAT.ai Corporation
|
|
//
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
import config from 'config';
|
|
|
|
export interface ItemLayout {
|
|
viewType: ViewType;
|
|
offset: number[];
|
|
x: number;
|
|
y: number;
|
|
w: number;
|
|
h: number;
|
|
viewIndex?: string;
|
|
}
|
|
|
|
export enum ViewType {
|
|
CANVAS = 'canvas',
|
|
CANVAS_3D = 'canvas3D',
|
|
CANVAS_3D_TOP = 'canvas3DTop',
|
|
CANVAS_3D_SIDE = 'canvas3DSide',
|
|
CANVAS_3D_FRONT = 'canvas3DFront',
|
|
RELATED_IMAGE = 'relatedImage',
|
|
}
|
|
|
|
const defaultLayout: {
|
|
'2D': {
|
|
[index: string]: ItemLayout[];
|
|
};
|
|
'3D': {
|
|
[index: string]: ItemLayout[];
|
|
};
|
|
} = { '2D': {}, '3D': {} };
|
|
|
|
defaultLayout['2D']['0'] = [{
|
|
viewType: ViewType.CANVAS,
|
|
offset: [0],
|
|
x: 0,
|
|
y: 0,
|
|
w: config.CANVAS_WORKSPACE_COLS,
|
|
h: config.CANVAS_WORKSPACE_ROWS,
|
|
}];
|
|
|
|
defaultLayout['2D']['1'] = [
|
|
{ ...defaultLayout['2D']['0'][0], w: 9 }, {
|
|
viewType: ViewType.RELATED_IMAGE,
|
|
offset: [0, 0],
|
|
x: 9,
|
|
y: 0,
|
|
w: 3,
|
|
h: config.CANVAS_WORKSPACE_DEFAULT_CONTEXT_HEIGHT,
|
|
viewIndex: '0',
|
|
},
|
|
];
|
|
|
|
defaultLayout['2D']['2'] = [
|
|
...defaultLayout['2D']['1'], {
|
|
...defaultLayout['2D']['1'][1],
|
|
viewType: ViewType.RELATED_IMAGE,
|
|
viewIndex: '1',
|
|
offset: [0, 1],
|
|
y: 4,
|
|
},
|
|
];
|
|
|
|
defaultLayout['2D']['3'] = [
|
|
...defaultLayout['2D']['2'], {
|
|
...defaultLayout['2D']['2'][2],
|
|
viewIndex: '2',
|
|
offset: [0, 2],
|
|
y: 8,
|
|
},
|
|
];
|
|
|
|
defaultLayout['3D']['0'] = [{
|
|
viewType: ViewType.CANVAS_3D,
|
|
offset: [0],
|
|
x: 0,
|
|
y: 0,
|
|
w: 12,
|
|
h: 9,
|
|
}, {
|
|
viewType: ViewType.CANVAS_3D_TOP,
|
|
offset: [0],
|
|
x: 0,
|
|
y: 9,
|
|
w: 4,
|
|
h: 3,
|
|
}, {
|
|
viewType: ViewType.CANVAS_3D_SIDE,
|
|
offset: [0],
|
|
x: 4,
|
|
y: 9,
|
|
w: 4,
|
|
h: 3,
|
|
}, {
|
|
viewType: ViewType.CANVAS_3D_FRONT,
|
|
offset: [0],
|
|
x: 8,
|
|
y: 9,
|
|
w: 4,
|
|
h: 3,
|
|
}];
|
|
|
|
defaultLayout['3D']['1'] = [
|
|
{ ...defaultLayout['3D']['0'][0], w: 9 },
|
|
{ ...defaultLayout['3D']['0'][1], w: 3 },
|
|
{ ...defaultLayout['3D']['0'][2], x: 3, w: 3 },
|
|
{ ...defaultLayout['3D']['0'][3], x: 6, w: 3 },
|
|
{
|
|
viewType: ViewType.RELATED_IMAGE,
|
|
offset: [0, 0],
|
|
x: 9,
|
|
y: 0,
|
|
w: 3,
|
|
h: config.CANVAS_WORKSPACE_DEFAULT_CONTEXT_HEIGHT,
|
|
viewIndex: '0',
|
|
},
|
|
];
|
|
|
|
defaultLayout['3D']['2'] = [
|
|
...defaultLayout['3D']['1'],
|
|
{
|
|
...defaultLayout['3D']['1'][4],
|
|
viewIndex: '1',
|
|
offset: [0, 1],
|
|
y: 4,
|
|
},
|
|
];
|
|
|
|
defaultLayout['3D']['3'] = [
|
|
...defaultLayout['3D']['2'],
|
|
{
|
|
...defaultLayout['3D']['2'][5],
|
|
viewIndex: '2',
|
|
offset: [0, 2],
|
|
y: 8,
|
|
},
|
|
];
|
|
|
|
export default defaultLayout;
|