diff --git a/navigation2/.circleci/config.yml b/navigation2/.circleci/config.yml deleted file mode 100644 index 6a09600..0000000 --- a/navigation2/.circleci/config.yml +++ /dev/null @@ -1,524 +0,0 @@ -version: 2.1 - -_commands: - common_commands: &common_commands - ccache_stats: - description: "CCache Stats" - parameters: - workspace: - type: string - when: - type: string - default: on_success - steps: - - run: - name: CCache Stats - working_directory: << parameters.workspace >> - environment: - CCACHE_DIR: << parameters.workspace >>/.ccache - command: | - ccache -s # show stats - ccache -z # zero stats - ccache -V # show version - ccache -p # show config - when: << parameters.when >> - restore_from_cache: - description: "Restore From Cache" - parameters: - key: - type: string - workspace: - type: string - steps: - - restore_cache: - name: Restore Cache << parameters.key >> - keys: - - "<< parameters.key >>-v13\ - -{{ arch }}\ - -{{ .Branch }}\ - -{{ .Environment.CIRCLE_PR_NUMBER }}\ - -{{ checksum \"<< parameters.workspace >>/lockfile.txt\" }}" - - "<< parameters.key >>-v13\ - -{{ arch }}\ - -main\ - -\ - -{{ checksum \"<< parameters.workspace >>/lockfile.txt\" }}" - save_to_cache: - description: "Save To Cache" - parameters: - key: - type: string - workspace: - type: string - path: - type: string - when: - type: string - default: on_success - steps: - - save_cache: - name: Save Cache << parameters.key >> - key: "<< parameters.key >>-v13\ - -{{ arch }}\ - -{{ .Branch }}\ - -{{ .Environment.CIRCLE_PR_NUMBER }}\ - -{{ checksum \"<< parameters.workspace >>/lockfile.txt\" }}\ - -{{ epoch }}" - paths: - - << parameters.path >>/.ccache - - << parameters.path >>/build - - << parameters.path >>/install - - << parameters.path >>/log - - << parameters.path >>/test_results - when: << parameters.when >> - install_dependencies: - description: "Install Dependencies" - parameters: - underlay: - type: string - workspace: - type: string - steps: - - run: - name: Install Dependencies | << parameters.workspace >> - working_directory: << parameters.workspace >> - command: | - . << parameters.underlay >>/install/setup.sh - AMENT_PREFIX_PATH=$(echo "$AMENT_PREFIX_PATH" | \ - sed -e 's|:/opt/ros/'$ROS_DISTRO'$||') - if [ "$AMENT_PREFIX_PATH" == "/opt/ros/$ROS_DISTRO" ] - then - unset AMENT_PREFIX_PATH - fi - - cat << parameters.underlay >>/lockfile.txt > lockfile.txt - vcs export --exact << parameters.underlay >>/src | \ - (echo vcs_export && cat) >> lockfile.txt - sha256sum $PWD/lockfile.txt >> lockfile.txt - - apt-get update - rosdep update --rosdistro $ROS_DISTRO - dependencies=$( - rosdep install -q -y \ - --from-paths src \ - --ignore-src \ - --skip-keys " \ - slam_toolbox \ - " \ - --verbose | \ - awk '$1 ~ /^resolution\:/' | \ - awk -F'[][]' '{print $2}' | \ - tr -d \, | xargs -n1 | sort -u | xargs) - dpkg --list dpkg $dependencies | \ - (echo workspace_dependencies && cat) >> lockfile.txt - sha256sum $PWD/lockfile.txt >> lockfile.txt - setup_workspace: - description: "Setup Workspace" - parameters: - underlay: - type: string - key: - type: string - workspace: - type: string - mixins: - type: string - build: - default: true - type: boolean - steps: - - store_artifacts: - path: << parameters.workspace >>/lockfile.txt - - restore_from_cache: - key: << parameters.key >> - workspace: << parameters.workspace >> - - when: - condition: << parameters.build >> - steps: - - ccache_stats: - workspace: << parameters.workspace >> - when: always - - run: - name: Build Workspace | << parameters.workspace >> - working_directory: << parameters.workspace >> - environment: - CCACHE_DIR: << parameters.workspace >>/.ccache - command: | - colcon cache lock - - BUILD_UNFINISHED=$( - colcon list \ - --names-only \ - --packages-skip-build-finished \ - | xargs) - echo BUILD_UNFINISHED: $BUILD_UNFINISHED - - BUILD_FAILED=$( - colcon list \ - --names-only \ - --packages-select-build-failed \ - | xargs) - echo BUILD_FAILED: $BUILD_FAILED - - BUILD_INVALID=$( - colcon list \ - --names-only \ - --packages-select-cache-invalid \ - --packages-select-cache-key build \ - | xargs) - echo BUILD_INVALID: $BUILD_INVALID - - BUILD_PACKAGES="" - if [ -n "$BUILD_UNFINISHED" ] || \ - [ -n "$BUILD_FAILED" ] || \ - [ -n "$BUILD_INVALID" ] - then - BUILD_PACKAGES=$( - colcon list \ - --names-only \ - --packages-above \ - $BUILD_UNFINISHED \ - $BUILD_FAILED \ - $BUILD_INVALID \ - | xargs) - fi - echo BUILD_PACKAGES: $BUILD_PACKAGES - - colcon clean packages --yes \ - --packages-select ${BUILD_PACKAGES} \ - --base-select install - - . << parameters.underlay >>/install/setup.sh - colcon build \ - --packages-select ${BUILD_PACKAGES} \ - --mixin << parameters.mixins >> - - ccache_stats: - workspace: << parameters.workspace >> - when: always - - save_to_cache: - key: << parameters.key >> - path: << parameters.workspace >> - workspace: << parameters.workspace >> - when: always - - run: - name: Copy Build Logs - working_directory: << parameters.workspace >> - command: cp -rH log/latest_build log/build - when: always - - store_artifacts: - path: << parameters.workspace >>/log/build - test_workspace: - description: "Test Workspace" - parameters: - key: - type: string - workspace: - type: string - cache_test: - type: boolean - steps: - - run: - name: Test Workspace | << parameters.workspace >> - working_directory: << parameters.workspace >> - command: | - TEST_UNPASSED=$( - colcon list \ - --names-only \ - --packages-skip-test-passed \ - | xargs) - echo TEST_UNPASSED: $TEST_UNPASSED - - TEST_FAILURES=$( - colcon list \ - --names-only \ - --packages-select-test-failures \ - | xargs) - echo TEST_FAILURES: $TEST_FAILURES - - TEST_INVALID=$( - colcon list \ - --names-only \ - --packages-select-cache-invalid \ - --packages-select-cache-key test \ - | xargs) - echo TEST_INVALID: $TEST_INVALID - - TEST_PACKAGES="" - if [ -n "$TEST_UNPASSED" ] || \ - [ -n "$TEST_FAILURES" ] || \ - [ -n "$TEST_INVALID" ] - then - TEST_PACKAGES=$( - colcon list \ - --names-only \ - --packages-above \ - $TEST_UNPASSED \ - $TEST_FAILURES \ - $TEST_INVALID) - fi - if ( ! << parameters.cache_test >> ) - then - TEST_PACKAGES=$( - colcon list \ - --names-only) - fi - TEST_PACKAGES=$( - echo $TEST_PACKAGES \ - | circleci tests split \ - --split-by=timings \ - --timings-type=classname \ - --show-counts \ - | xargs) - echo TEST_PACKAGES: $TEST_PACKAGES - - colcon clean packages --yes \ - --packages-select ${TEST_PACKAGES} \ - --base-select test_result - colcon clean packages --yes \ - --packages-select ${TEST_PACKAGES} \ - --base-select build \ - --clean-match \ - "*.gcda" - - . install/setup.sh - set -o xtrace - colcon test \ - --packages-select ${TEST_PACKAGES} - colcon test-result \ - --verbose - - when: - condition: << parameters.cache_test >> - steps: - - save_to_cache: - key: << parameters.key >> - path: << parameters.workspace >> - workspace: << parameters.workspace >> - when: always - - run: - name: Copy Test Logs - working_directory: << parameters.workspace >> - command: cp -rH log/latest_test log/test - when: always - - store_artifacts: - path: << parameters.workspace >>/log/test - - store_artifacts: - path: << parameters.workspace >>/test_results - - run: - name: Prepare Test Results - working_directory: << parameters.workspace >> - command: find test_results -name "Test.xml" -type f -delete - when: always - - store_test_results: - path: << parameters.workspace >>/test_results - -_steps: - pre_checkout: &pre_checkout - run: - name: Pre Checkout - command: | - mkdir -p $ROS_WS/src && cd $ROS_WS - ln -s /opt/ros/$ROS_DISTRO install - - echo $CACHE_NONCE | \ - (echo cache_nonce && cat) >> lockfile.txt - sha256sum $PWD/lockfile.txt >> lockfile.txt - - TZ=utc stat -c '%y' /ros_entrypoint.sh | \ - (echo ros_entrypoint && cat) >> lockfile.txt - sha256sum $PWD/lockfile.txt >> lockfile.txt - - rm -rf $OVERLAY_WS/* - on_checkout: &on_checkout - checkout: - path: src/navigation2 - post_checkout: &post_checkout - run: - name: Post Checkout - command: | - cp $OVERLAY_WS/src/navigation2/.circleci/defaults.yaml $COLCON_DEFAULTS_FILE - if ! cmp \ - $OVERLAY_WS/src/navigation2/tools/underlay.repos \ - $UNDERLAY_WS/underlay.repos >/dev/null 2>&1 - then - echo "Importing Underlay" - cp $OVERLAY_WS/src/navigation2/tools/underlay.repos \ - $UNDERLAY_WS/underlay.repos - vcs import $UNDERLAY_WS/src \ - < $UNDERLAY_WS/underlay.repos - fi - install_underlay_dependencies: &install_underlay_dependencies - install_dependencies: - underlay: /opt/ros_ws - workspace: /opt/underlay_ws - setup_underlay_workspace: &setup_underlay_workspace - setup_workspace: &setup_workspace_underlay - key: underlay_ws - underlay: /opt/ros_ws - workspace: /opt/underlay_ws - mixins: ${UNDERLAY_MIXINS} - restore_underlay_workspace: &restore_underlay_workspace - setup_workspace: - <<: *setup_workspace_underlay - build: false - install_overlay_dependencies: &install_overlay_dependencies - install_dependencies: - underlay: /opt/underlay_ws - workspace: /opt/overlay_ws - setup_overlay_workspace: &setup_overlay_workspace - setup_workspace: &setup_workspace_overlay - key: overlay_ws - underlay: /opt/underlay_ws - workspace: /opt/overlay_ws - mixins: ${OVERLAY_MIXINS} - restore_overlay_workspace: &restore_overlay_workspace - setup_workspace: - <<: *setup_workspace_overlay - build: false - test_overlay_workspace: &test_overlay_workspace - test_workspace: - key: overlay_ws - workspace: /opt/overlay_ws - cache_test: << parameters.cache_test >> - collect_overlay_coverage: &collect_overlay_coverage - run: - name: Collect Code Coverage - working_directory: /opt/overlay_ws - command: src/navigation2/tools/code_coverage_report.bash ci - when: always - upload_overlay_coverage: &upload_overlay_coverage - run: - name: Upload Code Coverage - working_directory: /opt/overlay_ws - command: | - curl -s https://codecov.io/bash > codecov - codecov_version=$(grep -o 'VERSION=\"[0-9\.]*\"' codecov | cut -d'"' -f2) - shasum -a 512 -c <(curl -s "https://raw.githubusercontent.com/codecov/codecov-bash/${codecov_version}/SHA512SUM" | grep -w "codecov") - bash codecov \ - -f "lcov/total_coverage.info" \ - -R "src/navigation2" \ - -n "$RMW_IMPLEMENTATION" \ - -Z || echo 'Codecov upload failed' - when: always - -commands: - <<: *common_commands - checkout_source: - description: "Checkout Source" - steps: - - *pre_checkout - - *on_checkout - - *post_checkout - setup_dependencies: - description: "Setup Dependencies" - steps: - - *install_underlay_dependencies - - *setup_underlay_workspace - - *install_overlay_dependencies - build_source: - description: "Build Source" - steps: - - *setup_overlay_workspace - restore_build: - description: "Restore Build" - steps: - - checkout_source - - *install_underlay_dependencies - - *restore_underlay_workspace - - *install_overlay_dependencies - - *restore_overlay_workspace - test_build: - description: "Test Build" - parameters: - cache_test: - type: boolean - steps: - - *test_overlay_workspace - report_coverage: - description: "Report Coverage" - steps: - - *collect_overlay_coverage - - *upload_overlay_coverage - -_environments: - common_environment: &common_environment - ROS_WS: "/opt/ros_ws" - UNDERLAY_WS: "/opt/underlay_ws" - OVERLAY_WS: "/opt/overlay_ws" - UNDERLAY_MIXINS: "release ccache lld" - CCACHE_LOGFILE: "/tmp/ccache.log" - CCACHE_MAXSIZE: "200M" - MAKEFLAGS: "-j 2 -l 2 " - COLCON_DEFAULTS_FILE: "/tmp/defaults.yaml" - RCUTILS_LOGGING_BUFFERED_STREAM: "0" - RCUTILS_LOGGING_USE_STDOUT: "0" - DEBIAN_FRONTEND: "noninteractive" - PYTHONUNBUFFERED: "1" - -executors: - release_exec: - docker: - - image: ghcr.io/ros-navigation/navigation2:humble - resource_class: large - working_directory: /opt/overlay_ws - environment: - <<: *common_environment - CACHE_NONCE: "Release" - OVERLAY_MIXINS: "release ccache coverage-gcc lld" - -_jobs: - job_test: &job_test - parameters: - cache_test: - type: boolean - default: false - rmw: - default: "rmw_cyclonedds_cpp" - type: string - parallelism: 1 - environment: - RMW_IMPLEMENTATION: << parameters.rmw >> - -jobs: - release_build: &release_build - executor: release_exec - steps: - - checkout_source - - setup_dependencies - - build_source - release_test: &release_test - <<: *job_test - executor: release_exec - steps: - - restore_build - - test_build: - cache_test: << parameters.cache_test >> - - report_coverage - -workflows: - version: 2 - build_and_test: - jobs: - - release_build - - release_test: - requires: - - release_build - cache_test: true - nightly: - jobs: - - release_build - - release_test: - requires: - - release_build - matrix: - parameters: - rmw: - - rmw_connextdds - - rmw_cyclonedds_cpp - - rmw_fastrtps_cpp - triggers: - - schedule: - cron: "0 13 * * *" - filters: - branches: - only: - - main diff --git a/navigation2/.circleci/defaults.yaml b/navigation2/.circleci/defaults.yaml deleted file mode 100644 index e1d62a0..0000000 --- a/navigation2/.circleci/defaults.yaml +++ /dev/null @@ -1,16 +0,0 @@ -_common: &common - "test-result-base": "test_results" - -"clean.packages": - <<: *common -"build": - <<: *common - "executor": "parallel" - "parallel-workers": 4 - "symlink-install": true -"test": - <<: *common - "executor": "parallel" - "parallel-workers": 1 -"test-result": - <<: *common diff --git a/navigation2/.devcontainer/caddy/Caddyfile b/navigation2/.devcontainer/caddy/Caddyfile deleted file mode 100644 index 1150579..0000000 --- a/navigation2/.devcontainer/caddy/Caddyfile +++ /dev/null @@ -1,132 +0,0 @@ -# Snippet for global matchers and variables -# to logically expression request conditions -# E.g. for conditionally changing redirects -(globals) { - # Use gzip compression for all responses - encode gzip - - # Matcher for http request scheme. E.g. "http" or "https" - @http_scheme { - expression {http.request.scheme}=="https" || {header.X-Forwarded-Scheme}=="https" || {header.X-Forwarded-Proto}=="https" - } - # If any http scheme is "https", then use "wss" - vars @http_scheme WsScheme "wss" - # Else default to "ws" - vars WsScheme "ws" - - # Matcher for forwarded request headers - @host_forwarded { - header X-Forwarded-Host * - } - # If http headers exists, then use them - vars @host_forwarded ReqHost {header.X-Forwarded-Host} - # Else default to host in request - vars ReqHost {http.request.hostport} - - # Matcher for websocket connection upgrade requests - @websockets { - # Avoid case sensitivity issues when matching field values - # E.g. when values are rewritten by Codespace port forwarding - header_regexp Connection (?i)(Upgrade) - header Upgrade websocket - } -} - -# Snippet for redirect with given URL queries values -# to simplify remote development with web apps -# E.g auto redirect websocket URL to match request scheme -(redirect) { - # Configure redirect to match request scheme - vars LayoutUrl "/assets/foxglove/nav2_layout.json" - vars DataSourceUrl "{vars.WsScheme}://{vars.ReqHost}{args.0}/" - redir /autoconnect "{args.0}/?ds=foxglove-websocket&ds.url={vars.DataSourceUrl}" - redir /autolayout "{args.0}/?ds=foxglove-websocket&ds.url={vars.DataSourceUrl}&layoutUrl={vars.LayoutUrl}" -} - -# Snippet for dummy imports -(dummy) { -} - -# Snippet for enabling mobile web app features -# to improve user experience on small screen devices -# E.g. for enabling fullscreen mode on iOS and Android -(mobile) { - # Match for directory redirects to index.html - route / { - # Inject link to manifest just after tag - # https://developer.mozilla.org/docs/Web/Manifest - replace `` `` - } - # Redirect relative handle_path'ed manifest.json to /manifests directory - redir /manifest.json /assets{http.request.orig_uri.path.dir}manifest.json -} - -# Snippet for hosted web app using websockets -# to serve static files and reverse proxying connections -# E.g. for serving GzWeb and Foxglove web apps -(app) { - # handle and strip path prefix from redirect - handle_path {args.0}/* { - # Set root directory for static files - root * {http.vars.root}{args.0} - # Enable mobile web app features - import mobile - # Reverse proxy websockets to backend address - reverse_proxy @websockets {args.1} - # Import custom snippets - import {args.2} {args.0} - } -} - -# Listen for http requests on port 8080 -# regardless of hostname or domain address -# E.g. whatever Codespaces assigns to host -:8080 { - # Include global matchers and variables - import globals - root * {$ROOT_SRV:/srv} - file_server browse - - # Handle root content - # I.e. assets internal to workspace - handle /* { - # Template manifest.json files - templates */manifest.json { - mime application/json - } - } - - # Handle nav2 web app - # I.e. main landing page - handle_path /nav2/* { - root * {http.vars.root}/nav2 - import mobile - # Render markdown files as html - templates - } - - # Matcher for requests without browse query - @no_browse { - path / - not query browse=true - } - # Redirect to nav2 web app by default - redir @no_browse /nav2/ - - # Import app snippets for web apps - import app "/gzweb" "localhost:9090" "dummy" - import app "/foxglove" "localhost:8765" "redirect" - - # Handle glances web app - redir /glances /glances/ - handle_path /glances/* { - import mobile - # Reverse proxy to glances backend - reverse_proxy * "localhost:61208" - } - - # For debugging - # log { - # output file /var/log/caddy/server.log - # } -} diff --git a/navigation2/.devcontainer/caddy/srv/assets/foxglove/manifest.json b/navigation2/.devcontainer/caddy/srv/assets/foxglove/manifest.json deleted file mode 100644 index 0b9b8b8..0000000 --- a/navigation2/.devcontainer/caddy/srv/assets/foxglove/manifest.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "Foxglove: {{placeholder "http.vars.ReqHost"}}", - "short_name": "Foxglove: {{placeholder "http.vars.ReqHost"}}", - "icons": [ - { - "src": "/media/icons/foxglove/any_icon_x512.webp", - "sizes": "512x512", - "type": "image/webp", - "purpose": "any" - }, - { - "src": "/media/icons/foxglove/maskable_icon_x512.webp", - "sizes": "512x512", - "type": "image/webp", - "purpose": "maskable" - } - ], - "id": "/foxglove/", - "start_url": "/foxglove/autoconnect", - "theme_color": "#6F3BE8", - "background_color": "#6F3BE8", - "display": "fullscreen", - "shortcuts" : [ - { - "name": "Auto Connect", - "url": "/foxglove/autoconnect", - "description": "Auto connect to default data source" - }, - { - "name": "Auto Layout", - "url": "/foxglove/autolayout", - "description": "Auto connect using default layout" - }, - { - "name": "Manual Connect", - "url": "/foxglove/", - "description": "Manually connect to data source" - } - ] -} diff --git a/navigation2/.devcontainer/caddy/srv/assets/foxglove/nav2_layout.json b/navigation2/.devcontainer/caddy/srv/assets/foxglove/nav2_layout.json deleted file mode 100644 index f92821f..0000000 --- a/navigation2/.devcontainer/caddy/srv/assets/foxglove/nav2_layout.json +++ /dev/null @@ -1,463 +0,0 @@ -{ - "configById": { - "3D!18i6zy7": { - "layers": { - "845139cb-26bc-40b3-8161-8ab60af4baf5": { - "visible": true, - "frameLocked": true, - "label": "Grid", - "instanceId": "845139cb-26bc-40b3-8161-8ab60af4baf5", - "layerId": "foxglove.Grid", - "size": 10, - "divisions": 10, - "lineWidth": 1, - "color": "#A0A0A4ff", - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "order": 1 - } - }, - "cameraState": { - "perspective": true, - "distance": 21.05263157877764, - "phi": 38.925517117715195, - "thetaOffset": -138.92710744521386, - "targetOffset": [ - -2.6847696124888896, - 0.2191229688744439, - 3.6086809432821955e-16 - ], - "target": [ - 0, - 0, - 0 - ], - "targetOrientation": [ - 0, - 0, - 0, - 1 - ], - "fovy": 45, - "near": 0.5, - "far": 5000 - }, - "followMode": "follow-pose", - "scene": { - "transforms": { - "showLabel": false, - "editable": false, - "labelSize": 0.049999999999999975, - "enablePreloading": false, - "lineWidth": 2 - } - }, - "transforms": { - "frame:camera_link": { - "visible": false - }, - "frame:camera_depth_frame": { - "visible": false - }, - "frame:camera_depth_optical_frame": { - "visible": false - }, - "frame:camera_rgb_frame": { - "visible": false - }, - "frame:camera_rgb_optical_frame": { - "visible": false - }, - "frame:imu_link": { - "visible": false - }, - "frame:caster_back_right_link": { - "visible": false - }, - "frame:caster_back_left_link": { - "visible": false - }, - "frame:odom": { - "visible": true - }, - "frame:base_footprint": { - "visible": true - }, - "frame:wheel_left_link": { - "visible": false - }, - "frame:wheel_right_link": { - "visible": false - }, - "frame:base_link": { - "visible": false - }, - "frame:base_scan": { - "visible": false - }, - "frame:map": { - "visible": true - } - }, - "topics": { - "/scan": { - "visible": true, - "colorField": "intensity", - "colorMode": "flat", - "colorMap": "turbo", - "pointSize": 5, - "flatColor": "#ff0000" - }, - "/global_costmap/costmap": { - "visible": true, - "maxColor": "#E800174d", - "unknownColor": "#5700ff4d", - "minColor": "#ffffff4d", - "invalidColor": "#ff00ff4d", - "colorMode": "costmap", - "alpha": 0.3 - }, - "/global_costmap/obstacle_layer": { - "visible": false - }, - "/global_costmap/voxel_marked_cloud": { - "visible": false - }, - "/goal_pose": { - "visible": false - }, - "/local_costmap/costmap": { - "visible": false - }, - "/local_costmap/voxel_layer": { - "visible": false - }, - "/local_costmap/clearing_endpoints": { - "visible": false, - "colorField": "x", - "colorMode": "colormap", - "colorMap": "turbo" - }, - "/map": { - "visible": true, - "minColor": "#ffffff", - "maxColor": "#000000", - "unknownColor": "#708986ff", - "frameLocked": false, - "colorMode": "map" - }, - "/amcl_pose": { - "visible": false - }, - "/local_plan": { - "visible": true, - "lineWidth": 0.01, - "gradient": [ - "#c8ff00c7", - "#00c8ffba" - ] - }, - "/plan": { - "visible": false, - "gradient": [ - "rgba(124, 107, 255, 1)", - "#ff6b6b" - ], - "lineWidth": 1 - }, - "/plan_smoothed": { - "visible": false - }, - "/received_global_plan": { - "visible": true, - "gradient": [ - "#ff0000c7", - "#6b70ffc2" - ], - "lineWidth": 0.02, - "type": "line", - "arrowScale": [ - 0.02, - 0.0015, - 0.0015 - ] - }, - "/transformed_global_plan": { - "visible": false - }, - "/robot_description": { - "visible": false - }, - "/cost_cloud": { - "visible": false - }, - "/initialpose": { - "visible": false - } - }, - "publish": { - "type": "pose_estimate", - "poseTopic": "/move_base_simple/goal", - "pointTopic": "", - "poseEstimateTopic": "/initialpose", - "poseEstimateXDeviation": 0.5, - "poseEstimateYDeviation": 0.5, - "poseEstimateThetaDeviation": 0.26179939 - }, - "followTf": "map" - }, - "DiagnosticSummary!3bo4e39": { - "minLevel": 0, - "pinnedIds": [], - "hardwareIdFilter": "", - "topicToRender": "/diagnostics", - "sortByLevel": true - }, - "RosOut!1iib9dq": { - "searchTerms": [], - "minLogLevel": 1 - }, - "3D!2agiaqk": { - "layers": { - "845139cb-26bc-40b3-8161-8ab60af4baf5": { - "visible": false, - "frameLocked": true, - "label": "Grid", - "instanceId": "845139cb-26bc-40b3-8161-8ab60af4baf5", - "layerId": "foxglove.Grid", - "size": 10, - "divisions": 10, - "lineWidth": 1, - "color": "#A0A0A4ff", - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "order": 1 - } - }, - "cameraState": { - "perspective": true, - "distance": 4.078136514883917, - "phi": 56.068374260572, - "thetaOffset": 92.50000000000723, - "targetOffset": [ - 0.03816360663426963, - 0.15755079607173259, - 7.341598429161142e-18 - ], - "target": [ - 0, - 0, - 0 - ], - "targetOrientation": [ - 0, - 0, - 0, - 1 - ], - "fovy": 45, - "near": 0.5, - "far": 5000 - }, - "followMode": "follow-pose", - "scene": { - "transforms": { - "showLabel": true, - "editable": false, - "labelSize": 0.049999999999999975, - "enablePreloading": false, - "lineWidth": 2 - } - }, - "transforms": { - "frame:camera_link": { - "visible": false - }, - "frame:camera_depth_frame": { - "visible": false - }, - "frame:camera_depth_optical_frame": { - "visible": false - }, - "frame:camera_rgb_frame": { - "visible": false - }, - "frame:camera_rgb_optical_frame": { - "visible": false - }, - "frame:imu_link": { - "visible": false - }, - "frame:caster_back_right_link": { - "visible": false - }, - "frame:caster_back_left_link": { - "visible": false - }, - "frame:odom": { - "visible": true - }, - "frame:base_footprint": { - "visible": true - }, - "frame:wheel_left_link": { - "visible": false - }, - "frame:wheel_right_link": { - "visible": false - }, - "frame:base_link": { - "visible": false - }, - "frame:base_scan": { - "visible": false - }, - "frame:map": { - "visible": true - } - }, - "topics": { - "/scan": { - "visible": true, - "colorField": "intensity", - "colorMode": "flat", - "colorMap": "turbo", - "pointSize": 5, - "flatColor": "#ff0000" - }, - "/global_costmap/costmap": { - "visible": true, - "maxColor": "#E800174d", - "unknownColor": "#5700ff4d", - "minColor": "#ffffff4d", - "invalidColor": "#ff00ff4d", - "colorMode": "costmap", - "alpha": 0.3 - }, - "/global_costmap/obstacle_layer": { - "visible": false - }, - "/global_costmap/voxel_marked_cloud": { - "visible": false - }, - "/goal_pose": { - "visible": false - }, - "/local_costmap/costmap": { - "visible": false - }, - "/local_costmap/voxel_layer": { - "visible": false - }, - "/local_costmap/clearing_endpoints": { - "visible": false, - "colorField": "x", - "colorMode": "colormap", - "colorMap": "turbo" - }, - "/map": { - "visible": true, - "minColor": "#ffffff", - "maxColor": "#000000", - "unknownColor": "#708986ff", - "frameLocked": false, - "colorMode": "map" - }, - "/amcl_pose": { - "visible": false - }, - "/local_plan": { - "visible": true, - "lineWidth": 0.01, - "gradient": [ - "#c8ff00c7", - "#00c8ffba" - ] - }, - "/plan": { - "visible": false, - "gradient": [ - "rgba(124, 107, 255, 1)", - "#ff6b6b" - ], - "lineWidth": 1 - }, - "/plan_smoothed": { - "visible": false - }, - "/received_global_plan": { - "visible": true, - "gradient": [ - "#ff0000c7", - "#6b70ffc2" - ], - "lineWidth": 0.02, - "type": "line", - "arrowScale": [ - 0.02, - 0.0015, - 0.0015 - ] - }, - "/transformed_global_plan": { - "visible": false - }, - "/robot_description": { - "visible": true - }, - "/cost_cloud": { - "visible": false - }, - "/initialpose": { - "visible": false - } - }, - "publish": { - "type": "pose_estimate", - "poseTopic": "/move_base_simple/goal", - "pointTopic": "", - "poseEstimateTopic": "/initialpose", - "poseEstimateXDeviation": 0.5, - "poseEstimateYDeviation": 0.5, - "poseEstimateThetaDeviation": 0.26179939 - }, - "followTf": "base_link" - } - }, - "globalVariables": {}, - "userNodes": {}, - "playbackConfig": { - "speed": 1 - }, - "layout": { - "first": "3D!18i6zy7", - "second": { - "first": "DiagnosticSummary!3bo4e39", - "second": { - "first": "RosOut!1iib9dq", - "second": "3D!2agiaqk", - "direction": "column" - }, - "direction": "column", - "splitPercentage": 28.227360308285164 - }, - "direction": "row", - "splitPercentage": 74.87855655794587 - } - } \ No newline at end of file diff --git a/navigation2/.devcontainer/caddy/srv/assets/glances/manifest.json b/navigation2/.devcontainer/caddy/srv/assets/glances/manifest.json deleted file mode 100644 index 78d27cb..0000000 --- a/navigation2/.devcontainer/caddy/srv/assets/glances/manifest.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "Glances: {{placeholder "http.vars.ReqHost"}}", - "short_name": "Glances: {{placeholder "http.vars.ReqHost"}}", - "icons": [ - { - "src": "/media/icons/glances/any_icon_x512.webp", - "sizes": "512x512", - "type": "image/webp", - "purpose": "any" - }, - { - "src": "/media/icons/glances/maskable_icon_x512.webp", - "sizes": "512x512", - "type": "image/webp", - "purpose": "maskable" - } - ], - "id": "/glances/", - "start_url": "/glances/", - "theme_color": "#2C363F", - "background_color": "#2C363F", - "display": "fullscreen", - "shortcuts" : [ - { - "name": "Refresh 1sec", - "url": "/glances/1", - "description": "Refresh page every 1 second" - }, - { - "name": "Refresh 5sec", - "url": "/glances/5", - "description": "Refresh page every 5 seconds" - }, - { - "name": "Refresh 10sec", - "url": "/glances/10", - "description": "Refresh page every 10 seconds" - } - ] -} diff --git a/navigation2/.devcontainer/caddy/srv/assets/gzweb/manifest.json b/navigation2/.devcontainer/caddy/srv/assets/gzweb/manifest.json deleted file mode 100644 index 0596075..0000000 --- a/navigation2/.devcontainer/caddy/srv/assets/gzweb/manifest.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "Gzweb: {{placeholder "http.vars.ReqHost"}}", - "short_name": "Gzweb: {{placeholder "http.vars.ReqHost"}}", - "icons": [ - { - "src": "/media/icons/gzweb/any_icon_x512.webp", - "sizes": "512x512", - "type": "image/webp", - "purpose": "any" - }, - { - "src": "/media/icons/gzweb/maskable_icon_x512.webp", - "sizes": "512x512", - "type": "image/webp", - "purpose": "maskable" - } - ], - "id": "/gzweb/", - "start_url": "/gzweb/", - "theme_color": "#ffffff", - "background_color": "#ffffff", - "display": "fullscreen" -} diff --git a/navigation2/.devcontainer/caddy/srv/assets/nav2/manifest.json b/navigation2/.devcontainer/caddy/srv/assets/nav2/manifest.json deleted file mode 100644 index f482a47..0000000 --- a/navigation2/.devcontainer/caddy/srv/assets/nav2/manifest.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "Nav2: {{placeholder "http.vars.ReqHost"}}", - "short_name": "Nav2: {{placeholder "http.vars.ReqHost"}}", - "icons": [ - { - "src": "/media/icons/nav2/any_icon_x512.webp", - "sizes": "512x512", - "type": "image/webp", - "purpose": "any" - }, - { - "src": "/media/icons/nav2/maskable_icon_x512.webp", - "sizes": "512x512", - "type": "image/webp", - "purpose": "maskable" - } - ], - "id": "/nav2/", - "start_url": "/nav2/", - "theme_color": "#ffffff", - "background_color": "#ffffff", - "display": "standalone" -} diff --git a/navigation2/.devcontainer/caddy/srv/nav2/github-markdown.css b/navigation2/.devcontainer/caddy/srv/nav2/github-markdown.css deleted file mode 100644 index 049cae6..0000000 --- a/navigation2/.devcontainer/caddy/srv/nav2/github-markdown.css +++ /dev/null @@ -1,1102 +0,0 @@ -@media (prefers-color-scheme: dark) { - .markdown-body { - color-scheme: dark; - --color-prettylights-syntax-comment: #8b949e; - --color-prettylights-syntax-constant: #79c0ff; - --color-prettylights-syntax-entity: #d2a8ff; - --color-prettylights-syntax-storage-modifier-import: #c9d1d9; - --color-prettylights-syntax-entity-tag: #7ee787; - --color-prettylights-syntax-keyword: #ff7b72; - --color-prettylights-syntax-string: #a5d6ff; - --color-prettylights-syntax-variable: #ffa657; - --color-prettylights-syntax-brackethighlighter-unmatched: #f85149; - --color-prettylights-syntax-invalid-illegal-text: #f0f6fc; - --color-prettylights-syntax-invalid-illegal-bg: #8e1519; - --color-prettylights-syntax-carriage-return-text: #f0f6fc; - --color-prettylights-syntax-carriage-return-bg: #b62324; - --color-prettylights-syntax-string-regexp: #7ee787; - --color-prettylights-syntax-markup-list: #f2cc60; - --color-prettylights-syntax-markup-heading: #1f6feb; - --color-prettylights-syntax-markup-italic: #c9d1d9; - --color-prettylights-syntax-markup-bold: #c9d1d9; - --color-prettylights-syntax-markup-deleted-text: #ffdcd7; - --color-prettylights-syntax-markup-deleted-bg: #67060c; - --color-prettylights-syntax-markup-inserted-text: #aff5b4; - --color-prettylights-syntax-markup-inserted-bg: #033a16; - --color-prettylights-syntax-markup-changed-text: #ffdfb6; - --color-prettylights-syntax-markup-changed-bg: #5a1e02; - --color-prettylights-syntax-markup-ignored-text: #c9d1d9; - --color-prettylights-syntax-markup-ignored-bg: #1158c7; - --color-prettylights-syntax-meta-diff-range: #d2a8ff; - --color-prettylights-syntax-brackethighlighter-angle: #8b949e; - --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58; - --color-prettylights-syntax-constant-other-reference-link: #a5d6ff; - --color-fg-default: #c9d1d9; - --color-fg-muted: #8b949e; - --color-fg-subtle: #6e7681; - --color-canvas-default: #0d1117; - --color-canvas-subtle: #161b22; - --color-border-default: #30363d; - --color-border-muted: #21262d; - --color-neutral-muted: rgba(110,118,129,0.4); - --color-accent-fg: #58a6ff; - --color-accent-emphasis: #1f6feb; - --color-attention-subtle: rgba(187,128,9,0.15); - --color-danger-fg: #f85149; - } - } - - @media (prefers-color-scheme: light) { - .markdown-body { - color-scheme: light; - --color-prettylights-syntax-comment: #6e7781; - --color-prettylights-syntax-constant: #0550ae; - --color-prettylights-syntax-entity: #8250df; - --color-prettylights-syntax-storage-modifier-import: #24292f; - --color-prettylights-syntax-entity-tag: #116329; - --color-prettylights-syntax-keyword: #cf222e; - --color-prettylights-syntax-string: #0a3069; - --color-prettylights-syntax-variable: #953800; - --color-prettylights-syntax-brackethighlighter-unmatched: #82071e; - --color-prettylights-syntax-invalid-illegal-text: #f6f8fa; - --color-prettylights-syntax-invalid-illegal-bg: #82071e; - --color-prettylights-syntax-carriage-return-text: #f6f8fa; - --color-prettylights-syntax-carriage-return-bg: #cf222e; - --color-prettylights-syntax-string-regexp: #116329; - --color-prettylights-syntax-markup-list: #3b2300; - --color-prettylights-syntax-markup-heading: #0550ae; - --color-prettylights-syntax-markup-italic: #24292f; - --color-prettylights-syntax-markup-bold: #24292f; - --color-prettylights-syntax-markup-deleted-text: #82071e; - --color-prettylights-syntax-markup-deleted-bg: #ffebe9; - --color-prettylights-syntax-markup-inserted-text: #116329; - --color-prettylights-syntax-markup-inserted-bg: #dafbe1; - --color-prettylights-syntax-markup-changed-text: #953800; - --color-prettylights-syntax-markup-changed-bg: #ffd8b5; - --color-prettylights-syntax-markup-ignored-text: #eaeef2; - --color-prettylights-syntax-markup-ignored-bg: #0550ae; - --color-prettylights-syntax-meta-diff-range: #8250df; - --color-prettylights-syntax-brackethighlighter-angle: #57606a; - --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f; - --color-prettylights-syntax-constant-other-reference-link: #0a3069; - --color-fg-default: #24292f; - --color-fg-muted: #57606a; - --color-fg-subtle: #6e7781; - --color-canvas-default: #ffffff; - --color-canvas-subtle: #f6f8fa; - --color-border-default: #d0d7de; - --color-border-muted: hsla(210,18%,87%,1); - --color-neutral-muted: rgba(175,184,193,0.2); - --color-accent-fg: #0969da; - --color-accent-emphasis: #0969da; - --color-attention-subtle: #fff8c5; - --color-danger-fg: #cf222e; - } - } - - .markdown-body { - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; - margin: 0; - color: var(--color-fg-default); - background-color: var(--color-canvas-default); - font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; - font-size: 16px; - line-height: 1.5; - word-wrap: break-word; - } - - .markdown-body .octicon { - display: inline-block; - fill: currentColor; - vertical-align: text-bottom; - } - - .markdown-body h1:hover .anchor .octicon-link:before, - .markdown-body h2:hover .anchor .octicon-link:before, - .markdown-body h3:hover .anchor .octicon-link:before, - .markdown-body h4:hover .anchor .octicon-link:before, - .markdown-body h5:hover .anchor .octicon-link:before, - .markdown-body h6:hover .anchor .octicon-link:before { - width: 16px; - height: 16px; - content: ' '; - display: inline-block; - background-color: currentColor; - -webkit-mask-image: url("data:image/svg+xml,"); - mask-image: url("data:image/svg+xml,"); - } - - .markdown-body details, - .markdown-body figcaption, - .markdown-body figure { - display: block; - } - - .markdown-body summary { - display: list-item; - } - - .markdown-body [hidden] { - display: none !important; - } - - .markdown-body a { - background-color: transparent; - color: var(--color-accent-fg); - text-decoration: none; - } - - .markdown-body abbr[title] { - border-bottom: none; - text-decoration: underline dotted; - } - - .markdown-body b, - .markdown-body strong { - font-weight: var(--base-text-weight-semibold, 600); - } - - .markdown-body dfn { - font-style: italic; - } - - .markdown-body h1 { - margin: .67em 0; - font-weight: var(--base-text-weight-semibold, 600); - padding-bottom: .3em; - font-size: 2em; - border-bottom: 1px solid var(--color-border-muted); - } - - .markdown-body mark { - background-color: var(--color-attention-subtle); - color: var(--color-fg-default); - } - - .markdown-body small { - font-size: 90%; - } - - .markdown-body sub, - .markdown-body sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; - } - - .markdown-body sub { - bottom: -0.25em; - } - - .markdown-body sup { - top: -0.5em; - } - - .markdown-body img { - border-style: none; - max-width: 100%; - box-sizing: content-box; - background-color: var(--color-canvas-default); - } - - .markdown-body code, - .markdown-body kbd, - .markdown-body pre, - .markdown-body samp { - font-family: monospace; - font-size: 1em; - } - - .markdown-body figure { - margin: 1em 40px; - } - - .markdown-body hr { - box-sizing: content-box; - overflow: hidden; - background: transparent; - border-bottom: 1px solid var(--color-border-muted); - height: .25em; - padding: 0; - margin: 24px 0; - background-color: var(--color-border-default); - border: 0; - } - - .markdown-body input { - font: inherit; - margin: 0; - overflow: visible; - font-family: inherit; - font-size: inherit; - line-height: inherit; - } - - .markdown-body [type=button], - .markdown-body [type=reset], - .markdown-body [type=submit] { - -webkit-appearance: button; - } - - .markdown-body [type=checkbox], - .markdown-body [type=radio] { - box-sizing: border-box; - padding: 0; - } - - .markdown-body [type=number]::-webkit-inner-spin-button, - .markdown-body [type=number]::-webkit-outer-spin-button { - height: auto; - } - - .markdown-body [type=search]::-webkit-search-cancel-button, - .markdown-body [type=search]::-webkit-search-decoration { - -webkit-appearance: none; - } - - .markdown-body ::-webkit-input-placeholder { - color: inherit; - opacity: .54; - } - - .markdown-body ::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; - } - - .markdown-body a:hover { - text-decoration: underline; - } - - .markdown-body ::placeholder { - color: var(--color-fg-subtle); - opacity: 1; - } - - .markdown-body hr::before { - display: table; - content: ""; - } - - .markdown-body hr::after { - display: table; - clear: both; - content: ""; - } - - .markdown-body table { - border-spacing: 0; - border-collapse: collapse; - display: block; - width: max-content; - max-width: 100%; - overflow: auto; - } - - .markdown-body td, - .markdown-body th { - padding: 0; - } - - .markdown-body details summary { - cursor: pointer; - } - - .markdown-body details:not([open])>*:not(summary) { - display: none !important; - } - - .markdown-body a:focus, - .markdown-body [role=button]:focus, - .markdown-body input[type=radio]:focus, - .markdown-body input[type=checkbox]:focus { - outline: 2px solid var(--color-accent-fg); - outline-offset: -2px; - box-shadow: none; - } - - .markdown-body a:focus:not(:focus-visible), - .markdown-body [role=button]:focus:not(:focus-visible), - .markdown-body input[type=radio]:focus:not(:focus-visible), - .markdown-body input[type=checkbox]:focus:not(:focus-visible) { - outline: solid 1px transparent; - } - - .markdown-body a:focus-visible, - .markdown-body [role=button]:focus-visible, - .markdown-body input[type=radio]:focus-visible, - .markdown-body input[type=checkbox]:focus-visible { - outline: 2px solid var(--color-accent-fg); - outline-offset: -2px; - box-shadow: none; - } - - .markdown-body a:not([class]):focus, - .markdown-body a:not([class]):focus-visible, - .markdown-body input[type=radio]:focus, - .markdown-body input[type=radio]:focus-visible, - .markdown-body input[type=checkbox]:focus, - .markdown-body input[type=checkbox]:focus-visible { - outline-offset: 0; - } - - .markdown-body kbd { - display: inline-block; - padding: 3px 5px; - font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; - line-height: 10px; - color: var(--color-fg-default); - vertical-align: middle; - background-color: var(--color-canvas-subtle); - border: solid 1px var(--color-neutral-muted); - border-bottom-color: var(--color-neutral-muted); - border-radius: 6px; - box-shadow: inset 0 -1px 0 var(--color-neutral-muted); - } - - .markdown-body h1, - .markdown-body h2, - .markdown-body h3, - .markdown-body h4, - .markdown-body h5, - .markdown-body h6 { - margin-top: 24px; - margin-bottom: 16px; - font-weight: var(--base-text-weight-semibold, 600); - line-height: 1.25; - } - - .markdown-body h2 { - font-weight: var(--base-text-weight-semibold, 600); - padding-bottom: .3em; - font-size: 1.5em; - border-bottom: 1px solid var(--color-border-muted); - } - - .markdown-body h3 { - font-weight: var(--base-text-weight-semibold, 600); - font-size: 1.25em; - } - - .markdown-body h4 { - font-weight: var(--base-text-weight-semibold, 600); - font-size: 1em; - } - - .markdown-body h5 { - font-weight: var(--base-text-weight-semibold, 600); - font-size: .875em; - } - - .markdown-body h6 { - font-weight: var(--base-text-weight-semibold, 600); - font-size: .85em; - color: var(--color-fg-muted); - } - - .markdown-body p { - margin-top: 0; - margin-bottom: 10px; - } - - .markdown-body blockquote { - margin: 0; - padding: 0 1em; - color: var(--color-fg-muted); - border-left: .25em solid var(--color-border-default); - } - - .markdown-body ul, - .markdown-body ol { - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; - } - - .markdown-body ol ol, - .markdown-body ul ol { - list-style-type: lower-roman; - } - - .markdown-body ul ul ol, - .markdown-body ul ol ol, - .markdown-body ol ul ol, - .markdown-body ol ol ol { - list-style-type: lower-alpha; - } - - .markdown-body dd { - margin-left: 0; - } - - .markdown-body tt, - .markdown-body code, - .markdown-body samp { - font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; - font-size: 12px; - } - - .markdown-body pre { - margin-top: 0; - margin-bottom: 0; - font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; - font-size: 12px; - word-wrap: normal; - } - - .markdown-body .octicon { - display: inline-block; - overflow: visible !important; - vertical-align: text-bottom; - fill: currentColor; - } - - .markdown-body input::-webkit-outer-spin-button, - .markdown-body input::-webkit-inner-spin-button { - margin: 0; - -webkit-appearance: none; - appearance: none; - } - - .markdown-body::before { - display: table; - content: ""; - } - - .markdown-body::after { - display: table; - clear: both; - content: ""; - } - - .markdown-body>*:first-child { - margin-top: 0 !important; - } - - .markdown-body>*:last-child { - margin-bottom: 0 !important; - } - - .markdown-body a:not([href]) { - color: inherit; - text-decoration: none; - } - - .markdown-body .absent { - color: var(--color-danger-fg); - } - - .markdown-body .anchor { - float: left; - padding-right: 4px; - margin-left: -20px; - line-height: 1; - } - - .markdown-body .anchor:focus { - outline: none; - } - - .markdown-body p, - .markdown-body blockquote, - .markdown-body ul, - .markdown-body ol, - .markdown-body dl, - .markdown-body table, - .markdown-body pre, - .markdown-body details { - margin-top: 0; - margin-bottom: 16px; - } - - .markdown-body blockquote>:first-child { - margin-top: 0; - } - - .markdown-body blockquote>:last-child { - margin-bottom: 0; - } - - .markdown-body h1 .octicon-link, - .markdown-body h2 .octicon-link, - .markdown-body h3 .octicon-link, - .markdown-body h4 .octicon-link, - .markdown-body h5 .octicon-link, - .markdown-body h6 .octicon-link { - color: var(--color-fg-default); - vertical-align: middle; - visibility: hidden; - } - - .markdown-body h1:hover .anchor, - .markdown-body h2:hover .anchor, - .markdown-body h3:hover .anchor, - .markdown-body h4:hover .anchor, - .markdown-body h5:hover .anchor, - .markdown-body h6:hover .anchor { - text-decoration: none; - } - - .markdown-body h1:hover .anchor .octicon-link, - .markdown-body h2:hover .anchor .octicon-link, - .markdown-body h3:hover .anchor .octicon-link, - .markdown-body h4:hover .anchor .octicon-link, - .markdown-body h5:hover .anchor .octicon-link, - .markdown-body h6:hover .anchor .octicon-link { - visibility: visible; - } - - .markdown-body h1 tt, - .markdown-body h1 code, - .markdown-body h2 tt, - .markdown-body h2 code, - .markdown-body h3 tt, - .markdown-body h3 code, - .markdown-body h4 tt, - .markdown-body h4 code, - .markdown-body h5 tt, - .markdown-body h5 code, - .markdown-body h6 tt, - .markdown-body h6 code { - padding: 0 .2em; - font-size: inherit; - } - - .markdown-body summary h1, - .markdown-body summary h2, - .markdown-body summary h3, - .markdown-body summary h4, - .markdown-body summary h5, - .markdown-body summary h6 { - display: inline-block; - } - - .markdown-body summary h1 .anchor, - .markdown-body summary h2 .anchor, - .markdown-body summary h3 .anchor, - .markdown-body summary h4 .anchor, - .markdown-body summary h5 .anchor, - .markdown-body summary h6 .anchor { - margin-left: -40px; - } - - .markdown-body summary h1, - .markdown-body summary h2 { - padding-bottom: 0; - border-bottom: 0; - } - - .markdown-body ul.no-list, - .markdown-body ol.no-list { - padding: 0; - list-style-type: none; - } - - .markdown-body ol[type=a] { - list-style-type: lower-alpha; - } - - .markdown-body ol[type=A] { - list-style-type: upper-alpha; - } - - .markdown-body ol[type=i] { - list-style-type: lower-roman; - } - - .markdown-body ol[type=I] { - list-style-type: upper-roman; - } - - .markdown-body ol[type="1"] { - list-style-type: decimal; - } - - .markdown-body div>ol:not([type]) { - list-style-type: decimal; - } - - .markdown-body ul ul, - .markdown-body ul ol, - .markdown-body ol ol, - .markdown-body ol ul { - margin-top: 0; - margin-bottom: 0; - } - - .markdown-body li>p { - margin-top: 16px; - } - - .markdown-body li+li { - margin-top: .25em; - } - - .markdown-body dl { - padding: 0; - } - - .markdown-body dl dt { - padding: 0; - margin-top: 16px; - font-size: 1em; - font-style: italic; - font-weight: var(--base-text-weight-semibold, 600); - } - - .markdown-body dl dd { - padding: 0 16px; - margin-bottom: 16px; - } - - .markdown-body table th { - font-weight: var(--base-text-weight-semibold, 600); - } - - .markdown-body table th, - .markdown-body table td { - padding: 6px 13px; - border: 1px solid var(--color-border-default); - } - - .markdown-body table tr { - background-color: var(--color-canvas-default); - border-top: 1px solid var(--color-border-muted); - } - - .markdown-body table tr:nth-child(2n) { - background-color: var(--color-canvas-subtle); - } - - .markdown-body table img { - background-color: transparent; - } - - .markdown-body img[align=right] { - padding-left: 20px; - } - - .markdown-body img[align=left] { - padding-right: 20px; - } - - .markdown-body .emoji { - max-width: none; - vertical-align: text-top; - background-color: transparent; - } - - .markdown-body span.frame { - display: block; - overflow: hidden; - } - - .markdown-body span.frame>span { - display: block; - float: left; - width: auto; - padding: 7px; - margin: 13px 0 0; - overflow: hidden; - border: 1px solid var(--color-border-default); - } - - .markdown-body span.frame span img { - display: block; - float: left; - } - - .markdown-body span.frame span span { - display: block; - padding: 5px 0 0; - clear: both; - color: var(--color-fg-default); - } - - .markdown-body span.align-center { - display: block; - overflow: hidden; - clear: both; - } - - .markdown-body span.align-center>span { - display: block; - margin: 13px auto 0; - overflow: hidden; - text-align: center; - } - - .markdown-body span.align-center span img { - margin: 0 auto; - text-align: center; - } - - .markdown-body span.align-right { - display: block; - overflow: hidden; - clear: both; - } - - .markdown-body span.align-right>span { - display: block; - margin: 13px 0 0; - overflow: hidden; - text-align: right; - } - - .markdown-body span.align-right span img { - margin: 0; - text-align: right; - } - - .markdown-body span.float-left { - display: block; - float: left; - margin-right: 13px; - overflow: hidden; - } - - .markdown-body span.float-left span { - margin: 13px 0 0; - } - - .markdown-body span.float-right { - display: block; - float: right; - margin-left: 13px; - overflow: hidden; - } - - .markdown-body span.float-right>span { - display: block; - margin: 13px auto 0; - overflow: hidden; - text-align: right; - } - - .markdown-body code, - .markdown-body tt { - padding: .2em .4em; - margin: 0; - font-size: 85%; - white-space: break-spaces; - background-color: var(--color-neutral-muted); - border-radius: 6px; - } - - .markdown-body code br, - .markdown-body tt br { - display: none; - } - - .markdown-body del code { - text-decoration: inherit; - } - - .markdown-body samp { - font-size: 85%; - } - - .markdown-body pre code { - font-size: 100%; - } - - .markdown-body pre>code { - padding: 0; - margin: 0; - word-break: normal; - white-space: pre; - background: transparent; - border: 0; - } - - .markdown-body .highlight { - margin-bottom: 16px; - } - - .markdown-body .highlight pre { - margin-bottom: 0; - word-break: normal; - } - - .markdown-body .highlight pre, - .markdown-body pre { - padding: 16px; - overflow: auto; - font-size: 85%; - line-height: 1.45; - background-color: var(--color-canvas-subtle); - border-radius: 6px; - } - - .markdown-body pre code, - .markdown-body pre tt { - display: inline; - max-width: auto; - padding: 0; - margin: 0; - overflow: visible; - line-height: inherit; - word-wrap: normal; - background-color: transparent; - border: 0; - } - - .markdown-body .csv-data td, - .markdown-body .csv-data th { - padding: 5px; - overflow: hidden; - font-size: 12px; - line-height: 1; - text-align: left; - white-space: nowrap; - } - - .markdown-body .csv-data .blob-num { - padding: 10px 8px 9px; - text-align: right; - background: var(--color-canvas-default); - border: 0; - } - - .markdown-body .csv-data tr { - border-top: 0; - } - - .markdown-body .csv-data th { - font-weight: var(--base-text-weight-semibold, 600); - background: var(--color-canvas-subtle); - border-top: 0; - } - - .markdown-body [data-footnote-ref]::before { - content: "["; - } - - .markdown-body [data-footnote-ref]::after { - content: "]"; - } - - .markdown-body .footnotes { - font-size: 12px; - color: var(--color-fg-muted); - border-top: 1px solid var(--color-border-default); - } - - .markdown-body .footnotes ol { - padding-left: 16px; - } - - .markdown-body .footnotes ol ul { - display: inline-block; - padding-left: 16px; - margin-top: 16px; - } - - .markdown-body .footnotes li { - position: relative; - } - - .markdown-body .footnotes li:target::before { - position: absolute; - top: -8px; - right: -8px; - bottom: -8px; - left: -24px; - pointer-events: none; - content: ""; - border: 2px solid var(--color-accent-emphasis); - border-radius: 6px; - } - - .markdown-body .footnotes li:target { - color: var(--color-fg-default); - } - - .markdown-body .footnotes .data-footnote-backref g-emoji { - font-family: monospace; - } - - .markdown-body .pl-c { - color: var(--color-prettylights-syntax-comment); - } - - .markdown-body .pl-c1, - .markdown-body .pl-s .pl-v { - color: var(--color-prettylights-syntax-constant); - } - - .markdown-body .pl-e, - .markdown-body .pl-en { - color: var(--color-prettylights-syntax-entity); - } - - .markdown-body .pl-smi, - .markdown-body .pl-s .pl-s1 { - color: var(--color-prettylights-syntax-storage-modifier-import); - } - - .markdown-body .pl-ent { - color: var(--color-prettylights-syntax-entity-tag); - } - - .markdown-body .pl-k { - color: var(--color-prettylights-syntax-keyword); - } - - .markdown-body .pl-s, - .markdown-body .pl-pds, - .markdown-body .pl-s .pl-pse .pl-s1, - .markdown-body .pl-sr, - .markdown-body .pl-sr .pl-cce, - .markdown-body .pl-sr .pl-sre, - .markdown-body .pl-sr .pl-sra { - color: var(--color-prettylights-syntax-string); - } - - .markdown-body .pl-v, - .markdown-body .pl-smw { - color: var(--color-prettylights-syntax-variable); - } - - .markdown-body .pl-bu { - color: var(--color-prettylights-syntax-brackethighlighter-unmatched); - } - - .markdown-body .pl-ii { - color: var(--color-prettylights-syntax-invalid-illegal-text); - background-color: var(--color-prettylights-syntax-invalid-illegal-bg); - } - - .markdown-body .pl-c2 { - color: var(--color-prettylights-syntax-carriage-return-text); - background-color: var(--color-prettylights-syntax-carriage-return-bg); - } - - .markdown-body .pl-sr .pl-cce { - font-weight: bold; - color: var(--color-prettylights-syntax-string-regexp); - } - - .markdown-body .pl-ml { - color: var(--color-prettylights-syntax-markup-list); - } - - .markdown-body .pl-mh, - .markdown-body .pl-mh .pl-en, - .markdown-body .pl-ms { - font-weight: bold; - color: var(--color-prettylights-syntax-markup-heading); - } - - .markdown-body .pl-mi { - font-style: italic; - color: var(--color-prettylights-syntax-markup-italic); - } - - .markdown-body .pl-mb { - font-weight: bold; - color: var(--color-prettylights-syntax-markup-bold); - } - - .markdown-body .pl-md { - color: var(--color-prettylights-syntax-markup-deleted-text); - background-color: var(--color-prettylights-syntax-markup-deleted-bg); - } - - .markdown-body .pl-mi1 { - color: var(--color-prettylights-syntax-markup-inserted-text); - background-color: var(--color-prettylights-syntax-markup-inserted-bg); - } - - .markdown-body .pl-mc { - color: var(--color-prettylights-syntax-markup-changed-text); - background-color: var(--color-prettylights-syntax-markup-changed-bg); - } - - .markdown-body .pl-mi2 { - color: var(--color-prettylights-syntax-markup-ignored-text); - background-color: var(--color-prettylights-syntax-markup-ignored-bg); - } - - .markdown-body .pl-mdr { - font-weight: bold; - color: var(--color-prettylights-syntax-meta-diff-range); - } - - .markdown-body .pl-ba { - color: var(--color-prettylights-syntax-brackethighlighter-angle); - } - - .markdown-body .pl-sg { - color: var(--color-prettylights-syntax-sublimelinter-gutter-mark); - } - - .markdown-body .pl-corl { - text-decoration: underline; - color: var(--color-prettylights-syntax-constant-other-reference-link); - } - - .markdown-body g-emoji { - display: inline-block; - min-width: 1ch; - font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; - font-size: 1em; - font-style: normal !important; - font-weight: var(--base-text-weight-normal, 400); - line-height: 1; - vertical-align: -0.075em; - } - - .markdown-body g-emoji img { - width: 1em; - height: 1em; - } - - .markdown-body .task-list-item { - list-style-type: none; - } - - .markdown-body .task-list-item label { - font-weight: var(--base-text-weight-normal, 400); - } - - .markdown-body .task-list-item.enabled label { - cursor: pointer; - } - - .markdown-body .task-list-item+.task-list-item { - margin-top: 4px; - } - - .markdown-body .task-list-item .handle { - display: none; - } - - .markdown-body .task-list-item-checkbox { - margin: 0 .2em .25em -1.4em; - vertical-align: middle; - } - - .markdown-body .contains-task-list:dir(rtl) .task-list-item-checkbox { - margin: 0 -1.6em .25em .2em; - } - - .markdown-body .contains-task-list { - position: relative; - } - - .markdown-body .contains-task-list:hover .task-list-item-convert-container, - .markdown-body .contains-task-list:focus-within .task-list-item-convert-container { - display: block; - width: auto; - height: 24px; - overflow: visible; - clip: auto; - } - - .markdown-body ::-webkit-calendar-picker-indicator { - filter: invert(50%); - } \ No newline at end of file diff --git a/navigation2/.devcontainer/caddy/srv/nav2/index.html b/navigation2/.devcontainer/caddy/srv/nav2/index.html deleted file mode 100644 index 4bebe27..0000000 --- a/navigation2/.devcontainer/caddy/srv/nav2/index.html +++ /dev/null @@ -1,36 +0,0 @@ -{{$pathParts := splitList "/" .OriginalReq.URL.Path}} -{{$markdownFilename := default "index" (slice $pathParts 2 | join "/")}} -{{$markdownFilePath := printf "/%s.md" $markdownFilename}} -{{if not (fileExists $markdownFilePath)}}{{httpError 404}}{{end}} -{{$markdownFile := (include $markdownFilePath | splitFrontMatter)}} -{{$title := default $markdownFilename $markdownFile.Meta.title}} - - - - - - {{$title}} - - - - - - - -
{{markdown $markdownFile.Body}}
- - diff --git a/navigation2/.devcontainer/caddy/srv/nav2/index.md b/navigation2/.devcontainer/caddy/srv/nav2/index.md deleted file mode 100644 index 60e2db1..0000000 --- a/navigation2/.devcontainer/caddy/srv/nav2/index.md +++ /dev/null @@ -1,51 +0,0 @@ -{ - "title": "Nav2 App" -} -## Progressive Web Apps - -| PWAs | Shortcuts | -|-|-| -| [](/foxglove/autoconnect)
**Foxglove** | [**Auto Connect**](/foxglove/autoconnect)
[Auto Layout](/foxglove/autolayout)
[Manual](/foxglove/) | -| [](/gzweb/)
**Gzweb** | [**Auto Connect**](/gzweb/) | -| [](/glances/)
**Glances** | [**System Monitor**](/glances/)
[Refresh 1sec](/glances/1)
[Refresh 10sec](/glances/10) | -| [](/nav2/)
**Nav2** | [**App Launcher**](/nav2/)
[File Browser](/?browse=true) | - -## External Resources - -For more related documentation: - -- [Nav2 Documentation](https://navigation.ros.org) - - [Development Guides](https://navigation.ros.org/development_guides) - - [Dev Containers](https://navigation.ros.org/development_guides/devcontainer_docs) - -## Session Info - -Useful information about host server and remote client: - -|Key | Value | -|-|-| -| Host | `{{.Host}}` | -| Remote IP | `{{placeholder "http.request.remote.host"}}` | -| Date | `{{now}}` | - -### Server Diagnostics - -
-Websocket Debug - -For troubleshooting websocket connections: - -|Key | Value | -|-|-| -| `header.X-Forwarded-Host` | `{{placeholder "http.request.header.X-Forwarded-Host"}}` | -| `http.request.hostport` | `{{placeholder "http.request.hostport"}}` | -| `http.vars.ReqHost` | `{{placeholder "http.vars.ReqHost"}}` | - -|Key | Value | -|-|-| -| `http.request.scheme` | `{{placeholder "http.request.scheme"}}` | -| `header.X-Forwarded-Scheme` | `{{placeholder "http.request.header.X-Forwarded-Scheme"}}` | -| `header.X-Forwarded-Proto` | `{{placeholder "http.request.header.X-Forwarded-Proto"}}` | -| `http.vars.WsScheme` | `{{placeholder "http.vars.WsScheme"}}` | - -
diff --git a/navigation2/.devcontainer/devcontainer.json b/navigation2/.devcontainer/devcontainer.json deleted file mode 100644 index ddb2d13..0000000 --- a/navigation2/.devcontainer/devcontainer.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "name": "Nav2", - "build": { - "dockerfile": "../Dockerfile", - "context": "..", - "target": "visualizer", - "cacheFrom": "ghcr.io/ros-planning/navigation2:humble" - }, - "runArgs": [ - // "--cap-add=SYS_PTRACE", // enable debugging, e.g. gdb - // "--ipc=host", // shared memory transport with host, e.g. rviz GUIs - // "--network=host", // network access to host interfaces, e.g. eth0 - // "--pid=host", // DDS discovery with host, without --network=host - // "--privileged", // device access to host peripherals, e.g. USB - // "--security-opt=seccomp=unconfined", // enable debugging, e.g. gdb - ], - "workspaceFolder": "/opt/overlay_ws/src/navigation2", - "workspaceMount": "source=${localWorkspaceFolder},target=${containerWorkspaceFolder},type=bind", - "onCreateCommand": ".devcontainer/on-create-command.sh", - "updateContentCommand": ".devcontainer/update-content-command.sh", - "postCreateCommand": ".devcontainer/post-create-command.sh", - "remoteEnv": { - "OVERLAY_MIXINS": "release ccache lld", - "CCACHE_DIR": "/tmp/.ccache" - }, - "mounts": [ - { - "source": "ccache-${devcontainerId}", - "target": "/tmp/.ccache", - "type": "volume" - }, - { - "source": "overlay-${devcontainerId}", - "target": "/opt/overlay_ws", - "type": "volume" - } - ], - "features": { - // "ghcr.io/devcontainers/features/desktop-lite:1": {}, - "ghcr.io/devcontainers/features/github-cli:1": {} - }, - "customizations": { - "codespaces": { - "openFiles": [ - "doc/development/codespaces.md" - ] - }, - "vscode": { - "settings": {}, - "extensions": [ - "althack.ament-task-provider", - "eamodio.gitlens", - "esbenp.prettier-vscode", - "GitHub.copilot", - "ms-iot.vscode-ros", - "streetsidesoftware.code-spell-checker", - "twxs.cmake" - ] - } - } -} diff --git a/navigation2/.devcontainer/on-create-command.sh b/navigation2/.devcontainer/on-create-command.sh deleted file mode 100755 index f86d22b..0000000 --- a/navigation2/.devcontainer/on-create-command.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -# Immediately catch all errors -set -eo pipefail - -# Uncomment for debugging -# set -x -# env - -git config --global --add safe.directory "*" - -.devcontainer/update-content-command.sh diff --git a/navigation2/.devcontainer/post-create-command.sh b/navigation2/.devcontainer/post-create-command.sh deleted file mode 100755 index 9f64a2c..0000000 --- a/navigation2/.devcontainer/post-create-command.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -# Immediately catch all errors -set -eo pipefail - -# Uncomment for debugging -# set -x -# env - -# Enable autocomplete for user -cp /etc/skel/.bashrc ~/ - -# Check if srv folder exists -if [ -d "$ROOT_SRV" ]; then - # Setup Nav2 web app - for dir in $OVERLAY_WS/src/navigation2/.devcontainer/caddy/srv/*; \ - do if [ -d "$dir" ]; then ln -s "$dir" $ROOT_SRV; fi done -fi diff --git a/navigation2/.devcontainer/update-content-command.sh b/navigation2/.devcontainer/update-content-command.sh deleted file mode 100755 index 2bdbf5c..0000000 --- a/navigation2/.devcontainer/update-content-command.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash - -# Immediately catch all errors -set -eo pipefail - -# Uncomment for debugging -# set -x -# env - -cd $OVERLAY_WS - -colcon cache lock - -BUILD_UNFINISHED=$( - colcon list \ - --names-only \ - --packages-skip-build-finished \ - | xargs) -echo BUILD_UNFINISHED: $BUILD_UNFINISHED - -BUILD_FAILED=$( - colcon list \ - --names-only \ - --packages-select-build-failed \ - | xargs) -echo BUILD_FAILED: $BUILD_FAILED - -BUILD_INVALID=$( - colcon list \ - --names-only \ - --packages-select-cache-invalid \ - --packages-select-cache-key build \ - | xargs) -echo BUILD_INVALID: $BUILD_INVALID - -BUILD_PACKAGES="" -if [ -n "$BUILD_UNFINISHED" ] || \ - [ -n "$BUILD_FAILED" ] || \ - [ -n "$BUILD_INVALID" ] -then - BUILD_PACKAGES=$( - colcon list \ - --names-only \ - --packages-above \ - $BUILD_UNFINISHED \ - $BUILD_FAILED \ - $BUILD_INVALID \ - | xargs) -fi -echo BUILD_PACKAGES: $BUILD_PACKAGES - -# colcon clean packages --yes \ -# --packages-select ${BUILD_PACKAGES} \ -# --base-select install - -. $UNDERLAY_WS/install/setup.sh -colcon build \ - --symlink-install \ - --mixin $OVERLAY_MIXINS \ - --packages-select ${BUILD_PACKAGES} diff --git a/navigation2/.dockerignore b/navigation2/.dockerignore deleted file mode 100644 index 19c4cc5..0000000 --- a/navigation2/.dockerignore +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# Repo - -.circleci/ -.devcontainer/ -.dockerignore -.git/ -.github/ -.gitignore -**.Dockerfile -**Dockerfile -doc/ diff --git a/navigation2/.github/ISSUE_TEMPLATE.md b/navigation2/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 884227e..0000000 --- a/navigation2/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,45 +0,0 @@ - - -## Bug report - -**Required Info:** - -- Operating System: - - -- ROS2 Version: - - -- Version or commit hash: - - -- DDS implementation: - - - -#### Steps to reproduce issue - -``` - -``` - -#### Expected behavior - -#### Actual behavior - -#### Additional information - - ----- -## Feature request - -#### Feature description - - -#### Implementation considerations - diff --git a/navigation2/.github/PULL_REQUEST_TEMPLATE.md b/navigation2/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 630c2a0..0000000 --- a/navigation2/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,46 +0,0 @@ - - ---- - -## Basic Info - -| Info | Please fill out this column | -| ------ | ----------- | -| Ticket(s) this addresses | (add tickets here #1) | -| Primary OS tested on | (Ubuntu, MacOS, Windows) | -| Robotic platform tested on | (Steve's Robot, gazebo simulation of Tally, hardware turtlebot) | - ---- - -## Description of contribution in a few bullet points - - - -## Description of documentation updates required from your changes - - - ---- - -## Future work that may be required in bullet points - - - -#### For Maintainers: -- [ ] Check that any new parameters added are updated in navigation.ros.org -- [ ] Check that any significant change is added to the migration guide -- [ ] Check that any new features **OR** changes to existing behaviors are reflected in the tuning guide -- [ ] Check that any new functions have Doxygen added -- [ ] Check that any new features have test coverage -- [ ] Check that any new plugins is added to the plugins page -- [ ] If BT Node, Additionally: add to BT's XML index of nodes for groot, BT package's readme table, and BT library lists diff --git a/navigation2/.github/dependabot.yml b/navigation2/.github/dependabot.yml deleted file mode 100644 index 3017359..0000000 --- a/navigation2/.github/dependabot.yml +++ /dev/null @@ -1,14 +0,0 @@ -version: 2 -updates: - - package-ecosystem: "docker" - directory: "/" - schedule: - interval: "daily" - commit-message: - prefix: "ðŸ³" - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "daily" - commit-message: - prefix: "🛠ï¸" diff --git a/navigation2/.github/mergify.yml b/navigation2/.github/mergify.yml deleted file mode 100644 index 3713a42..0000000 --- a/navigation2/.github/mergify.yml +++ /dev/null @@ -1,73 +0,0 @@ -pull_request_rules: - - name: backport to galactic at reviewers discretion - conditions: - - base=main - - "label=backport-galactic" - actions: - backport: - branches: - - galactic - - - name: backport to foxy at reviewers discretion - conditions: - - base=main - - "label=backport-foxy" - actions: - backport: - branches: - - foxy-devel - - - name: delete head branch after merge - conditions: - - merged - actions: - delete_head_branch: - - - name: ask to resolve conflict - conditions: - - conflict - - author!=mergify - actions: - comment: - message: This pull request is in conflict. Could you fix it @{{author}}? - - - name: development targets main branch - conditions: - - base!=main - - author!=SteveMacenski - - author!=mergify - actions: - comment: - message: | - @{{author}}, all pull requests must be targeted towards the `main` development branch. - Once merged into `main`, it is possible to backport to @{{base}}, but it must be in `main` - to have these changes reflected into new distributions. - - - name: Main build failures - conditions: - - base=main - - or: - - "check-failure=ci/circleci: debug_build" - - "check-failure=ci/circleci: release_build" - actions: - comment: - message: | - @{{author}}, your PR has failed to build. Please check CI outputs and resolve issues. - You may need to rebase or pull in `main` due to API changes (or your contribution genuinely fails). - - - name: Removed maintainer checklist - conditions: - - "-body~=^.*#### For Maintainers: .*$" - - author!=SteveMacenski - - author!=mergify - actions: - comment: - message: | - @{{author}}, please properly fill in PR template in the future. @stevemacenski, use this instead. - - [ ] Check that any new parameters added are updated in navigation.ros.org - - [ ] Check that any significant change is added to the migration guide - - [ ] Check that any new features **OR** changes to existing behaviors are reflected in the tuning guide - - [ ] Check that any new functions have Doxygen added - - [ ] Check that any new features have test coverage - - [ ] Check that any new plugins is added to the plugins page - - [ ] If BT Node, Additionally: add to BT's XML index of nodes for groot, BT package's readme table, and BT library lists diff --git a/navigation2/.github/workflows/update_ci_image.yaml b/navigation2/.github/workflows/update_ci_image.yaml deleted file mode 100644 index e31bb21..0000000 --- a/navigation2/.github/workflows/update_ci_image.yaml +++ /dev/null @@ -1,132 +0,0 @@ ---- -name: Update CI Image - -on: - schedule: - # 7am UTC, 12am PDT - - cron: '0 7 * * *' - push: - branches: - - main - - jazzy - - humble - paths: - - '**/package.xml' - - '**/*.repos' - - 'Dockerfile' - - '.github/workflows/update_ci_image.yaml' - -jobs: - check_ci_files: - name: Check CI Files - runs-on: ubuntu-latest - outputs: - trigger: ${{ steps.check.outputs.trigger }} - no_cache: ${{ steps.check.outputs.no_cache }} - steps: - - name: "Check package updates" - id: check - if: github.event_name == 'push' - run: | - echo "trigger=true" >> $GITHUB_OUTPUT - echo "no_cache=false" >> $GITHUB_OUTPUT - check_ci_image: - name: Check CI Image - if: github.event_name == 'schedule' - needs: check_ci_files - runs-on: ubuntu-latest - outputs: - trigger: ${{ steps.check.outputs.trigger }} - no_cache: ${{ steps.check.outputs.no_cache }} - container: - image: ghcr.io/${{ github.repository }}:${{ github.ref_name }} - steps: - - name: "Check apt updates" - id: check - env: - SOURCELIST: sources.list.d/ros2.list - run: | - apt-get update \ - -o Dir::Etc::sourcelist="${SOURCELIST}" - apt-get --simulate upgrade \ - -o Dir::Etc::sourcelist="${SOURCELIST}" \ - > upgrade.log - cat upgrade.log - cat upgrade.log \ - | grep "^0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.$" \ - && echo "trigger=false" >> $GITHUB_OUTPUT \ - || echo "trigger=true" >> $GITHUB_OUTPUT - echo "no_cache=true" >> $GITHUB_OUTPUT - rebuild_ci_image: - name: Rebuild CI Image - if: always() - needs: - - check_ci_files - - check_ci_image - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Login to Docker Hub - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Set build config - id: config - run: | - created=$(date -u +'%Y-%m-%dT%H:%M:%SZ') - echo "created=${created}" >> $GITHUB_OUTPUT - - version=$(grep -oP '(?<=).*?(?=)' navigation2/package.xml) - echo "version=${version}" >> $GITHUB_OUTPUT - - no_cache=false - if [ "${{needs.check_ci_files.outputs.no_cache}}" == 'true' ] || \ - [ "${{needs.check_ci_image.outputs.no_cache}}" == 'true' ] - then - no_cache=true - fi - echo "no_cache=${no_cache}" >> $GITHUB_OUTPUT - - trigger=false - if [ "${{needs.check_ci_files.outputs.trigger}}" == 'true' ] || \ - [ "${{needs.check_ci_image.outputs.trigger}}" == 'true' ] - then - trigger=true - fi - echo "trigger=${trigger}" >> $GITHUB_OUTPUT - - name: Build and push ${{ github.ref_name }} - if: steps.config.outputs.trigger == 'true' - id: docker_build - uses: docker/build-push-action@v3 - with: - context: . - pull: true - push: true - provenance: false - no-cache: ${{ steps.config.outputs.no_cache }} - cache-from: type=registry,ref=ghcr.io/${{ github.repository }}:${{ github.ref_name }} - cache-to: type=inline - target: builder - tags: | - ghcr.io/${{ github.repository }}:${{ github.ref_name }} - ghcr.io/${{ github.repository }}:${{ github.ref_name }}-${{ steps.config.outputs.version }} - labels: | - org.opencontainers.image.authors=${{ github.event.repository.owner.html_url }} - org.opencontainers.image.created=${{ steps.config.outputs.created }} - org.opencontainers.image.description=${{ github.event.repository.description }} - org.opencontainers.image.documentation=${{ github.event.repository.homepage }} - org.opencontainers.image.licenses=${{ github.event.repository.license.spdx_id }} - org.opencontainers.image.ref.name=${{ github.ref }} - org.opencontainers.image.revision=${{ github.sha }} - org.opencontainers.image.source=${{ github.event.repository.clone_url }} - org.opencontainers.image.title=${{ github.event.repository.name }} - org.opencontainers.image.url=${{ github.event.repository.html_url }} - org.opencontainers.image.vendor=${{ github.event.repository.owner.login }} - org.opencontainers.image.version=${{ steps.config.outputs.version }} - - name: Image digest - if: steps.config.outputs.trigger == 'true' - run: echo ${{ steps.docker_build.outputs.digest }} diff --git a/navigation2/.gitignore b/navigation2/.gitignore deleted file mode 100644 index 21696be..0000000 --- a/navigation2/.gitignore +++ /dev/null @@ -1,56 +0,0 @@ -# Compiled Object files -*.slo -*.lo -*.o -*.obj - -# Precompiled Headers -*.gch -*.pch - -# Compiled Dynamic libraries -*.so -*.dylib -*.dll - -# Fortran module files -*.mod -*.smod - -# Compiled Static libraries -*.lai -*.la -*.a -*.lib - -# Executables -*.exe -*.out -*.app - -# Colcon output -build -log -install - -# Visual Studio Code files -.vscode - -# Eclipse project files -.cproject -.project -.pydevproject - -# Python artifacts -__pycache__/ -*.py[cod] -.ipynb_checkpoints - -sphinx_doc/_build - -# CLion artifacts -.idea -cmake-build-debug/ - -# doxygen docs -doc/html/ diff --git a/navigation2/Dockerfile b/navigation2/Dockerfile deleted file mode 100644 index d0b1e41..0000000 --- a/navigation2/Dockerfile +++ /dev/null @@ -1,227 +0,0 @@ -# This dockerfile can be configured via --build-arg -# Build context must be the /navigation2 root folder for COPY. -# Example build command: -# export UNDERLAY_MIXINS="debug ccache lld" -# export OVERLAY_MIXINS="debug ccache coverage-gcc lld" -# docker build -t nav2:latest \ -# --build-arg UNDERLAY_MIXINS \ -# --build-arg OVERLAY_MIXINS ./ -ARG FROM_IMAGE=ros:humble -ARG UNDERLAY_WS=/opt/underlay_ws -ARG OVERLAY_WS=/opt/overlay_ws - -# multi-stage for caching -FROM $FROM_IMAGE AS cacher - -# clone underlay source -ARG UNDERLAY_WS -WORKDIR $UNDERLAY_WS/src -COPY ./tools/underlay.repos ../ -RUN vcs import ./ < ../underlay.repos - -# copy overlay source -ARG OVERLAY_WS -WORKDIR $OVERLAY_WS/src -COPY ./ ./navigation2 - -# copy manifests for caching -WORKDIR /opt -RUN find . -name "src" -type d \ - -mindepth 1 -maxdepth 2 -printf '%P\n' \ - | xargs -I % mkdir -p /tmp/opt/% && \ - find . -name "package.xml" \ - | xargs cp --parents -t /tmp/opt && \ - find . -name "COLCON_IGNORE" \ - | xargs cp --parents -t /tmp/opt || true - -# multi-stage for building -FROM $FROM_IMAGE AS builder - -# config dependencies install -ARG DEBIAN_FRONTEND=noninteractive -RUN echo '\ -APT::Install-Recommends "0";\n\ -APT::Install-Suggests "0";\n\ -' > /etc/apt/apt.conf.d/01norecommend -ENV PYTHONUNBUFFERED 1 - -# install CI dependencies -ARG RTI_NC_LICENSE_ACCEPTED=yes -RUN apt-get update && \ - apt-get upgrade -y --with-new-pkgs && \ - apt-get install -y \ - ccache \ - lcov \ - lld \ - python3-pip \ - ros-$ROS_DISTRO-rmw-fastrtps-cpp \ - ros-$ROS_DISTRO-rmw-connextdds \ - ros-$ROS_DISTRO-rmw-cyclonedds-cpp \ - && pip3 install \ - fastcov \ - git+https://github.com/ruffsl/colcon-cache.git@a937541bfc496c7a267db7ee9d6cceca61e470ca \ - git+https://github.com/ruffsl/colcon-clean.git@a7f1074d1ebc1a54a6508625b117974f2672f2a9 \ - && rosdep update \ - && colcon mixin update \ - && colcon metadata update \ - && rm -rf /var/lib/apt/lists/* - -# install underlay dependencies -ARG UNDERLAY_WS -ENV UNDERLAY_WS $UNDERLAY_WS -WORKDIR $UNDERLAY_WS -COPY --from=cacher /tmp/$UNDERLAY_WS ./ -RUN . /opt/ros/$ROS_DISTRO/setup.sh && \ - apt-get update && rosdep install -q -y \ - --from-paths src \ - --skip-keys " \ - slam_toolbox \ - " \ - --ignore-src \ - && rm -rf /var/lib/apt/lists/* - -# build underlay source -COPY --from=cacher $UNDERLAY_WS ./ -ARG UNDERLAY_MIXINS="release ccache lld" -ARG CCACHE_DIR="$UNDERLAY_WS/.ccache" -RUN . /opt/ros/$ROS_DISTRO/setup.sh && \ - colcon cache lock && \ - colcon build \ - --symlink-install \ - --mixin $UNDERLAY_MIXINS \ - --event-handlers console_direct+ - -# install overlay dependencies -ARG OVERLAY_WS -ENV OVERLAY_WS $OVERLAY_WS -WORKDIR $OVERLAY_WS -COPY --from=cacher /tmp/$OVERLAY_WS ./ -RUN . $UNDERLAY_WS/install/setup.sh && \ - apt-get update && rosdep install -q -y \ - --from-paths src \ - --skip-keys " \ - slam_toolbox \ - "\ - --ignore-src \ - && rm -rf /var/lib/apt/lists/* - -# multi-stage for testing -FROM builder AS tester - -# build overlay source -COPY --from=cacher $OVERLAY_WS ./ -ARG OVERLAY_MIXINS="release ccache lld" -ARG CCACHE_DIR="$OVERLAY_WS/.ccache" -RUN . $UNDERLAY_WS/install/setup.sh && \ - colcon cache lock && \ - colcon build \ - --symlink-install \ - --mixin $OVERLAY_MIXINS - -# source overlay from entrypoint -RUN sed --in-place \ - 's|^source .*|source "$OVERLAY_WS/install/setup.bash"|' \ - /ros_entrypoint.sh - -# test overlay build -ARG RUN_TESTS -ARG FAIL_ON_TEST_FAILURE -RUN if [ -n "$RUN_TESTS" ]; then \ - . install/setup.sh && \ - colcon test && \ - colcon test-result \ - || ([ -z "$FAIL_ON_TEST_FAILURE" ] || exit 1) \ - fi - -# multi-stage for developing -FROM builder AS dever - -# edit apt for caching -RUN mv /etc/apt/apt.conf.d/docker-clean /etc/apt/ - -# install developer dependencies -RUN apt-get update && \ - apt-get install -y \ - bash-completion \ - gdb \ - wget && \ - pip3 install \ - bottle \ - glances - -# source underlay for shell -RUN echo 'source "$UNDERLAY_WS/install/setup.bash"' >> /etc/bash.bashrc - -# multi-stage for caddy -FROM caddy:builder AS caddyer - -# build custom modules -RUN xcaddy build \ - --with github.com/caddyserver/replace-response - -# multi-stage for visualizing -FROM dever AS visualizer - -ENV ROOT_SRV /srv -RUN mkdir -p $ROOT_SRV - -# install demo dependencies -RUN apt-get update && apt-get install -y \ - ros-$ROS_DISTRO-aws-robomaker-small-warehouse-world \ - ros-$ROS_DISTRO-rviz2 \ - ros-$ROS_DISTRO-turtlebot3-simulations - -# install gzweb dependacies -RUN apt-get install -y --no-install-recommends \ - imagemagick \ - libboost-all-dev \ - libgazebo-dev \ - libgts-dev \ - libjansson-dev \ - libtinyxml-dev \ - nodejs \ - npm \ - psmisc \ - xvfb - -# clone gzweb -ENV GZWEB_WS /opt/gzweb -RUN git clone https://github.com/osrf/gzweb.git $GZWEB_WS - -# setup gzweb -RUN cd $GZWEB_WS && . /usr/share/gazebo/setup.sh && \ - GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:$(find /opt/ros/$ROS_DISTRO/share \ - -mindepth 1 -maxdepth 2 -type d -name "models" | paste -s -d: -) && \ - sed -i "s|var modelList =|var modelList = []; var oldModelList =|g" gz3d/src/gzgui.js && \ - xvfb-run -s "-screen 0 1280x1024x24" ./deploy.sh -m local && \ - ln -s $GZWEB_WS/http/client/assets http/client/assets/models && \ - ln -s $GZWEB_WS/http/client $ROOT_SRV/gzweb - -# patch gzsever -RUN GZSERVER=$(which gzserver) && \ - mv $GZSERVER $GZSERVER.orig && \ - echo '#!/bin/bash' > $GZSERVER && \ - echo 'exec xvfb-run -s "-screen 0 1280x1024x24" gzserver.orig "$@"' >> $GZSERVER && \ - chmod +x $GZSERVER - -# install foxglove dependacies -RUN apt-get install -y --no-install-recommends \ - ros-$ROS_DISTRO-foxglove-bridge - -# setup foxglove -# Use custom fork until PR is merged: -# https://github.com/foxglove/studio/pull/5987 -# COPY --from=ghcr.io/foxglove/studio /src $ROOT_SRV/foxglove -COPY --from=ghcr.io/ruffsl/foxglove_studio@sha256:8a2f2be0a95f24b76b0d7aa536f1c34f3e224022eed607cbf7a164928488332e /src $ROOT_SRV/foxglove - -# install web server -COPY --from=caddyer /usr/bin/caddy /usr/bin/caddy - -# download media files -RUN mkdir -p $ROOT_SRV/media && cd /tmp && \ - export ICONS="icons.tar.gz" && wget https://github.com/ros-planning/navigation2/files/11506823/$ICONS && \ - echo "cae5e2a5230f87b004c8232b579781edb4a72a7431405381403c6f9e9f5f7d41 $ICONS" | sha256sum -c && \ - tar xvz -C $ROOT_SRV/media -f $ICONS && rm $ICONS - -# multi-stage for exporting -FROM tester AS exporter diff --git a/navigation2/Doxyfile b/navigation2/Doxyfile deleted file mode 100644 index aa34c7a..0000000 --- a/navigation2/Doxyfile +++ /dev/null @@ -1,2427 +0,0 @@ -# Doxyfile 1.8.11 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a double hash (##) is considered a comment and is placed in -# front of the TAG it is preceding. -# -# All text after a single hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists, items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (\" \"). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all text -# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv -# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv -# for the list of possible encodings. -# The default value is: UTF-8. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by -# double-quotes, unless you are using Doxywizard) that should identify the -# project for which the documentation is generated. This name is used in the -# title of most generated pages and in a few other places. -# The default value is: My Project. - -PROJECT_NAME = "ROS2 Navigation System" - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. This -# could be handy for archiving the generated documentation or if some version -# control system is used. - -PROJECT_NUMBER = 0.1 - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer a -# quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = - -# With the PROJECT_LOGO tag one can specify a logo or an icon that is included -# in the documentation. The maximum height of the logo should not exceed 55 -# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy -# the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path -# into which the generated documentation will be written. If a relative path is -# entered, it will be relative to the location where doxygen was started. If -# left blank the current directory will be used. - -OUTPUT_DIRECTORY = doc - -# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- -# directories (in 2 levels) under the output directory of each output format and -# will distribute the generated files over these directories. Enabling this -# option can be useful when feeding doxygen a huge amount of source files, where -# putting all generated files in the same directory would otherwise causes -# performance problems for the file system. -# The default value is: NO. - -CREATE_SUBDIRS = NO - -# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII -# characters to appear in the names of generated files. If set to NO, non-ASCII -# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode -# U+3044. -# The default value is: NO. - -ALLOW_UNICODE_NAMES = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, -# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), -# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, -# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, -# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, -# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, -# Ukrainian and Vietnamese. -# The default value is: English. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member -# descriptions after the members that are listed in the file and class -# documentation (similar to Javadoc). Set to NO to disable this. -# The default value is: YES. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief -# description of a member or function before the detailed description -# -# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. -# The default value is: YES. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator that is -# used to form the text in various listings. Each string in this list, if found -# as the leading text of the brief description, will be stripped from the text -# and the result, after processing the whole list, is used as the annotated -# text. Otherwise, the brief description is used as-is. If left blank, the -# following values are used ($name is automatically replaced with the name of -# the entity):The $name class, The $name widget, The $name file, is, provides, -# specifies, contains, represents, a, an and the. - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# doxygen will generate a detailed section even if there is only a brief -# description. -# The default value is: NO. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. -# The default value is: NO. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path -# before files name in the file list and in the header files. If set to NO the -# shortest path that makes the file name unique will be used -# The default value is: YES. - -FULL_PATH_NAMES = YES - -# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. -# Stripping is only done if one of the specified strings matches the left-hand -# part of the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the path to -# strip. -# -# Note that you can specify absolute paths here, but also relative paths, which -# will be relative from the directory where doxygen is started. -# This tag requires that the tag FULL_PATH_NAMES is set to YES. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the -# path mentioned in the documentation of a class, which tells the reader which -# header file to include in order to use a class. If left blank only the name of -# the header file containing the class definition is used. Otherwise one should -# specify the list of include paths that are normally passed to the compiler -# using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but -# less readable) file names. This can be useful is your file systems doesn't -# support long names like on DOS, Mac, or CD-ROM. -# The default value is: NO. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the -# first line (until the first dot) of a Javadoc-style comment as the brief -# description. If set to NO, the Javadoc-style will behave just like regular Qt- -# style comments (thus requiring an explicit @brief command for a brief -# description.) -# The default value is: NO. - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first -# line (until the first dot) of a Qt-style comment as the brief description. If -# set to NO, the Qt-style will behave just like regular Qt-style comments (thus -# requiring an explicit \brief command for a brief description.) -# The default value is: NO. - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a -# multi-line C++ special comment block (i.e. a block of //! or /// comments) as -# a brief description. This used to be the default behavior. The new default is -# to treat a multi-line C++ comment block as a detailed description. Set this -# tag to YES if you prefer the old behavior instead. -# -# Note that setting this tag to YES also means that rational rose comments are -# not recognized any more. -# The default value is: NO. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the -# documentation from any documented member that it re-implements. -# The default value is: YES. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new -# page for each member. If set to NO, the documentation of a member will be part -# of the file/class/namespace that contains it. -# The default value is: NO. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen -# uses this value to replace tabs by spaces in code fragments. -# Minimum value: 1, maximum value: 16, default value: 4. - -TAB_SIZE = 2 - -# This tag can be used to specify a number of aliases that act as commands in -# the documentation. An alias has the form: -# name=value -# For example adding -# "sideeffect=@par Side Effects:\n" -# will allow you to put the command \sideeffect (or @sideeffect) in the -# documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". You can put \n's in the value part of an alias to insert -# newlines. - -ALIASES = - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding "class=itcl::class" -# will allow you to use the command class in the itcl::class meaning. - -TCL_SUBST = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources -# only. Doxygen will then generate output that is more tailored for C. For -# instance, some of the names that are used will be different. The list of all -# members will be omitted, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or -# Python sources only. Doxygen will then generate output that is more tailored -# for that language. For instance, namespaces will be presented as packages, -# qualified scopes will look different, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources. Doxygen will then generate output that is tailored for Fortran. -# The default value is: NO. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for VHDL. -# The default value is: NO. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given -# extension. Doxygen has a built-in mapping, but you can override or extend it -# using this tag. The format is ext=language, where ext is a file extension, and -# language is one of the parsers supported by doxygen: IDL, Java, Javascript, -# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: -# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: -# Fortran. In the later case the parser tries to guess whether the code is fixed -# or free formatted code, this is the default for Fortran type files), VHDL. For -# instance to make doxygen treat .inc files as Fortran files (default is PHP), -# and .f files as C (default is Fortran), use: inc=Fortran f=C. -# -# Note: For files without extension you can use no_extension as a placeholder. -# -# Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments -# according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you can -# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in -# case of backward compatibilities issues. -# The default value is: YES. - -MARKDOWN_SUPPORT = YES - -# When enabled doxygen tries to link words that correspond to documented -# classes, or namespaces to their corresponding documentation. Such a link can -# be prevented in individual cases by putting a % sign in front of the word or -# globally by setting AUTOLINK_SUPPORT to NO. -# The default value is: YES. - -AUTOLINK_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should set this -# tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); -# versus func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. -# The default value is: NO. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. -# The default value is: NO. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen -# will parse them like normal C++ but will assume all classes use public instead -# of private inheritance when no explicit protection keyword is present. -# The default value is: NO. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate -# getter and setter methods for a property. Setting this option to YES will make -# doxygen to replace the get and set methods by a property in the documentation. -# This will only work if the methods are indeed getting or setting a simple -# type. If this is not the case, or you want to show the methods anyway, you -# should set this option to NO. -# The default value is: YES. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. -# The default value is: NO. - -DISTRIBUTE_GROUP_DOC = NO - -# If one adds a struct or class to a group and this option is enabled, then also -# any nested class or struct is added to the same group. By default this option -# is disabled and one has to add nested compounds explicitly via \ingroup. -# The default value is: NO. - -GROUP_NESTED_COMPOUNDS = NO - -# Set the SUBGROUPING tag to YES to allow class member groups of the same type -# (for instance a group of public functions) to be put as a subgroup of that -# type (e.g. under the Public Functions section). Set it to NO to prevent -# subgrouping. Alternatively, this can be done per class using the -# \nosubgrouping command. -# The default value is: YES. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions -# are shown inside the group in which they are included (e.g. using \ingroup) -# instead of on a separate page (for HTML and Man pages) or section (for LaTeX -# and RTF). -# -# Note that this feature does not work in combination with -# SEPARATE_MEMBER_PAGES. -# The default value is: NO. - -INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions -# with only public data fields or simple typedef fields will be shown inline in -# the documentation of the scope in which they are defined (i.e. file, -# namespace, or group documentation), provided this scope is documented. If set -# to NO, structs, classes, and unions are shown on a separate page (for HTML and -# Man pages) or section (for LaTeX and RTF). -# The default value is: NO. - -INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or -# enum is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically be -# useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. -# The default value is: NO. - -TYPEDEF_HIDES_STRUCT = NO - -# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This -# cache is used to resolve symbols given their name and scope. Since this can be -# an expensive process and often the same symbol appears multiple times in the -# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small -# doxygen will become slower. If the cache is too large, memory is wasted. The -# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range -# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 -# symbols. At the end of a run doxygen will report the cache usage and suggest -# the optimal cache size from a speed point of view. -# Minimum value: 0, maximum value: 9, default value: 0. - -LOOKUP_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in -# documentation are documented, even if no documentation was available. Private -# class members and static file members will be hidden unless the -# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. -# Note: This will also disable the warnings about undocumented members that are -# normally produced when WARNINGS is set to YES. -# The default value is: NO. - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will -# be included in the documentation. -# The default value is: NO. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal -# scope will be included in the documentation. -# The default value is: NO. - -EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be -# included in the documentation. -# The default value is: NO. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined -# locally in source files will be included in the documentation. If set to NO, -# only classes defined in header files are included. Does not have any effect -# for Java sources. -# The default value is: YES. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. If set to YES, local methods, -# which are defined in the implementation section but not in the interface are -# included in the documentation. If set to NO, only methods in the interface are -# included. -# The default value is: NO. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base name of -# the file that contains the anonymous namespace. By default anonymous namespace -# are hidden. -# The default value is: NO. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all -# undocumented members inside documented classes or files. If set to NO these -# members will be included in the various overviews, but no documentation -# section is generated. This option has no effect if EXTRACT_ALL is enabled. -# The default value is: NO. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. If set -# to NO, these classes will be included in the various overviews. This option -# has no effect if EXTRACT_ALL is enabled. -# The default value is: NO. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend -# (class|struct|union) declarations. If set to NO, these declarations will be -# included in the documentation. -# The default value is: NO. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any -# documentation blocks found inside the body of a function. If set to NO, these -# blocks will be appended to the function's detailed documentation block. -# The default value is: NO. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation that is typed after a -# \internal command is included. If the tag is set to NO then the documentation -# will be excluded. Set it to YES to include the internal documentation. -# The default value is: NO. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file -# names in lower-case letters. If set to YES, upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. -# The default value is: system dependent. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with -# their full class and namespace scopes in the documentation. If set to YES, the -# scope will be hidden. -# The default value is: NO. - -HIDE_SCOPE_NAMES = NO - -# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will -# append additional text to a page's title, such as Class Reference. If set to -# YES the compound reference will be hidden. -# The default value is: NO. - -HIDE_COMPOUND_REFERENCE= NO - -# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of -# the files that are included by a file in the documentation of that file. -# The default value is: YES. - -SHOW_INCLUDE_FILES = YES - -# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each -# grouped member an include statement to the documentation, telling the reader -# which file to include in order to use the member. -# The default value is: NO. - -SHOW_GROUPED_MEMB_INC = NO - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include -# files with double quotes in the documentation rather than with sharp brackets. -# The default value is: NO. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the -# documentation for inline members. -# The default value is: YES. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the -# (detailed) documentation of file and class members alphabetically by member -# name. If set to NO, the members will appear in declaration order. -# The default value is: YES. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief -# descriptions of file, namespace and class members alphabetically by member -# name. If set to NO, the members will appear in declaration order. Note that -# this will also influence the order of the classes in the class list. -# The default value is: NO. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the -# (brief and detailed) documentation of class members so that constructors and -# destructors are listed first. If set to NO the constructors will appear in the -# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. -# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief -# member documentation. -# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting -# detailed member documentation. -# The default value is: NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy -# of group names into alphabetical order. If set to NO the group names will -# appear in their defined order. -# The default value is: NO. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by -# fully-qualified names, including namespaces. If set to NO, the class list will -# be sorted only by class name, not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the alphabetical -# list. -# The default value is: NO. - -SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper -# type resolution of all parameters of a function it will reject a match between -# the prototype and the implementation of a member function even if there is -# only one candidate or it is obvious which candidate to choose by doing a -# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still -# accept a match between prototype and implementation in such cases. -# The default value is: NO. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo -# list. This list is created by putting \todo commands in the documentation. -# The default value is: YES. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test -# list. This list is created by putting \test commands in the documentation. -# The default value is: YES. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug -# list. This list is created by putting \bug commands in the documentation. -# The default value is: YES. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) -# the deprecated list. This list is created by putting \deprecated commands in -# the documentation. -# The default value is: YES. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional documentation -# sections, marked by \if ... \endif and \cond -# ... \endcond blocks. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the -# initial value of a variable or macro / define can have for it to appear in the -# documentation. If the initializer consists of more lines than specified here -# it will be hidden. Use a value of 0 to hide initializers completely. The -# appearance of the value of individual variables and macros / defines can be -# controlled using \showinitializer or \hideinitializer command in the -# documentation regardless of this setting. -# Minimum value: 0, maximum value: 10000, default value: 30. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at -# the bottom of the documentation of classes and structs. If set to YES, the -# list will mention the files that were used to generate the documentation. -# The default value is: YES. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This -# will remove the Files entry from the Quick Index and from the Folder Tree View -# (if specified). -# The default value is: YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces -# page. This will remove the Namespaces entry from the Quick Index and from the -# Folder Tree View (if specified). -# The default value is: YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command command input-file, where command is the value of the -# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided -# by doxygen. Whatever the program writes to standard output is used as the file -# version. For an example see the documentation. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. You can -# optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. -# -# Note that if you run doxygen from a directory containing a file called -# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE -# tag is left empty. - -LAYOUT_FILE = - -# The CITE_BIB_FILES tag can be used to specify one or more bib files containing -# the reference definitions. This must be a list of .bib files. The .bib -# extension is automatically appended if omitted. This requires the bibtex tool -# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. -# For LaTeX the style of the bibliography can be controlled using -# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the -# search path. See also \cite for info how to create references. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# Configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated to -# standard output by doxygen. If QUIET is set to YES this implies that the -# messages are off. -# The default value is: NO. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES -# this implies that the warnings are on. -# -# Tip: Turn warnings on while writing the documentation. -# The default value is: YES. - -WARNINGS = YES - -# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate -# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag -# will automatically be disabled. -# The default value is: YES. - -WARN_IF_UNDOCUMENTED = YES - -# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some parameters -# in a documented function, or documenting parameters that don't exist or using -# markup commands wrongly. -# The default value is: YES. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that -# are documented, but have no documentation for their parameters or return -# value. If set to NO, doxygen will only warn about wrong or incomplete -# parameter documentation, but not about the absence of documentation. -# The default value is: NO. - -WARN_NO_PARAMDOC = NO - -# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when -# a warning is encountered. -# The default value is: NO. - -WARN_AS_ERROR = NO - -# The WARN_FORMAT tag determines the format of the warning messages that doxygen -# can produce. The string should contain the $file, $line, and $text tags, which -# will be replaced by the file and line number from which the warning originated -# and the warning text. Optionally the format may contain $version, which will -# be replaced by the version of the file (if it could be obtained via -# FILE_VERSION_FILTER) -# The default value is: $file:$line: $text. - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning and error -# messages should be written. If left blank the output is written to standard -# error (stderr). - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# Configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag is used to specify the files and/or directories that contain -# documented source files. You may enter file names like myfile.cpp or -# directories like /usr/src/myproject. Separate the files or directories with -# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING -# Note: If this tag is empty the current directory is searched. - -INPUT = . - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses -# libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: http://www.gnu.org/software/libiconv) for the list of -# possible encodings. -# The default value is: UTF-8. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and -# *.h) to filter out the source-files in the directories. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# read by doxygen. -# -# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, -# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, -# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, -# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f, *.for, *.tcl, -# *.vhd, *.vhdl, *.ucf, *.qsf, *.as and *.js. - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to specify whether or not subdirectories should -# be searched for input files as well. -# The default value is: NO. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. -# The default value is: NO. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories use the pattern */test/* - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or directories -# that contain example code fragments that are included (see the \include -# command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and -# *.h) to filter out the source-files in the directories. If left blank all -# files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude commands -# irrespective of the value of the RECURSIVE tag. -# The default value is: NO. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or directories -# that contain images that are to be included in the documentation (see the -# \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command: -# -# -# -# where is the value of the INPUT_FILTER tag, and is the -# name of an input file. Doxygen will then use the output that the filter -# program writes to standard output. If FILTER_PATTERNS is specified, this tag -# will be ignored. -# -# Note that the filter must not add or remove lines; it is applied before the -# code is scanned, but not when the output code is generated. If lines are added -# or removed, the anchors will not be placed correctly. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# properly processed by doxygen. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: pattern=filter -# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how -# filters are used. If the FILTER_PATTERNS tag is empty or if none of the -# patterns match the file name, INPUT_FILTER is applied. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# properly processed by doxygen. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will also be used to filter the input files that are used for -# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). -# The default value is: NO. - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and -# it is also possible to disable source filtering for a specific pattern using -# *.ext= (so without naming a filter). -# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. - -FILTER_SOURCE_PATTERNS = - -# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that -# is part of the input, its contents will be placed on the main page -# (index.html). This can be useful if you have a project on for instance GitHub -# and want to reuse the introduction page also for the doxygen output. - -USE_MDFILE_AS_MAINPAGE = - -#--------------------------------------------------------------------------- -# Configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will be -# generated. Documented entities will be cross-referenced with these sources. -# -# Note: To get rid of all source code in the generated output, make sure that -# also VERBATIM_HEADERS is set to NO. -# The default value is: NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body of functions, -# classes and enums directly into the documentation. -# The default value is: NO. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any -# special comment blocks from generated source code fragments. Normal C, C++ and -# Fortran comments will always remain visible. -# The default value is: YES. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES then for each documented -# function all documented functions referencing it will be listed. -# The default value is: NO. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES then for each documented function -# all documented entities called/used by that function will be listed. -# The default value is: NO. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set -# to YES then the hyperlinks from functions in REFERENCES_RELATION and -# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will -# link to the documentation. -# The default value is: YES. - -REFERENCES_LINK_SOURCE = YES - -# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the -# source code will show a tooltip with additional information such as prototype, -# brief description and links to the definition and documentation. Since this -# will make the HTML file larger and loading of large files a bit slower, you -# can opt to disable this feature. -# The default value is: YES. -# This tag requires that the tag SOURCE_BROWSER is set to YES. - -SOURCE_TOOLTIPS = YES - -# If the USE_HTAGS tag is set to YES then the references to source code will -# point to the HTML generated by the htags(1) tool instead of doxygen built-in -# source browser. The htags tool is part of GNU's global source tagging system -# (see http://www.gnu.org/software/global/global.html). You will need version -# 4.8.6 or higher. -# -# To use it do the following: -# - Install the latest version of global -# - Enable SOURCE_BROWSER and USE_HTAGS in the config file -# - Make sure the INPUT points to the root of the source tree -# - Run doxygen as normal -# -# Doxygen will invoke htags (and that will in turn invoke gtags), so these -# tools must be available from the command line (i.e. in the search path). -# -# The result: instead of the source browser generated by doxygen, the links to -# source code will now point to the output of htags. -# The default value is: NO. -# This tag requires that the tag SOURCE_BROWSER is set to YES. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a -# verbatim copy of the header file for each class for which an include is -# specified. Set to NO to disable this. -# See also: Section \class. -# The default value is: YES. - -VERBATIM_HEADERS = YES - -# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the -# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the -# cost of reduced performance. This can be particularly helpful with template -# rich C++ code for which doxygen's built-in parser lacks the necessary type -# information. -# Note: The availability of this option depends on whether or not doxygen was -# generated with the -Duse-libclang=ON option for CMake. -# The default value is: NO. - -CLANG_ASSISTED_PARSING = NO - -# If clang assisted parsing is enabled you can provide the compiler with command -# line options that you would normally use when invoking the compiler. Note that -# the include paths will already be set by doxygen for the files and directories -# specified with INPUT and INCLUDE_PATH. -# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. - -CLANG_OPTIONS = - -#--------------------------------------------------------------------------- -# Configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all -# compounds will be generated. Enable this if the project contains a lot of -# classes, structs, unions or interfaces. -# The default value is: YES. - -ALPHABETICAL_INDEX = YES - -# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in -# which the alphabetical index list will be split. -# Minimum value: 1, maximum value: 20, default value: 5. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all classes will -# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag -# can be used to specify a prefix (or a list of prefixes) that should be ignored -# while generating the index headers. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output -# The default value is: YES. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a -# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of -# it. -# The default directory is: html. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each -# generated HTML page (for example: .htm, .php, .asp). -# The default value is: .html. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a user-defined HTML header file for -# each generated HTML page. If the tag is left blank doxygen will generate a -# standard header. -# -# To get valid HTML the header file that includes any scripts and style sheets -# that doxygen needs, which is dependent on the configuration options used (e.g. -# the setting GENERATE_TREEVIEW). It is highly recommended to start with a -# default header using -# doxygen -w html new_header.html new_footer.html new_stylesheet.css -# YourConfigFile -# and then modify the file new_header.html. See also section "Doxygen usage" -# for information on how to generate the default header that doxygen normally -# uses. -# Note: The header is subject to change so you typically have to regenerate the -# default header when upgrading to a newer version of doxygen. For a description -# of the possible markers and block names see the documentation. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each -# generated HTML page. If the tag is left blank doxygen will generate a standard -# footer. See HTML_HEADER for more information on how to generate a default -# footer and what special commands can be used inside the footer. See also -# section "Doxygen usage" for information on how to generate the default footer -# that doxygen normally uses. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style -# sheet that is used by each HTML page. It can be used to fine-tune the look of -# the HTML output. If left blank doxygen will generate a default style sheet. -# See also section "Doxygen usage" for information on how to generate the style -# sheet that doxygen normally uses. -# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as -# it is more robust and this tag (HTML_STYLESHEET) will in the future become -# obsolete. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_STYLESHEET = - -# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined -# cascading style sheets that are included after the standard style sheets -# created by doxygen. Using this option one can overrule certain style aspects. -# This is preferred over using HTML_STYLESHEET since it does not replace the -# standard style sheet and is therefore more robust against future updates. -# Doxygen will copy the style sheet files to the output directory. -# Note: The order of the extra style sheet files is of importance (e.g. the last -# style sheet in the list overrules the setting of the previous ones in the -# list). For an example see the documentation. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_EXTRA_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that the -# files will be copied as-is; there are no commands or markers available. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen -# will adjust the colors in the style sheet and background images according to -# this color. Hue is specified as an angle on a colorwheel, see -# http://en.wikipedia.org/wiki/Hue for more information. For instance the value -# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 -# purple, and 360 is red again. -# Minimum value: 0, maximum value: 359, default value: 220. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use grayscales only. A -# value of 255 will produce the most vivid colors. -# Minimum value: 0, maximum value: 255, default value: 100. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the -# luminance component of the colors in the HTML output. Values below 100 -# gradually make the output lighter, whereas values above 100 make the output -# darker. The value divided by 100 is the actual gamma applied, so 80 represents -# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not -# change the gamma. -# Minimum value: 40, maximum value: 240, default value: 80. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting this -# to YES can help to show when doxygen was last run and thus if the -# documentation is up to date. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_TIMESTAMP = NO - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_DYNAMIC_SECTIONS = NO - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries -# shown in the various tree structured indices initially; the user can expand -# and collapse entries dynamically later on. Doxygen will expand the tree to -# such a level that at most the specified number of entries are visible (unless -# a fully collapsed tree already exceeds this amount). So setting the number of -# entries 1 will produce a full collapsed tree by default. 0 is a special value -# representing an infinite number of entries and will result in a full expanded -# tree by default. -# Minimum value: 0, maximum value: 9999, default value: 100. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files will be -# generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: http://developer.apple.com/tools/xcode/), introduced with -# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a -# Makefile in the HTML output directory. Running make will produce the docset in -# that directory and running make install will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at -# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_DOCSET = NO - -# This tag determines the name of the docset feed. A documentation feed provides -# an umbrella under which multiple documentation sets from a single provider -# (such as a company or product suite) can be grouped. -# The default value is: Doxygen generated docs. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# This tag specifies a string that should uniquely identify the documentation -# set bundle. This should be a reverse domain-name style string, e.g. -# com.mycompany.MyDocSet. Doxygen will append .docset to the name. -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. -# The default value is: org.doxygen.Publisher. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. -# The default value is: Publisher. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three -# additional HTML index files: index.hhp, index.hhc, and index.hhk. The -# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on -# Windows. -# -# The HTML Help Workshop contains a compiler that can convert all HTML output -# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML -# files are now used as the Windows 98 help format, and will replace the old -# Windows help format (.hlp) on all Windows platforms in the future. Compressed -# HTML files also contain an index, a table of contents, and you can search for -# words in the documentation. The HTML workshop also contains a viewer for -# compressed HTML files. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_HTMLHELP = NO - -# The CHM_FILE tag can be used to specify the file name of the resulting .chm -# file. You can add a path in front of the file if the result should not be -# written to the html output directory. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -CHM_FILE = - -# The HHC_LOCATION tag can be used to specify the location (absolute path -# including file name) of the HTML help compiler (hhc.exe). If non-empty, -# doxygen will try to run the HTML help compiler on the generated index.hhp. -# The file has to be specified with full path. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -HHC_LOCATION = - -# The GENERATE_CHI flag controls if a separate .chi index file is generated -# (YES) or that it should be included in the master .chm file (NO). -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -GENERATE_CHI = NO - -# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) -# and project file content. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -CHM_INDEX_ENCODING = - -# The BINARY_TOC flag controls whether a binary table of contents is generated -# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it -# enables the Previous and Next buttons. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members to -# the table of contents of the HTML help documentation and to the tree view. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that -# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help -# (.qch) of the generated HTML documentation. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify -# the file name of the resulting .qch file. The path specified is relative to -# the HTML output folder. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help -# Project output. For more information please see Qt Help Project / Namespace -# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt -# Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- -# folders). -# The default value is: doc. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_VIRTUAL_FOLDER = doc - -# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom -# filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's filter section matches. Qt Help Project / Filter Attributes (see: -# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_SECT_FILTER_ATTRS = - -# The QHG_LOCATION tag can be used to specify the location of Qt's -# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the -# generated .qhp file. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be -# generated, together with the HTML files, they form an Eclipse help plugin. To -# install this plugin and make it available under the help contents menu in -# Eclipse, the contents of the directory containing the HTML and XML files needs -# to be copied into the plugins directory of eclipse. The name of the directory -# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. -# After copying Eclipse needs to be restarted before the help appears. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the Eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have this -# name. Each documentation set should have its own identifier. -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# If you want full control over the layout of the generated HTML pages it might -# be necessary to disable the index and replace it with your own. The -# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top -# of each HTML page. A value of NO enables the index and the value YES disables -# it. Since the tabs in the index contain the same information as the navigation -# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -DISABLE_INDEX = NO - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. If the tag -# value is set to YES, a side panel will be generated containing a tree-like -# index structure (just like the one that is generated for HTML Help). For this -# to work a browser that supports JavaScript, DHTML, CSS and frames is required -# (i.e. any modern browser). Windows users are probably better off using the -# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can -# further fine-tune the look of the index. As an example, the default style -# sheet generated by doxygen has an example that shows how to put an image at -# the root of the tree instead of the PROJECT_NAME. Since the tree basically has -# the same information as the tab index, you could consider setting -# DISABLE_INDEX to YES when enabling this option. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_TREEVIEW = YES - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that -# doxygen will group on one line in the generated HTML documentation. -# -# Note that a value of 0 will completely suppress the enum values from appearing -# in the overview section. -# Minimum value: 0, maximum value: 20, default value: 4. -# This tag requires that the tag GENERATE_HTML is set to YES. - -ENUM_VALUES_PER_LINE = 4 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used -# to set the initial width (in pixels) of the frame in which the tree is shown. -# Minimum value: 0, maximum value: 1500, default value: 250. -# This tag requires that the tag GENERATE_HTML is set to YES. - -TREEVIEW_WIDTH = 250 - -# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to -# external symbols imported via tag files in a separate window. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of LaTeX formulas included as images in -# the HTML documentation. When you change the font size after a successful -# doxygen run you need to manually remove any form_*.png images from the HTML -# output directory to force them to be regenerated. -# Minimum value: 8, maximum value: 50, default value: 10. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are not -# supported properly for IE 6.0, but are supported on all modern browsers. -# -# Note that when changing this option you need to delete any form_*.png files in -# the HTML output directory before the changes have effect. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see -# http://www.mathjax.org) which uses client side Javascript for the rendering -# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX -# installed or if you want to formulas look prettier in the HTML output. When -# enabled you may also need to install MathJax separately and configure the path -# to it using the MATHJAX_RELPATH option. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -USE_MATHJAX = NO - -# When MathJax is enabled you can set the default output format to be used for -# the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/latest/output.html) for more details. -# Possible values are: HTML-CSS (which is slower, but has the best -# compatibility), NativeMML (i.e. MathML) and SVG. -# The default value is: HTML-CSS. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_FORMAT = HTML-CSS - -# When MathJax is enabled you need to specify the location relative to the HTML -# output directory using the MATHJAX_RELPATH option. The destination directory -# should contain the MathJax.js script. For instance, if the mathjax directory -# is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax -# Content Delivery Network so you can quickly see the result without installing -# MathJax. However, it is strongly recommended to install a local copy of -# MathJax from http://www.mathjax.org before deployment. -# The default value is: http://cdn.mathjax.org/mathjax/latest. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest - -# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax -# extension names that should be enabled during MathJax rendering. For example -# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_EXTENSIONS = - -# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces -# of code that will be used on startup of the MathJax code. See the MathJax site -# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an -# example see the documentation. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_CODEFILE = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box for -# the HTML output. The underlying search engine uses javascript and DHTML and -# should work on any modern browser. Note that when using HTML help -# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) -# there is already a search function so this one should typically be disabled. -# For large projects the javascript based search engine can be slow, then -# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to -# search using the keyboard; to jump to the search box use + S -# (what the is depends on the OS and browser, but it is typically -# , /