| 1764 | inline const CHAR* name() const { return "thin_with_grid"; }; |
| 1765 | inline I32 get_command(CHAR* string) const { return sprintf(string, "-%s %g ", name(), (grid_spacing > 0 ? grid_spacing : -grid_spacing)); }; |
| 1766 | inline BOOL filter(const LASpoint* point) |
| 1767 | { |
| 1768 | if (grid_spacing < 0) |
| 1769 | { |
| 1770 | grid_spacing = -grid_spacing; |
| 1771 | anker = I32_FLOOR(point->get_y() / grid_spacing); |
| 1772 | } |
| 1773 | I32 pos_x = I32_FLOOR(point->get_x() / grid_spacing); |
| 1774 | I32 pos_y = I32_FLOOR(point->get_y() / grid_spacing) - anker; |
| 1775 | BOOL no_x_anker = FALSE; |
| 1776 | U32* array_size; |
| 1777 | I32** ankers; |
| 1778 | U32*** array; |
| 1779 | U16** array_sizes; |
| 1780 | if (pos_y < 0) |
| 1781 | { |
| 1782 | pos_y = -pos_y - 1; |
| 1783 | ankers = &minus_ankers; |
| 1784 | if ((U32)pos_y < minus_plus_size && minus_plus_sizes[pos_y]) |
| 1785 | { |
| 1786 | pos_x -= minus_ankers[pos_y]; |
| 1787 | if (pos_x < 0) |
| 1788 | { |
| 1789 | pos_x = -pos_x - 1; |
| 1790 | array_size = &minus_minus_size; |
| 1791 | array = &minus_minus; |
| 1792 | array_sizes = &minus_minus_sizes; |
| 1793 | } |
| 1794 | else |
| 1795 | { |
| 1796 | array_size = &minus_plus_size; |
| 1797 | array = &minus_plus; |
| 1798 | array_sizes = &minus_plus_sizes; |
| 1799 | } |
| 1800 | } |
| 1801 | else |
| 1802 | { |
| 1803 | no_x_anker = TRUE; |
| 1804 | array_size = &minus_plus_size; |
| 1805 | array = &minus_plus; |
| 1806 | array_sizes = &minus_plus_sizes; |
| 1807 | } |
| 1808 | } |
| 1809 | else |
| 1810 | { |
| 1811 | ankers = &plus_ankers; |
| 1812 | if ((U32)pos_y < plus_plus_size && plus_plus_sizes[pos_y]) |
| 1813 | { |
| 1814 | pos_x -= plus_ankers[pos_y]; |
| 1815 | if (pos_x < 0) |
| 1816 | { |
| 1817 | pos_x = -pos_x - 1; |
| 1818 | array_size = &plus_minus_size; |
| 1819 | array = &plus_minus; |
| 1820 | array_sizes = &plus_minus_sizes; |
| 1821 | } |
| 1822 | else |
| 1823 | { |
nothing calls this directly
no test coverage detected