parser_branches.add_argument("--branch_types_filter",
                             type=int,
                             nargs='+',
                             default=Branche.TYPES_IN_MINOR_BED,
                             help="types of branches to consider")
parser_branches.add_argument(
    "--branch_patterns",
    nargs='+',
    default=None,
    help=
    "list of patterns to filter branches which name does not contain any pattern"
)
# Mesh parameters
parser.mesher_args.add_argument("--floodplain_step",
                                type=float,
                                default=None,
                                help="floodplain space step (in m)")
# Outputs
parser.add_out_mesh_file()

if __name__ == '__main__':
    args = parser.parse_args()
    try:
        mesh_crue10_run(args)
    except FileNotFoundError as e:
        logger.critical(e)
        sys.exit(1)
    except ExceptionCrue10 as e:
        logger.critical(e)
        sys.exit(2)
    mesh_constr.export_sections(args.outfile_sections)

    t2 = perf_counter()
    logger.info("=> Execution time: {}s".format(t2 - t1))


parser = MyArgParse(description=__doc__)
parser.add_common_args(project_straight_line=True)
# Inputs
parser.infile_args.add_argument("infile_axis",
                                help="hydraulic axis file (*.shp, *.i2s)")
parser.infile_args.add_argument("infile_cross_sections",
                                help="cross-sections file (*.shp, *.i3s)")
parser.infile_args.add_argument("--infile_constraint_lines",
                                help="constraint lines file (*.shp, *.i2s)")
parser.infile_args.add_argument("--attr_cross_sections",
                                help="attribute to identify cross-sections")
# Outputs
parser.outfile_args.add_argument(
    "outfile_sections",
    help=
    "output file containing interpolated cross-sections (*.i3s, *.georefC, *.shp)"
)

if __name__ == '__main__':
    args = parser.parse_args()
    try:
        densify_cross_sections(args)
    except TatooineException as e:
        logger.critical(e.message)