| 1836 | return tranformed_coord; |
| 1837 | }; |
| 1838 | inline void transform(LASpoint* point) |
| 1839 | { |
| 1840 | if (offset_adjust) { |
| 1841 | F64 z = 0.0; |
| 1842 | F64 x = point->get_X() * orig_x_scale_factor + orig_x_offset; |
| 1843 | F64 y = point->get_Y() * orig_y_scale_factor + orig_y_offset; |
| 1844 | F64 z_pos = get_Z(point); |
| 1845 | if (z_pos < below) |
| 1846 | z = below * orig_z_scale_factor + orig_z_offset; |
| 1847 | else if (z_pos > above) |
| 1848 | z = above * orig_z_scale_factor + orig_z_offset; |
| 1849 | else |
| 1850 | z = z_pos * orig_z_scale_factor + orig_z_offset; |
| 1851 | |
| 1852 | write_transformed_values_with_adjust_offset(x, y, z, point); |
| 1853 | } else { |
| 1854 | if (point->get_Z() < below) |
| 1855 | point->set_Z(below); |
| 1856 | else if (point->get_Z() > above) |
| 1857 | point->set_Z(above); |
| 1858 | } |
| 1859 | }; |
| 1860 | LASoperationClampRawZ(I32 below, I32 above) |
| 1861 | { |
| 1862 | this->below = below; |