Loading backend/src/main/java/cz/fidentis/web/analyticaltask/symmetry/SymmetryMethod.java +2 −3 Original line number Diff line number Diff line Loading @@ -16,9 +16,8 @@ import java.util.function.BiFunction; @NoArgsConstructor @Getter public enum SymmetryMethod { FAST_MESH_SURFACE((samplingStrategy, ignored) -> new SymmetryConfig(SymmetryConfig.Method.OLD_MESH, samplingStrategy)), ROBUST_MESH_SURFACE((samplingStrategy, ignored) -> new SymmetryConfig(SymmetryConfig.Method.ROBUST_MESH, samplingStrategy)), ROBUST_MESH_VERTICES((samplingStrategy, ignored) -> new SymmetryConfig(SymmetryConfig.Method.ROBUST_POINT_CLOUD, samplingStrategy)), ROBUST_MESH_SURFACE((samplingConfig1, samplingConfig2) -> new SymmetryConfig(SymmetryConfig.Method.ROBUST_MESH, samplingConfig1, samplingConfig2.maxSamples())), ROBUST_MESH_VERTICES((samplingConfig1, samplingConfig2) -> new SymmetryConfig(SymmetryConfig.Method.ROBUST_POINT_CLOUD, samplingConfig1, samplingConfig2.maxSamples())), FEATURE_POINTS; private BiFunction<PointSamplingConfig, PointSamplingConfig, SymmetryConfig> symmetryEstimator; Loading backend/src/main/java/cz/fidentis/web/analyticaltask/symmetry/SymmetryTaskServiceImpl.java +3 −1 Original line number Diff line number Diff line Loading @@ -59,7 +59,9 @@ public class SymmetryTaskServiceImpl implements SymmetryTaskService { recomputeFromMesh(dto, face); } Double precision = face.hasSymmetryPlane() ? FaceStateServices.calculateSymmetryPlanePrecision(face, false) : null; Double precision = face.hasSymmetryPlane() ? FaceStateServices.measureSymmetry(face, 50).getDistanceStats().getAverage() : null; humanFaceEntity.getHelperHumanFace().setSymmetryPlanePrecision(precision); humanFaceService.save(dto.getTaskId(), humanFaceEntity); Loading backend/src/main/java/cz/fidentis/web/analyticaltask/symmetry/dto/SymmetryTaskDto.java +1 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ public class SymmetryTaskDto { private Long taskId; @NotNull private SymmetryMethod symmetryMethod = SymmetryMethod.FAST_MESH_SURFACE; private SymmetryMethod symmetryMethod = SymmetryMethod.ROBUST_MESH_SURFACE; @NotNull private SamplingTaskDto candidateSearchSampling; Loading backend/src/main/java/cz/fidentis/web/taskparameters/TaskParametersApi.java +4 −1 Original line number Diff line number Diff line package cz.fidentis.web.taskparameters; import cz.fidentis.web.taskparameters.dto.TaskParametersDistanceUpdateDto; import cz.fidentis.web.taskparameters.dto.TaskParametersDto; import cz.fidentis.web.taskparameters.dto.TaskParametersRegistrationUpdateDto; Loading @@ -11,6 +10,10 @@ import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; /** * @author Patrik Tomov * @since 07.10.2024 */ @RestController @Tag(name = "Task Parameters API", description = "API for managing task parameters") @RequestMapping("/api/task-parameters") Loading backend/src/main/java/cz/fidentis/web/taskparameters/TaskParametersRepo.java +0 −4 Original line number Diff line number Diff line package cz.fidentis.web.taskparameters; import cz.fidentis.web.taskparameters.dto.TaskParametersDto; import jakarta.transaction.Transactional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import java.util.Optional; Loading Loading
backend/src/main/java/cz/fidentis/web/analyticaltask/symmetry/SymmetryMethod.java +2 −3 Original line number Diff line number Diff line Loading @@ -16,9 +16,8 @@ import java.util.function.BiFunction; @NoArgsConstructor @Getter public enum SymmetryMethod { FAST_MESH_SURFACE((samplingStrategy, ignored) -> new SymmetryConfig(SymmetryConfig.Method.OLD_MESH, samplingStrategy)), ROBUST_MESH_SURFACE((samplingStrategy, ignored) -> new SymmetryConfig(SymmetryConfig.Method.ROBUST_MESH, samplingStrategy)), ROBUST_MESH_VERTICES((samplingStrategy, ignored) -> new SymmetryConfig(SymmetryConfig.Method.ROBUST_POINT_CLOUD, samplingStrategy)), ROBUST_MESH_SURFACE((samplingConfig1, samplingConfig2) -> new SymmetryConfig(SymmetryConfig.Method.ROBUST_MESH, samplingConfig1, samplingConfig2.maxSamples())), ROBUST_MESH_VERTICES((samplingConfig1, samplingConfig2) -> new SymmetryConfig(SymmetryConfig.Method.ROBUST_POINT_CLOUD, samplingConfig1, samplingConfig2.maxSamples())), FEATURE_POINTS; private BiFunction<PointSamplingConfig, PointSamplingConfig, SymmetryConfig> symmetryEstimator; Loading
backend/src/main/java/cz/fidentis/web/analyticaltask/symmetry/SymmetryTaskServiceImpl.java +3 −1 Original line number Diff line number Diff line Loading @@ -59,7 +59,9 @@ public class SymmetryTaskServiceImpl implements SymmetryTaskService { recomputeFromMesh(dto, face); } Double precision = face.hasSymmetryPlane() ? FaceStateServices.calculateSymmetryPlanePrecision(face, false) : null; Double precision = face.hasSymmetryPlane() ? FaceStateServices.measureSymmetry(face, 50).getDistanceStats().getAverage() : null; humanFaceEntity.getHelperHumanFace().setSymmetryPlanePrecision(precision); humanFaceService.save(dto.getTaskId(), humanFaceEntity); Loading
backend/src/main/java/cz/fidentis/web/analyticaltask/symmetry/dto/SymmetryTaskDto.java +1 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ public class SymmetryTaskDto { private Long taskId; @NotNull private SymmetryMethod symmetryMethod = SymmetryMethod.FAST_MESH_SURFACE; private SymmetryMethod symmetryMethod = SymmetryMethod.ROBUST_MESH_SURFACE; @NotNull private SamplingTaskDto candidateSearchSampling; Loading
backend/src/main/java/cz/fidentis/web/taskparameters/TaskParametersApi.java +4 −1 Original line number Diff line number Diff line package cz.fidentis.web.taskparameters; import cz.fidentis.web.taskparameters.dto.TaskParametersDistanceUpdateDto; import cz.fidentis.web.taskparameters.dto.TaskParametersDto; import cz.fidentis.web.taskparameters.dto.TaskParametersRegistrationUpdateDto; Loading @@ -11,6 +10,10 @@ import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; /** * @author Patrik Tomov * @since 07.10.2024 */ @RestController @Tag(name = "Task Parameters API", description = "API for managing task parameters") @RequestMapping("/api/task-parameters") Loading
backend/src/main/java/cz/fidentis/web/taskparameters/TaskParametersRepo.java +0 −4 Original line number Diff line number Diff line package cz.fidentis.web.taskparameters; import cz.fidentis.web.taskparameters.dto.TaskParametersDto; import jakarta.transaction.Transactional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import java.util.Optional; Loading