Loading GUI/src/main/java/cz/fidentis/analyst/gui/task/registration/RegistrationAction.java +4 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ import cz.fidentis.analyst.engines.icp.IcpConfig; import cz.fidentis.analyst.engines.landmarks.PrTransformation; import cz.fidentis.analyst.engines.sampling.PointSamplingConfig; import cz.fidentis.analyst.engines.sampling.PointSamplingVisitor; import cz.fidentis.analyst.engines.sampling.provider.SamplingProviderService; import cz.fidentis.analyst.engines.symmetry.SymmetryConfig; import cz.fidentis.analyst.gui.elements.SpinSlider; import cz.fidentis.analyst.gui.task.ControlPanelAction; Loading Loading @@ -89,6 +90,8 @@ public class RegistrationAction extends ControlPanelAction<RegistrationPanel> im private final HumanFacesEventBusService humanFacesEventBusService; private final FaceService faceService; SamplingProviderService samplingProviderService = Aca.getInstance().getBean(SamplingProviderService.class); /** * Constructor. * A new {@code RegistrationPanel} is instantiated and added to the {@code topControlPane} Loading Loading @@ -211,7 +214,7 @@ public class RegistrationAction extends ControlPanelAction<RegistrationPanel> im if (samplingVisitor != null) { samplingVisitor.dispose(); } samplingVisitor = strategy == null ? null : strategy.getVisitor(); samplingVisitor = strategy == null ? null : samplingProviderService.createVisitor(strategy); if (samplingVisitor != null) { getPrimaryFace().getMeshModel().getFacets().forEach(facet -> samplingVisitor.visitMeshFacet(facet)); } Loading GUI/src/main/java/cz/fidentis/analyst/gui/task/symmetry/SymmetryAction.java +4 −1 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ import cz.fidentis.analyst.engines.face.FaceFrontalDirectionServices; import cz.fidentis.analyst.engines.face.FaceStateServices; import cz.fidentis.analyst.engines.sampling.PointSamplingConfig; import cz.fidentis.analyst.engines.sampling.PointSamplingVisitor; import cz.fidentis.analyst.engines.sampling.provider.SamplingProviderService; import cz.fidentis.analyst.engines.symmetry.SymmetryConfig; import cz.fidentis.analyst.gui.elements.SpinSlider; import cz.fidentis.analyst.gui.elements.histogram.InteractiveHistogramComponent; Loading Loading @@ -56,6 +57,8 @@ public class SymmetryAction extends ControlPanelAction<SymmetryPanel> implements private MeshDistances meshDistance = null; SamplingProviderService samplingFactory = Aca.getInstance().getBean(SamplingProviderService.class); /** * Constructor. * A new {@code SymmetryPanel} is instantiated and added to the {@code topControlPane} Loading Loading @@ -131,7 +134,7 @@ public class SymmetryAction extends ControlPanelAction<SymmetryPanel> implements } var strategy = getSamplingStrategy(getControlPanel().getPointSamplingStrength1()); samplingVisitor = strategy == null ? null : strategy.getVisitor(); samplingVisitor = strategy == null ? null : samplingFactory.createVisitor(strategy); if (samplingVisitor != null) { getPrimaryFace().getMeshModel().getFacets().forEach(facet -> samplingVisitor.visitMeshFacet(facet)); } Loading GeometryEngines/pom.xml +5 −0 Original line number Diff line number Diff line Loading @@ -76,6 +76,11 @@ <version>${version.org.junit.jupiter}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>3.4.4</version> </dependency> </dependencies> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> Loading GeometryEngines/src/main/java/cz/fidentis/analyst/engines/AcaGeometryEngines.java 0 → 100644 +42 −0 Original line number Diff line number Diff line package cz.fidentis.analyst.engines; import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Service; /** * A singleton class that provides access to the Spring application context. * This class is used to retrieve beans from the application context. * * @author Adam Majzlík */ @Service public class AcaGeometryEngines { private static AcaGeometryEngines instance; public static AcaGeometryEngines getInstance() { return instance; } private ApplicationContext context; /** * Constructor that initializes the Aca instance with the provided application context. * * @param context The Spring application context. */ public AcaGeometryEngines(ApplicationContext context) { this.context = context; instance = this; } /** * Retrieves a bean of the specified class from the application context. * * @param clazz The class of the bean to retrieve. * @param <T> The type of the bean. * @return An instance of the specified bean type. */ public <T> T getBean(Class<T> clazz) { return context.getBean(clazz); } } GeometryEngines/src/main/java/cz/fidentis/analyst/engines/glyphs/impl/GlyphsVisitorImpl.java +5 −1 Original line number Diff line number Diff line Loading @@ -4,10 +4,12 @@ import cz.fidentis.analyst.data.mesh.Curvature; import cz.fidentis.analyst.data.mesh.MeshFacet; import cz.fidentis.analyst.data.mesh.MeshPoint; import cz.fidentis.analyst.data.shapes.Glyph; import cz.fidentis.analyst.engines.AcaGeometryEngines; import cz.fidentis.analyst.engines.curvature.CurvatureServices; import cz.fidentis.analyst.engines.glyphs.GlyphsVisitor; import cz.fidentis.analyst.engines.sampling.PointSamplingConfig; import cz.fidentis.analyst.engines.sampling.PointSamplingVisitor; import cz.fidentis.analyst.engines.sampling.provider.SamplingProviderService; import java.util.ArrayList; import java.util.List; Loading @@ -22,12 +24,14 @@ public class GlyphsVisitorImpl implements GlyphsVisitor { private final List<MeshFacet> facets = new ArrayList<>(); private final PointSamplingVisitor samplingVisitor; private final SamplingProviderService samplingFactory = AcaGeometryEngines.getInstance().getBean(SamplingProviderService.class); /** * Constructor. * @param samplingConfig Sub-sampling configuration. Must not be {@code null} */ public GlyphsVisitorImpl(PointSamplingConfig samplingConfig) { this.samplingVisitor = samplingConfig.getVisitor(); this.samplingVisitor = samplingFactory.createVisitor(samplingConfig); } @Override Loading Loading
GUI/src/main/java/cz/fidentis/analyst/gui/task/registration/RegistrationAction.java +4 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ import cz.fidentis.analyst.engines.icp.IcpConfig; import cz.fidentis.analyst.engines.landmarks.PrTransformation; import cz.fidentis.analyst.engines.sampling.PointSamplingConfig; import cz.fidentis.analyst.engines.sampling.PointSamplingVisitor; import cz.fidentis.analyst.engines.sampling.provider.SamplingProviderService; import cz.fidentis.analyst.engines.symmetry.SymmetryConfig; import cz.fidentis.analyst.gui.elements.SpinSlider; import cz.fidentis.analyst.gui.task.ControlPanelAction; Loading Loading @@ -89,6 +90,8 @@ public class RegistrationAction extends ControlPanelAction<RegistrationPanel> im private final HumanFacesEventBusService humanFacesEventBusService; private final FaceService faceService; SamplingProviderService samplingProviderService = Aca.getInstance().getBean(SamplingProviderService.class); /** * Constructor. * A new {@code RegistrationPanel} is instantiated and added to the {@code topControlPane} Loading Loading @@ -211,7 +214,7 @@ public class RegistrationAction extends ControlPanelAction<RegistrationPanel> im if (samplingVisitor != null) { samplingVisitor.dispose(); } samplingVisitor = strategy == null ? null : strategy.getVisitor(); samplingVisitor = strategy == null ? null : samplingProviderService.createVisitor(strategy); if (samplingVisitor != null) { getPrimaryFace().getMeshModel().getFacets().forEach(facet -> samplingVisitor.visitMeshFacet(facet)); } Loading
GUI/src/main/java/cz/fidentis/analyst/gui/task/symmetry/SymmetryAction.java +4 −1 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ import cz.fidentis.analyst.engines.face.FaceFrontalDirectionServices; import cz.fidentis.analyst.engines.face.FaceStateServices; import cz.fidentis.analyst.engines.sampling.PointSamplingConfig; import cz.fidentis.analyst.engines.sampling.PointSamplingVisitor; import cz.fidentis.analyst.engines.sampling.provider.SamplingProviderService; import cz.fidentis.analyst.engines.symmetry.SymmetryConfig; import cz.fidentis.analyst.gui.elements.SpinSlider; import cz.fidentis.analyst.gui.elements.histogram.InteractiveHistogramComponent; Loading Loading @@ -56,6 +57,8 @@ public class SymmetryAction extends ControlPanelAction<SymmetryPanel> implements private MeshDistances meshDistance = null; SamplingProviderService samplingFactory = Aca.getInstance().getBean(SamplingProviderService.class); /** * Constructor. * A new {@code SymmetryPanel} is instantiated and added to the {@code topControlPane} Loading Loading @@ -131,7 +134,7 @@ public class SymmetryAction extends ControlPanelAction<SymmetryPanel> implements } var strategy = getSamplingStrategy(getControlPanel().getPointSamplingStrength1()); samplingVisitor = strategy == null ? null : strategy.getVisitor(); samplingVisitor = strategy == null ? null : samplingFactory.createVisitor(strategy); if (samplingVisitor != null) { getPrimaryFace().getMeshModel().getFacets().forEach(facet -> samplingVisitor.visitMeshFacet(facet)); } Loading
GeometryEngines/pom.xml +5 −0 Original line number Diff line number Diff line Loading @@ -76,6 +76,11 @@ <version>${version.org.junit.jupiter}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>3.4.4</version> </dependency> </dependencies> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> Loading
GeometryEngines/src/main/java/cz/fidentis/analyst/engines/AcaGeometryEngines.java 0 → 100644 +42 −0 Original line number Diff line number Diff line package cz.fidentis.analyst.engines; import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Service; /** * A singleton class that provides access to the Spring application context. * This class is used to retrieve beans from the application context. * * @author Adam Majzlík */ @Service public class AcaGeometryEngines { private static AcaGeometryEngines instance; public static AcaGeometryEngines getInstance() { return instance; } private ApplicationContext context; /** * Constructor that initializes the Aca instance with the provided application context. * * @param context The Spring application context. */ public AcaGeometryEngines(ApplicationContext context) { this.context = context; instance = this; } /** * Retrieves a bean of the specified class from the application context. * * @param clazz The class of the bean to retrieve. * @param <T> The type of the bean. * @return An instance of the specified bean type. */ public <T> T getBean(Class<T> clazz) { return context.getBean(clazz); } }
GeometryEngines/src/main/java/cz/fidentis/analyst/engines/glyphs/impl/GlyphsVisitorImpl.java +5 −1 Original line number Diff line number Diff line Loading @@ -4,10 +4,12 @@ import cz.fidentis.analyst.data.mesh.Curvature; import cz.fidentis.analyst.data.mesh.MeshFacet; import cz.fidentis.analyst.data.mesh.MeshPoint; import cz.fidentis.analyst.data.shapes.Glyph; import cz.fidentis.analyst.engines.AcaGeometryEngines; import cz.fidentis.analyst.engines.curvature.CurvatureServices; import cz.fidentis.analyst.engines.glyphs.GlyphsVisitor; import cz.fidentis.analyst.engines.sampling.PointSamplingConfig; import cz.fidentis.analyst.engines.sampling.PointSamplingVisitor; import cz.fidentis.analyst.engines.sampling.provider.SamplingProviderService; import java.util.ArrayList; import java.util.List; Loading @@ -22,12 +24,14 @@ public class GlyphsVisitorImpl implements GlyphsVisitor { private final List<MeshFacet> facets = new ArrayList<>(); private final PointSamplingVisitor samplingVisitor; private final SamplingProviderService samplingFactory = AcaGeometryEngines.getInstance().getBean(SamplingProviderService.class); /** * Constructor. * @param samplingConfig Sub-sampling configuration. Must not be {@code null} */ public GlyphsVisitorImpl(PointSamplingConfig samplingConfig) { this.samplingVisitor = samplingConfig.getVisitor(); this.samplingVisitor = samplingFactory.createVisitor(samplingConfig); } @Override Loading