Commit 541310f1 authored by Radek Ošlejšek's avatar Radek Ošlejšek
Browse files

Merge branch '93-join-sampling-and-reduce-vertices-slider' into 'master'

Feat: Adaptable number of cutting planes & Join Sampling and Reduce vertices sliders

Closes #72

See merge request grp-fidentis/analyst2!306
parents 44ad7115 a244eba8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ import static cz.fidentis.analyst.symmetry.CuttingPlanesUtils.getRotatedSymmetry
 * plane as per user's requests.
 * 
 * @author Samuel Smoleniak
 * @author Peter Čonga
 * @author Peter Conga
 */
public class PlaneManipulationPanel extends JPanel {
    
+2 −2
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ import static cz.fidentis.analyst.symmetry.CuttingPlanesUtils.getBoundingBox2D;
 * @author Dominik Racek
 * @author Radek Oslejsek
 * @author Samuel Smoleniak
 * @author Peter Čonga
 * @author Peter Conga
 */
public class CurveRenderingPanel extends JPanel {

+17 −8
Original line number Diff line number Diff line
@@ -142,6 +142,9 @@ public class CuttingPlanesAction extends ControlPanelAction<CuttingPlanesPanel>
                computeHausdorffDistances(getControlPanel().getCurveRenderingPanel().get2DPrimaryCurves(),
                        getControlPanel().getCurveRenderingPanel().get2DSecondaryCurves());
                break;
            case CuttingPlanesPanel.ACTION_INITIALIZE_MANUPULATION_PANEL:
                createPlane();
                break;
//            case ProfilesPanel.ACTION_MIRROR_CUTS:
//                getControlPanel().getProfileRenderingPanel().setMirrorCuts(getControlPanel().isMirrorCutsChecked());
//                showCuttingPlanes(true, getControlPanel().isMirrorCutsChecked());
@@ -240,6 +243,11 @@ public class CuttingPlanesAction extends ControlPanelAction<CuttingPlanesPanel>
        }
    }
    
    private void createPlane() {
        List<PlaneManipulationPanel> planeManipulationPanels = getControlPanel().getPlaneManipulationPanels();
        planeManipulationPanels.get(planeManipulationPanels.size() - 1).setCanvasAndFace(getCanvas(), getPrimaryFace());
    }

    /**
     * Initializes all cutting plane panels in the scene with default planes 
     * computed from bbox. Selects default plane.
@@ -250,11 +258,11 @@ public class CuttingPlanesAction extends ControlPanelAction<CuttingPlanesPanel>
            planeManipulationPanels.get(i).setCanvasAndFace(getCanvas(), getPrimaryFace());
            planeManipulationPanels.get(i).createBboxCuttingPlane(DIRECTION_VERTICAL);
            
            planeManipulationPanels.get(i + 3).setCanvasAndFace(getCanvas(), getPrimaryFace());
            planeManipulationPanels.get(i + 3).createBboxCuttingPlane(DIRECTION_HORIZONTAL);
            planeManipulationPanels.get(i + 1).setCanvasAndFace(getCanvas(), getPrimaryFace());
            planeManipulationPanels.get(i + 1).createBboxCuttingPlane(DIRECTION_HORIZONTAL);
            
            planeManipulationPanels.get(i + 6).setCanvasAndFace(getCanvas(), getPrimaryFace());
            planeManipulationPanels.get(i + 6).createBboxCuttingPlane(DIRECTION_FRONT_BACK);
            planeManipulationPanels.get(i + 2).setCanvasAndFace(getCanvas(), getPrimaryFace());
            planeManipulationPanels.get(i + 2).createBboxCuttingPlane(DIRECTION_FRONT_BACK);
        }
    }
    
@@ -298,10 +306,11 @@ public class CuttingPlanesAction extends ControlPanelAction<CuttingPlanesPanel>

        String hidden = "not visible";
        DoubleFunction<String> toRoundedValue = value -> String.format("%,.3f", value);
        getControlPanel().setHausdorffDistances(
                hausdorffDistances.get(0) == null ? hidden : toRoundedValue.apply(hausdorffDistances.get(0)),
                hausdorffDistances.get(1) == null ? hidden : toRoundedValue.apply(hausdorffDistances.get(1)),
                hausdorffDistances.get(2) == null ? hidden : toRoundedValue.apply(hausdorffDistances.get(2)));
        String distance1 = !hausdorffDistances.isEmpty() ? toRoundedValue.apply(hausdorffDistances.get(0)) : hidden;
        String distance2 = hausdorffDistances.size() > 1 ? toRoundedValue.apply(hausdorffDistances.get(1)) : hidden;
        String distance3 = hausdorffDistances.size() > 2 ? toRoundedValue.apply(hausdorffDistances.get(2)) : hidden;

        getControlPanel().setHausdorffDistances(distance1, distance2, distance3);
    }

    /**
+182 −131

File changed.

Preview size limit exceeded, changes collapsed.

+308 −124

File changed.

Preview size limit exceeded, changes collapsed.

Loading