| 694 | } |
| 695 | |
| 696 | BOOL LASwriteOpener::set_format(I32 format) |
| 697 | { |
| 698 | if ((format < LAS_TOOLS_FORMAT_DEFAULT) || |
| 699 | ((format > LAS_TOOLS_FORMAT_TXT) && format != LAS_TOOLS_FORMAT_JSON && format != LAS_TOOLS_FORMAT_XML && format != LAS_TOOLS_FORMAT_CSV)) |
| 700 | { |
| 701 | return FALSE; |
| 702 | } |
| 703 | |
| 704 | specified = TRUE; |
| 705 | this->format = format; |
| 706 | |
| 707 | if (file_name) |
| 708 | { |
| 709 | I32 len = (I32)strlen(file_name); |
| 710 | while (len > 0 && this->file_name[len] != '.') |
| 711 | { |
| 712 | len--; |
| 713 | } |
| 714 | if (len) |
| 715 | { |
| 716 | if (format <= LAS_TOOLS_FORMAT_LAS) |
| 717 | { |
| 718 | file_name[len+1] = 'l'; |
| 719 | file_name[len+2] = 'a'; |
| 720 | file_name[len+3] = 's'; |
| 721 | } |
| 722 | else if (format == LAS_TOOLS_FORMAT_LAZ) |
| 723 | { |
| 724 | file_name[len+1] = 'l'; |
| 725 | file_name[len+2] = 'a'; |
| 726 | file_name[len+3] = 'z'; |
| 727 | } |
| 728 | else if (format == LAS_TOOLS_FORMAT_BIN) |
| 729 | { |
| 730 | file_name[len+1] = 'l'; |
| 731 | file_name[len+2] = 'a'; |
| 732 | file_name[len+3] = 'z'; |
| 733 | } |
| 734 | else if (format == LAS_TOOLS_FORMAT_QFIT) |
| 735 | { |
| 736 | file_name[len+1] = 'q'; |
| 737 | file_name[len+2] = 'i'; |
| 738 | file_name[len+3] = '\0'; |
| 739 | } |
| 740 | else if (format == LAS_TOOLS_FORMAT_VRML) |
| 741 | { |
| 742 | file_name[len+1] = 'w'; |
| 743 | file_name[len+2] = 'r'; |
| 744 | file_name[len+3] = 'l'; |
| 745 | } |
| 746 | else if (format == LAS_TOOLS_FORMAT_JSON) |
| 747 | { |
| 748 | file_name[len+1] = 'j'; |
| 749 | file_name[len+2] = 's'; |
| 750 | file_name[len+3] = 'o'; |
| 751 | file_name[len+4] = 'n'; |
| 752 | } |
| 753 | else if (format == LAS_TOOLS_FORMAT_XML) |