This commit is contained in:
IDONTSUDO 2024-04-18 20:44:26 +03:00
parent 38ffde1d77
commit 94b40bf24c
8 changed files with 33 additions and 16 deletions

View file

@ -14,6 +14,7 @@ export class ExecDatasetProcessScenario extends CallbackStrategyWithIdQuery {
return (await new ReadByIdDataBaseModelUseCase<IDatasetModel>(DatasetDBModel).call(id)).map(async (model) => {
return (await new IsHaveActiveProcessUseCase().call()).map(async () => {
await DatasetDBModel.findById(id).updateOne({ processStatus: "RUN" });
console.log(`blenderproc run $PYTHON_BLENDER_PROC --cfg '${JSON.stringify(model)}'`);
return new ExecProcessUseCase().call(
`${model.project.rootDir}/`,
`blenderproc run $PYTHON_BLENDER_PROC --cfg '${JSON.stringify(model)}'`,

View file

@ -4,7 +4,7 @@ import { SocketSubscriber } from "./core/controllers/socket_controller";
import { extensions } from "./core/extensions/extensions";
import { httpRoutes } from "./core/controllers/routes";
import { executorProgramService } from "./core/usecases/exec_process_usecase";
extensions();
const socketSubscribers = [new SocketSubscriber(executorProgramService, "realtime")];

View file

@ -87,6 +87,7 @@ export class FormBuilderStore {
el.totalValue.push(el.values);
return el;
});
this.changerForm.emit(this.formViewModel?.fromFormBuilderValidationModel());
};
init(context: string, result: string) {

View file

@ -120,7 +120,6 @@ export class FormViewModel {
let subResult = subElement.totalValue ?? subElement.defaultValue;
console.log(subResult);
if (subElement.type.isEqualMany([InputType.STRING, InputType.ENUM])) {
console.log(201)
subResult = `"${String(subResult)}"`;
}
if (subElement.type.isEqual(InputType.NUMBER)) {
@ -133,17 +132,22 @@ export class FormViewModel {
if (Object.keys(objectUnion).length !== 0) {
if (element.subType) {
objectMapperResult = this.getTypeBody(element.subType);
Object.entries(objectUnion).forEach(([key, value]) => {
objectMapperResult = objectMapperResult.replace(new RegExp("\\${" + key + ".*?}"), value as any);
});
if (objectMapperResult !== undefined) {
Object.entries(objectUnion).forEach(([key, value]) => {
objectMapperResult = objectMapperResult.replace(new RegExp("\\${" + key + ".*?}"), value as any);
});
}
}
inputResult.push(objectMapperResult.replaceAll("\n", "").replaceAll("\\", "").replaceAll("/", "").replaceAll(';',''))
if (objectMapperResult)
inputResult.push(
objectMapperResult.replaceAll("\n", "").replaceAll("\\", "").replaceAll("/", "").replaceAll(";", "")
);
}
});
}
}
}
console.log(inputResult);
if (inputResult instanceof Array) inputResult = JSON.stringify(inputResult.map((el) => JSON.parse(el)));
operations.push({ regExp: new RegExp("\\${" + element.name + ".*?}"), result: inputResult });
});
@ -153,7 +157,7 @@ export class FormViewModel {
operations.forEach((el) => {
result = result.replace(el.regExp, el.result);
});
return result;
}
getTypeBody(subType: string): string {

View file

@ -163,7 +163,7 @@ type OBJECTS_SCENE = {
};
type LIGHTS = {
"id": \${ID:number:1},
"type": \${type:Enum<L>:"POINT"},
"type": \${type:Enum<L>:POINT},
"loc_xyz": [\${LOC_XYZ_1:number:5}, \${LOC_XYZ_2:number:5}, \${LOC_XYZ_3:number:5}],
"rot_euler": [\${ROT_EULER_1:number:-0.06}, \${ROT_EULER_2:number:0.61}, \${ROT_EULER_3:number:-0.19}],
"color_range_low": [\${COLOR_RANGE_LOW_1:number:0.5}, \${COLOR_RANGE_LOW_2:number:0.5}, \${COLOR_RANGE_LOW_3:number:0.5}],
@ -177,5 +177,5 @@ export const defaultFormValue: any = {
models_randomization: { loc_range_low: [-1, -1, 0], loc_range_high: [1, 1, 2] },
scene: { objects: [], lights: [] },
camera_position: { center_shell: [0, 0, 0], radius_range: [1, 1.4], elevation_range: [10, 90] },
generation: { n_cam_pose: 5, n_sample_on_pose: 3, n_series: 100, image_format: "jpg", image_size_wh: [640, 480] },
generation: { n_cam_pose: 5, n_sample_on_pose: 3, n_series: 100, image_format: "JPEG", image_size_wh: [640, 480] },
};

View file

@ -53,7 +53,7 @@ export const DataSetScreen: React.FunctionComponent = observer(() => {
<CardDataSet
type={CardDataSetType.EMPTY}
onClickEmptyCard={() => {
store.openEmptyCard()
store.openEmptyCard();
}}
/>
<Drawer
@ -79,17 +79,21 @@ export const DataSetScreen: React.FunctionComponent = observer(() => {
</div>
</Drawer>
<Drawer
title={DrawersDataset.NewDataset}
title={store.titleDrawer}
destroyOnClose={true}
onClose={() => store.editDrawer(DrawersDataset.NewDataset, false)}
open={store.drawers.find((el) => el.name === DrawersDataset.NewDataset)?.status}
>
>
<div
style={{ display: "flex", flexDirection: "column", justifyContent: "space-between", height: "100%" }}
>
<div>
<CoreInput value={store.dataSetModel.name} label={"Имя датасета"} onChange={(e) => store.setNewDatasetName(e)} />
<CoreInput
value={store.dataSetModel.name}
label={"Имя датасета"}
onChange={(e) => store.setNewDatasetName(e)}
/>
<div style={{ width: 180, marginTop: 10, marginBottom: 30 }}>
<CoreButton
onClick={() => store.editDrawer(DrawersDataset.FormBuilderDrawer, true)}

View file

@ -23,6 +23,8 @@ export class DataSetStore extends UiErrorState<HttpError> {
dataSetModel = DataSetModel.empty();
drawers: Drawer[];
socketRepository: SocketRepository;
titleDrawer: string = DrawersDataset.NewDataset;
constructor() {
super();
this.socketRepository = socketRepository;
@ -55,6 +57,7 @@ export class DataSetStore extends UiErrorState<HttpError> {
}
openEmptyCard() {
this.dataSetModel = DataSetModel.empty();
this.titleDrawer = DrawersDataset.NewDataset;
this.editDrawer(DrawersDataset.NewDataset, true);
}
@ -92,6 +95,7 @@ export class DataSetStore extends UiErrorState<HttpError> {
}
editDataset(id: string) {
this.titleDrawer = DrawersDataset.FormBuilderDrawer;
this.dataSetModel = DataSetModel.fromIDatasetModel(this.datasets?.find((el) => el._id === id) as IDatasetModel);
this.editDrawer(DrawersDataset.NewDataset, true);
}
@ -111,7 +115,7 @@ export class DataSetStore extends UiErrorState<HttpError> {
async (s) => {
(await this.dataSetRepository.execDatasetProcess(id)).fold(
() => {
this.updateDatasetStatus(id,ProcessStatus.RUN)
this.updateDatasetStatus(id, ProcessStatus.RUN);
message.success("Процесс запущен");
},
(e) => message.error(e.message)
@ -133,6 +137,7 @@ export class DataSetStore extends UiErrorState<HttpError> {
async () => {
message.success("Датасет сохранен");
await this.getDatasets();
this.editDrawer(DrawersDataset.NewDataset, false);
},
async (error) => message.error(error.message)
);
@ -141,6 +146,7 @@ export class DataSetStore extends UiErrorState<HttpError> {
async () => {
message.success("Настройки датасета измнены");
await this.getDatasets();
this.editDrawer(DrawersDataset.NewDataset, false);
},
async (error) => message.error(error.message)
);

View file

@ -0,0 +1 @@