|
@@ -8,6 +8,12 @@ export enum MeasureType {
|
|
|
area = 'area'
|
|
|
}
|
|
|
|
|
|
+enum ServiceMeasureType {
|
|
|
+ free = 0,
|
|
|
+ vertical = 1,
|
|
|
+ area = 2
|
|
|
+}
|
|
|
+
|
|
|
export type MeasurePosition = {point: SceneLocalPos, modelId: FuseModel['id']}
|
|
|
|
|
|
export interface Measure<T extends MeasureType = MeasureType> {
|
|
@@ -23,7 +29,7 @@ interface ServiceMeasure {
|
|
|
fusionMeterId: number,
|
|
|
fusionId: number,
|
|
|
meterTitle: string,
|
|
|
- meterType: MeasureType,
|
|
|
+ meterType: ServiceMeasureType,
|
|
|
position: string,
|
|
|
length: number,
|
|
|
}
|
|
@@ -34,14 +40,22 @@ const toLocal = (serviceMeasure: ServiceMeasure) : Measure => ({
|
|
|
title: serviceMeasure.meterTitle,
|
|
|
desc: serviceMeasure.length.toString(),
|
|
|
positions: JSON.parse(serviceMeasure.position),
|
|
|
- type: serviceMeasure.meterType,
|
|
|
+ type: serviceMeasure.meterType === ServiceMeasureType.area
|
|
|
+ ? MeasureType.area
|
|
|
+ : serviceMeasure.meterType === ServiceMeasureType.vertical
|
|
|
+ ? MeasureType.vertical
|
|
|
+ : MeasureType.free
|
|
|
})
|
|
|
|
|
|
const toService = (measure: Measure, isUpdate = true): PartialProps<ServiceMeasure, 'fusionMeterId'> => ({
|
|
|
fusionMeterId: isUpdate ? Number(measure.id): undefined,
|
|
|
fusionId: measure.fusionId,
|
|
|
meterTitle: measure.title,
|
|
|
- meterType: measure.type,
|
|
|
+ meterType: measure.type === MeasureType.area
|
|
|
+ ? ServiceMeasureType.area
|
|
|
+ : measure.type === MeasureType.vertical
|
|
|
+ ? ServiceMeasureType.vertical
|
|
|
+ : ServiceMeasureType.free,
|
|
|
position: JSON.stringify(measure.positions),
|
|
|
length: Number(measure.desc),
|
|
|
|