Rotate the device
\r\nRatio size : {ratio}
\r\n //Checked width : {final}
\r\n //Ratio for image: {calculateNewToolLengthRatio()}
\r\n //\r\n // New image size:{' '}\r\n // {(final / imageDimensions.height) * imageDimensions.height}\r\n //
\r\n // >\r\n // );\r\n // } else {\r\n // return{calculateNewToolLengthRatio()}
;\r\n // }\r\n // };\r\n\r\n const calculateNewToolWidthRatio = () => {\r\n const actualLength = tool.outerDiameter.value;\r\n const displayedLengthMax = 250;\r\n if (actualLength > displayedLengthMax) {\r\n const ratio = displayedLengthMax / actualLength;\r\n const ratioAndScalingRatioHeight =\r\n scaledHeight / imageDimensions.width / ratio;\r\n const ratioedDimensions =\r\n scaledHeight.toFixed(2) * ratioAndScalingRatioHeight;\r\n const final = ratioedDimensions / (scaledHeight / imageDimensions.width);\r\n return final / imageDimensions.width;\r\n } else {\r\n return scaledHeight / imageDimensions.width;\r\n }\r\n };\r\n\r\n const prevToolWidthRatio = useRef();\r\n\r\n useEffect(\r\n () => {\r\n const newToolWidthRatio = calculateNewToolWidthRatio();\r\n // Only update if the value has changed\r\n if (\r\n newToolWidthRatio !== prevToolWidthRatio.current &&\r\n scaleFactor.height !== 1\r\n ) {\r\n handleSetValuesFromEdit(SCALES.VERTICAL_SCALE, newToolWidthRatio);\r\n prevToolWidthRatio.current = newToolWidthRatio;\r\n }\r\n },\r\n // eslint-disable-next-line\r\n [\r\n scaleFactor.height,\r\n scaledHeight,\r\n imageDimensions.width,\r\n tool.outerDiameter.value,\r\n handleSetValuesFromEdit,\r\n ],\r\n );\r\n\r\n // DEBUG PURPOSES\r\n // useEffect(() => {\r\n // console.log(scaleFactor);\r\n // }, [scaleFactor]);\r\n\r\n // DEBUG PURPOSES\r\n // const calculateActualDimensionsAndRatioHeightDisplay = () => {\r\n // const actualLength = tool.outerDiameter.value;\r\n // const displayedLengthMax = 250;\r\n // if (actualLength > displayedLengthMax) {\r\n // const ratio = displayedLengthMax / actualLength;\r\n // const ratioAndScalingRatioHeight =\r\n // scaledHeight / imageDimensions.width / ratio;\r\n // const ratioedDimensions =\r\n // scaledHeight.toFixed(2) * ratioAndScalingRatioHeight;\r\n // const final = ratioedDimensions / (scaledHeight / imageDimensions.width);\r\n // return (\r\n // <>\r\n //Ratio size H : {ratio}
\r\n //Checked height : {final}
\r\n //Ratio for image H: {calculateNewToolWidthRatio()}
\r\n //\r\n // New image size:{' '}\r\n // {(final / imageDimensions.width) * imageDimensions.width}\r\n //
\r\n // >\r\n // );\r\n // } else {\r\n // return{calculateNewToolWidthRatio()}
;\r\n // }\r\n // };\r\n\r\n return (\r\n\r\n Tool length and OD: {tool.length.value * 1000} x{' '}\r\n {tool.outerDiameter.value}\r\n
\r\n\r\n Natural Image Size: {imageDimensions.height} x {imageDimensions.width}\r\n
\r\n\r\n Displayed Image Size: {displayedImageSize.width} x{' '}\r\n {displayedImageSize.height}\r\n
\r\n\r\n Scaled Dimensions: {scaledWidth.toFixed(2)} x{' '}\r\n {scaledHeight.toFixed(2)}\r\n
\r\n\r\n Scaling ratio: {scaledWidth / imageDimensions.height} x{' '}\r\n {scaledHeight / imageDimensions.width}\r\n
\r\n----------------------------
\r\n{calculateActualDimensionsAndRatioDisplay()}
\r\n----------------------------
\r\n{calculateActualDimensionsAndRatioHeightDisplay()}
\r\n----------------------------
\r\n