Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
471675f1ab |
@@ -1,2 +0,0 @@
|
||||
# Try to tell GitHub how to handle .asc files
|
||||
*.asc linguist-language=Tcl
|
||||
@@ -1,768 +0,0 @@
|
||||
# BRL-CAD's primary distcheck target runs too long and does too much work to
|
||||
# be suitable as a CI target, even occasionally. To achieve essentially the
|
||||
# same result, we define individual jobs for each distcheck sub-target and
|
||||
# run them in singletons. To avoid the list of targets going stale, we
|
||||
# define this header and then autogenerate the actual build target jobs
|
||||
# to append to it from the CMake logic.
|
||||
|
||||
name: Distcheck
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '30 3 * * 5'
|
||||
|
||||
jobs:
|
||||
bext:
|
||||
name: Prepare bext (cached)
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/check.yml') }}
|
||||
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
# Install X/OpenGL dev pkgs
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
# Install tools
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
# Install dependency dev pkgs
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev
|
||||
# Install XCB/OpenGL dev pkgs for Qt - see:
|
||||
# https://wiki.qt.io/Building_Qt_6_from_Git
|
||||
# https://doc.qt.io/qt-6/linux-requirements.html
|
||||
sudo apt-get install libfontconfig1-dev libfreetype6-dev libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libxcb-cursor-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-util-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xinput-dev libxcb-xrm-dev libxkbcommon-dev libxkbcommon-x11-dev
|
||||
sudo apt-get install libgl-dev
|
||||
sudo apt-get install libinput-dev
|
||||
|
||||
- name: Clone bext
|
||||
run: git clone https://github.com/BRL-CAD/bext.git
|
||||
|
||||
- name: Get bext commit SHA
|
||||
id: bext-sha
|
||||
run: |
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Compute bext cache discriminator
|
||||
id: cachekey
|
||||
shell: bash
|
||||
run: |
|
||||
info="${{ steps.bext-sha.outputs.sha }}-$(uname -s)-$(uname -r)-$(gcc --version | head -n 1)"
|
||||
echo "hash=$(echo -n "$info" | sha1sum | awk '{print $1}')" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.cachekey.outputs.hash }}
|
||||
|
||||
- name: Build bext (if cache miss)
|
||||
if: steps.cache-bext.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
cmake -E make_directory bext_build
|
||||
cmake -S bext -B bext_build -DCMAKE_BUILD_TYPE=Release -DENABLE_ALL=ON -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/bext_output
|
||||
cmake --build bext_build --config Release -j 2
|
||||
cmake -E rm -rf bext
|
||||
cmake -E rm -rf bext_build
|
||||
|
||||
distcheck-default_build_type:
|
||||
name: distcheck-default_build_type
|
||||
runs-on: ubuntu-latest
|
||||
needs: [bext]
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/check.yml') }}
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev libgl-dev libinput-dev
|
||||
|
||||
- name: Setup - bext
|
||||
run: |
|
||||
git clone https://github.com/BRL-CAD/bext.git
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
cd ..
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.bext-sha.outputs.sha }}
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
- name: Directory setup
|
||||
run: cmake -E make_directory build_distcheck-default_build_type
|
||||
- name: Configure
|
||||
run: cmake -S brlcad -B build_distcheck-default_build_type -G Ninja -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_DIR=${{ github.workspace }}/bext_output
|
||||
- name: Build
|
||||
run: cmake --build build_distcheck-default_build_type --config Release --target distcheck-default_build_type
|
||||
- name: Log
|
||||
if: always()
|
||||
run: cat build_distcheck-default_build_type/distcheck-default_build_type.log
|
||||
- name: Debug if failure
|
||||
if: failure()
|
||||
uses: mxschmitt/action-tmate@v3
|
||||
|
||||
distcheck-debug:
|
||||
name: distcheck-debug
|
||||
runs-on: ubuntu-latest
|
||||
needs: [distcheck-default_build_type]
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/check.yml') }}
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev libgl-dev libinput-dev
|
||||
|
||||
- name: Setup - bext
|
||||
run: |
|
||||
git clone https://github.com/BRL-CAD/bext.git
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
cd ..
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.bext-sha.outputs.sha }}
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
- name: Directory setup
|
||||
run: cmake -E make_directory build_distcheck-debug
|
||||
- name: Configure
|
||||
run: cmake -S brlcad -B build_distcheck-debug -G Ninja -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_DIR=${{ github.workspace }}/bext_output
|
||||
- name: Build
|
||||
run: cmake --build build_distcheck-debug --config Release --target distcheck-debug
|
||||
- name: Log
|
||||
if: always()
|
||||
run: cat build_distcheck-debug/distcheck-debug.log
|
||||
- name: Debug if failure
|
||||
if: failure()
|
||||
uses: mxschmitt/action-tmate@v3
|
||||
|
||||
distcheck-release:
|
||||
name: distcheck-release
|
||||
runs-on: ubuntu-latest
|
||||
needs: [distcheck-debug]
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/check.yml') }}
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev libgl-dev libinput-dev
|
||||
|
||||
- name: Setup - bext
|
||||
run: |
|
||||
git clone https://github.com/BRL-CAD/bext.git
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
cd ..
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.bext-sha.outputs.sha }}
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
- name: Directory setup
|
||||
run: cmake -E make_directory build_distcheck-release
|
||||
- name: Configure
|
||||
run: cmake -S brlcad -B build_distcheck-release -G Ninja -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_DIR=${{ github.workspace }}/bext_output
|
||||
- name: Build
|
||||
run: cmake --build build_distcheck-release --config Release --target distcheck-release
|
||||
- name: Log
|
||||
if: always()
|
||||
run: cat build_distcheck-release/distcheck-release.log
|
||||
- name: Debug if failure
|
||||
if: failure()
|
||||
uses: mxschmitt/action-tmate@v3
|
||||
|
||||
distcheck-enableall_debug:
|
||||
name: distcheck-enableall_debug
|
||||
runs-on: ubuntu-latest
|
||||
needs: [distcheck-release]
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/check.yml') }}
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev libgl-dev libinput-dev
|
||||
|
||||
- name: Setup - bext
|
||||
run: |
|
||||
git clone https://github.com/BRL-CAD/bext.git
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
cd ..
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.bext-sha.outputs.sha }}
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
- name: Directory setup
|
||||
run: cmake -E make_directory build_distcheck-enableall_debug
|
||||
- name: Configure
|
||||
run: cmake -S brlcad -B build_distcheck-enableall_debug -G Ninja -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_DIR=${{ github.workspace }}/bext_output
|
||||
- name: Build
|
||||
run: cmake --build build_distcheck-enableall_debug --config Release --target distcheck-enableall_debug
|
||||
- name: Log
|
||||
if: always()
|
||||
run: cat build_distcheck-enableall_debug/distcheck-enableall_debug.log
|
||||
- name: Debug if failure
|
||||
if: failure()
|
||||
uses: mxschmitt/action-tmate@v3
|
||||
|
||||
distcheck-enableall_release:
|
||||
name: distcheck-enableall_release
|
||||
runs-on: ubuntu-latest
|
||||
needs: [distcheck-enableall_debug]
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/check.yml') }}
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev libgl-dev libinput-dev
|
||||
|
||||
- name: Setup - bext
|
||||
run: |
|
||||
git clone https://github.com/BRL-CAD/bext.git
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
cd ..
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.bext-sha.outputs.sha }}
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
- name: Directory setup
|
||||
run: cmake -E make_directory build_distcheck-enableall_release
|
||||
- name: Configure
|
||||
run: cmake -S brlcad -B build_distcheck-enableall_release -G Ninja -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_DIR=${{ github.workspace }}/bext_output
|
||||
- name: Build
|
||||
run: cmake --build build_distcheck-enableall_release --config Release --target distcheck-enableall_release
|
||||
- name: Log
|
||||
if: always()
|
||||
run: cat build_distcheck-enableall_release/distcheck-enableall_release.log
|
||||
- name: Debug if failure
|
||||
if: failure()
|
||||
uses: mxschmitt/action-tmate@v3
|
||||
|
||||
distcheck-prepared_debug:
|
||||
name: distcheck-prepared_debug
|
||||
runs-on: ubuntu-latest
|
||||
needs: [distcheck-enableall_release]
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/check.yml') }}
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev libgl-dev libinput-dev
|
||||
|
||||
- name: Setup - bext
|
||||
run: |
|
||||
git clone https://github.com/BRL-CAD/bext.git
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
cd ..
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.bext-sha.outputs.sha }}
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
- name: Directory setup
|
||||
run: cmake -E make_directory build_distcheck-prepared_debug
|
||||
- name: Configure
|
||||
run: cmake -S brlcad -B build_distcheck-prepared_debug -G Ninja -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_DIR=${{ github.workspace }}/bext_output
|
||||
- name: Build
|
||||
run: cmake --build build_distcheck-prepared_debug --config Release --target distcheck-prepared_debug
|
||||
- name: Log
|
||||
if: always()
|
||||
run: cat build_distcheck-prepared_debug/distcheck-prepared_debug.log
|
||||
- name: Debug if failure
|
||||
if: failure()
|
||||
uses: mxschmitt/action-tmate@v3
|
||||
|
||||
distcheck-prepared_release:
|
||||
name: distcheck-prepared_release
|
||||
runs-on: ubuntu-latest
|
||||
needs: [distcheck-prepared_debug]
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/check.yml') }}
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev libgl-dev libinput-dev
|
||||
|
||||
- name: Setup - bext
|
||||
run: |
|
||||
git clone https://github.com/BRL-CAD/bext.git
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
cd ..
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.bext-sha.outputs.sha }}
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
- name: Directory setup
|
||||
run: cmake -E make_directory build_distcheck-prepared_release
|
||||
- name: Configure
|
||||
run: cmake -S brlcad -B build_distcheck-prepared_release -G Ninja -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_DIR=${{ github.workspace }}/bext_output
|
||||
- name: Build
|
||||
run: cmake --build build_distcheck-prepared_release --config Release --target distcheck-prepared_release
|
||||
- name: Log
|
||||
if: always()
|
||||
run: cat build_distcheck-prepared_release/distcheck-prepared_release.log
|
||||
- name: Debug if failure
|
||||
if: failure()
|
||||
uses: mxschmitt/action-tmate@v3
|
||||
|
||||
distcheck-no_tcl:
|
||||
name: distcheck-no_tcl
|
||||
runs-on: ubuntu-latest
|
||||
needs: [distcheck-prepared_release]
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/check.yml') }}
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev libgl-dev libinput-dev
|
||||
|
||||
- name: Setup - bext
|
||||
run: |
|
||||
git clone https://github.com/BRL-CAD/bext.git
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
cd ..
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.bext-sha.outputs.sha }}
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
- name: Directory setup
|
||||
run: cmake -E make_directory build_distcheck-no_tcl
|
||||
- name: Configure
|
||||
run: cmake -S brlcad -B build_distcheck-no_tcl -G Ninja -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_DIR=${{ github.workspace }}/bext_output
|
||||
- name: Build
|
||||
run: cmake --build build_distcheck-no_tcl --config Release --target distcheck-no_tcl
|
||||
- name: Log
|
||||
if: always()
|
||||
run: cat build_distcheck-no_tcl/distcheck-no_tcl.log
|
||||
- name: Debug if failure
|
||||
if: failure()
|
||||
uses: mxschmitt/action-tmate@v3
|
||||
|
||||
distcheck-no_tk:
|
||||
name: distcheck-no_tk
|
||||
runs-on: ubuntu-latest
|
||||
needs: [distcheck-no_tcl]
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/check.yml') }}
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev libgl-dev libinput-dev
|
||||
|
||||
- name: Setup - bext
|
||||
run: |
|
||||
git clone https://github.com/BRL-CAD/bext.git
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
cd ..
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.bext-sha.outputs.sha }}
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
- name: Directory setup
|
||||
run: cmake -E make_directory build_distcheck-no_tk
|
||||
- name: Configure
|
||||
run: cmake -S brlcad -B build_distcheck-no_tk -G Ninja -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_DIR=${{ github.workspace }}/bext_output
|
||||
- name: Build
|
||||
run: cmake --build build_distcheck-no_tk --config Release --target distcheck-no_tk
|
||||
- name: Log
|
||||
if: always()
|
||||
run: cat build_distcheck-no_tk/distcheck-no_tk.log
|
||||
- name: Debug if failure
|
||||
if: failure()
|
||||
uses: mxschmitt/action-tmate@v3
|
||||
|
||||
distcheck-no_strict:
|
||||
name: distcheck-no_strict
|
||||
runs-on: ubuntu-latest
|
||||
needs: [distcheck-no_tk]
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/check.yml') }}
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev libgl-dev libinput-dev
|
||||
|
||||
- name: Setup - bext
|
||||
run: |
|
||||
git clone https://github.com/BRL-CAD/bext.git
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
cd ..
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.bext-sha.outputs.sha }}
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
- name: Directory setup
|
||||
run: cmake -E make_directory build_distcheck-no_strict
|
||||
- name: Configure
|
||||
run: cmake -S brlcad -B build_distcheck-no_strict -G Ninja -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_DIR=${{ github.workspace }}/bext_output
|
||||
- name: Build
|
||||
run: cmake --build build_distcheck-no_strict --config Release --target distcheck-no_strict
|
||||
- name: Log
|
||||
if: always()
|
||||
run: cat build_distcheck-no_strict/distcheck-no_strict.log
|
||||
- name: Debug if failure
|
||||
if: failure()
|
||||
uses: mxschmitt/action-tmate@v3
|
||||
|
||||
distcheck-no_object:
|
||||
name: distcheck-no_object
|
||||
runs-on: ubuntu-latest
|
||||
needs: [distcheck-no_strict]
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/check.yml') }}
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev libgl-dev libinput-dev
|
||||
|
||||
- name: Setup - bext
|
||||
run: |
|
||||
git clone https://github.com/BRL-CAD/bext.git
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
cd ..
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.bext-sha.outputs.sha }}
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
- name: Directory setup
|
||||
run: cmake -E make_directory build_distcheck-no_object
|
||||
- name: Configure
|
||||
run: cmake -S brlcad -B build_distcheck-no_object -G Ninja -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_DIR=${{ github.workspace }}/bext_output
|
||||
- name: Build
|
||||
run: cmake --build build_distcheck-no_object --config Release --target distcheck-no_object
|
||||
- name: Log
|
||||
if: always()
|
||||
run: cat build_distcheck-no_object/distcheck-no_object.log
|
||||
- name: Debug if failure
|
||||
if: failure()
|
||||
uses: mxschmitt/action-tmate@v3
|
||||
|
||||
distcheck-odd_pathnames:
|
||||
name: distcheck-odd_pathnames
|
||||
runs-on: ubuntu-latest
|
||||
needs: [distcheck-no_object]
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/check.yml') }}
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev libgl-dev libinput-dev
|
||||
|
||||
- name: Setup - bext
|
||||
run: |
|
||||
git clone https://github.com/BRL-CAD/bext.git
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
cd ..
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.bext-sha.outputs.sha }}
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
- name: Directory setup
|
||||
run: cmake -E make_directory build_distcheck-odd_pathnames
|
||||
- name: Configure
|
||||
run: cmake -S brlcad -B build_distcheck-odd_pathnames -G Ninja -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_DIR=${{ github.workspace }}/bext_output
|
||||
- name: Build
|
||||
run: cmake --build build_distcheck-odd_pathnames --config Release --target distcheck-odd_pathnames
|
||||
- name: Log
|
||||
if: always()
|
||||
run: cat build_distcheck-odd_pathnames/distcheck-odd_pathnames.log
|
||||
- name: Debug if failure
|
||||
if: failure()
|
||||
uses: mxschmitt/action-tmate@v3
|
||||
|
||||
distcheck-in_src_dir:
|
||||
name: distcheck-in_src_dir
|
||||
runs-on: ubuntu-latest
|
||||
needs: [distcheck-odd_pathnames]
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/check.yml') }}
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev libgl-dev libinput-dev
|
||||
|
||||
- name: Setup - bext
|
||||
run: |
|
||||
git clone https://github.com/BRL-CAD/bext.git
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
cd ..
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.bext-sha.outputs.sha }}
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
- name: Directory setup
|
||||
run: cmake -E make_directory build_distcheck-in_src_dir
|
||||
- name: Configure
|
||||
run: cmake -S brlcad -B build_distcheck-in_src_dir -G Ninja -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_DIR=${{ github.workspace }}/bext_output
|
||||
- name: Build
|
||||
run: cmake --build build_distcheck-in_src_dir --config Release --target distcheck-in_src_dir
|
||||
- name: Log
|
||||
if: always()
|
||||
run: cat build_distcheck-in_src_dir/distcheck-in_src_dir.log
|
||||
- name: Debug if failure
|
||||
if: failure()
|
||||
uses: mxschmitt/action-tmate@v3
|
||||
|
||||
@@ -1,85 +0,0 @@
|
||||
# The purpose of this particular test definition is to support on-demand
|
||||
# interactive command shells. We sometimes see problems that occur only in the
|
||||
# Github Runner environments, and in order to explore what is happening we need
|
||||
# an interactive prompt (the alternative is hours-per-cycle submit and test
|
||||
# loops, which doesn't scale at all.)
|
||||
#
|
||||
# Unlike the other BRL-CAD tests, this one is started manually from the Github
|
||||
# website. For more information see https://mxschmitt.github.io/action-tmate/
|
||||
#
|
||||
# The "recommended" way to use this action is for the dev to make a fork of
|
||||
# the repository, alter the configure and/or build logic below for their
|
||||
# particular use case (the example below is a libged-only build used to zero
|
||||
# in on a specific libged behavior) before running.
|
||||
|
||||
name: BRL-CAD Linux Interactive Debugging
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
debug_enabled:
|
||||
type: boolean
|
||||
description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)'
|
||||
required: false
|
||||
default: false
|
||||
|
||||
jobs:
|
||||
|
||||
linux:
|
||||
name: Ubuntu Latest GCC
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
|
||||
- name: Setup - System
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
run: |
|
||||
sudo apt-get update
|
||||
# Install X/OpenGL dev pkgs
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
# Install tools
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils liblief-dev
|
||||
# Install dependency dev pkgs
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev
|
||||
# Cleanup (we want to avoid wasting disk space)
|
||||
sudo apt-get clean
|
||||
|
||||
- name: Setup - System Qt Build Requirements
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
run: |
|
||||
sudo apt-get update
|
||||
# Install XCB/OpenGL dev pkgs for Qt - see:
|
||||
# https://wiki.qt.io/Building_Qt_6_from_Git
|
||||
# https://doc.qt.io/qt-6/linux-requirements.html
|
||||
sudo apt-get install libfontconfig1-dev libfreetype6-dev libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libxcb-cursor-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-util-dev libxcb-xinerama0-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev
|
||||
sudo apt-get install libgl-dev
|
||||
sudo apt-get install libinput-dev
|
||||
sudo apt-get clean
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Build Directory setup
|
||||
run: |
|
||||
cmake -E make_directory ./build_linux
|
||||
|
||||
- name: Configure
|
||||
run: |
|
||||
export PATH=$ENV{GITHUB_WORKSPACE}:$PATH
|
||||
cmake -S . -G Ninja -B build_linux -DBRLCAD_EXT_PARALLEL=1 -DBRLCAD_COMPONENTS=libged -DBRLCAD_EXTRADOCS=OFF
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
export PATH=$ENV{GITHUB_WORKSPACE}:$PATH
|
||||
cmake --build build_linux --config Release --target check
|
||||
|
||||
- name: Debugging - tmate session
|
||||
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }}
|
||||
uses: mxschmitt/action-tmate@v3
|
||||
with:
|
||||
limit-access-to-actor: true
|
||||
|
||||
@@ -1,519 +0,0 @@
|
||||
# This file defines Continuous Integration (CI) tests for BRL-CAD using the
|
||||
# Github Actions framework that are executed each time a commit is pushed.
|
||||
# Currently it defines configurations for Windows, Linux and OSX.
|
||||
#
|
||||
# For more information about available platforms for testing, see:
|
||||
#
|
||||
# https://docs.github.com/en/free-pro-team@latest/actions/reference/specifications-for-github-hosted-runners
|
||||
#
|
||||
# The general rule when building in CI is to go more verbose in output settings
|
||||
# rather than less, since iterative debugging isn't practical. We also want to
|
||||
# avoid parallel building - while that will sometimes catch dependency issues,
|
||||
# it also makes the outputs far harder to interpret when there is a problem.
|
||||
# Better to do parallel build debugging in an environment were more interactive
|
||||
# and iterative debugging is available while preserving the readability of the
|
||||
# CI outputs for other issues.
|
||||
|
||||
name: Per-push
|
||||
|
||||
on:
|
||||
push:
|
||||
|
||||
jobs:
|
||||
|
||||
linux:
|
||||
name: Ubuntu GCC
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: true
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.event_name == 'push'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
|
||||
# Cache apt package downloads (not installed pkgs)
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/push.yml') }}
|
||||
|
||||
# Install system dependencies
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
# Install X/OpenGL dev pkgs
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
# Install tools
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
# Install dependency dev pkgs
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev
|
||||
# Install XCB/OpenGL dev pkgs for Qt - see:
|
||||
# https://wiki.qt.io/Building_Qt_6_from_Git
|
||||
# https://doc.qt.io/qt-6/linux-requirements.html
|
||||
sudo apt-get install libfontconfig1-dev libfreetype6-dev libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libxcb-cursor-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-util-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xinput-dev libxcb-xrm-dev libxkbcommon-dev libxkbcommon-x11-dev
|
||||
sudo apt-get install libgl-dev
|
||||
sudo apt-get install libinput-dev
|
||||
|
||||
# Prepare bext cache key
|
||||
- name: Clone bext
|
||||
run: git clone https://github.com/BRL-CAD/bext.git
|
||||
|
||||
- name: Get bext commit SHA
|
||||
id: bext-sha
|
||||
run: |
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Compute bext cache discriminator
|
||||
id: cachekey
|
||||
shell: bash
|
||||
run: |
|
||||
info="${{ steps.bext-sha.outputs.sha }}-$(uname -s)-$(uname -r)-$(gcc --version | head -n 1)"
|
||||
echo "hash=$(echo -n "$info" | sha1sum | awk '{print $1}')" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.cachekey.outputs.hash }}
|
||||
|
||||
- name: Build bext (if cache miss)
|
||||
if: steps.cache-bext.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
cmake -E make_directory bext_build
|
||||
cmake -S bext -B bext_build -DCMAKE_BUILD_TYPE=Release -DENABLE_ALL=ON -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/bext_output
|
||||
cmake --build bext_build --config Release -j 2
|
||||
cmake -E rm -rf bext
|
||||
cmake -E rm -rf bext_build
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
|
||||
- name: Directory setup
|
||||
run: |
|
||||
cmake -E make_directory ./build_linux
|
||||
cmake -E make_directory $HOME/.cache
|
||||
cmake -E make_directory $HOME/.cache/BRL-CAD
|
||||
|
||||
- name: Configure
|
||||
run: |
|
||||
export PATH=$GITHUB_WORKSPACE:$PATH
|
||||
cmake -S brlcad -B build_linux -G Ninja -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_DIR=${{ github.workspace }}/bext_output -DBRLCAD_ENABLE_QT=ON
|
||||
|
||||
- name: Build
|
||||
id: build_parallel
|
||||
run: |
|
||||
export PATH=$GITHUB_WORKSPACE:$PATH
|
||||
cmake --build build_linux --config Release --target check -j2
|
||||
cmake --build build_linux --config Release --target package -j2
|
||||
continue-on-error: true
|
||||
|
||||
- name: Build (serial for diagnostics)
|
||||
if: steps.build_parallel.outcome == 'failure'
|
||||
run: |
|
||||
export PATH=$GITHUB_WORKSPACE:$PATH
|
||||
cmake --build build_linux --config Release --target check
|
||||
cmake --build build_linux --config Release --target package
|
||||
|
||||
# A full distcheck is too expensive for the runners, but we can run the
|
||||
# repository integrity check and make sure we can build source archives.
|
||||
archives:
|
||||
name: Source Archives
|
||||
runs-on: ubuntu-latest
|
||||
needs: [linux]
|
||||
strategy:
|
||||
fail-fast: true
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.event_name == 'push'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/push.yml') }}
|
||||
|
||||
# Install system dependencies - we do the full setup here, even though
|
||||
# source archives isn't intended to build the main BRL-CAD, in case
|
||||
# this check is the one where the bext dependency cache check gets a miss.
|
||||
# In that case, this check will have to build bext to proceed - and it will
|
||||
# need the bext environment set up to do so.
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
# Install X/OpenGL dev pkgs
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
# Install tools
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
# Install dependency dev pkgs
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev
|
||||
# Install XCB/OpenGL dev pkgs for Qt - see:
|
||||
# https://wiki.qt.io/Building_Qt_6_from_Git
|
||||
# https://doc.qt.io/qt-6/linux-requirements.html
|
||||
sudo apt-get install libfontconfig1-dev libfreetype6-dev libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libxcb-cursor-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-util-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xinput-dev libxcb-xrm-dev libxkbcommon-dev libxkbcommon-x11-dev
|
||||
sudo apt-get install libgl-dev
|
||||
sudo apt-get install libinput-dev
|
||||
|
||||
- name: Clone bext
|
||||
run: git clone https://github.com/BRL-CAD/bext.git
|
||||
|
||||
- name: Get bext commit SHA
|
||||
id: bext-sha
|
||||
run: |
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Compute bext cache discriminator
|
||||
id: cachekey
|
||||
shell: bash
|
||||
run: |
|
||||
info="${{ steps.bext-sha.outputs.sha }}-$(uname -s)-$(uname -r)-$(gcc --version | head -n 1)"
|
||||
echo "hash=$(echo -n "$info" | sha1sum | awk '{print $1}')" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.cachekey.outputs.hash }}
|
||||
|
||||
- name: Build bext (if cache miss)
|
||||
if: steps.cache-bext.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
cmake -E make_directory bext_build
|
||||
cmake -S bext -B bext_build -DCMAKE_BUILD_TYPE=Release -DENABLE_ALL=ON -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/bext_output
|
||||
cmake --build bext_build --config Release -j2
|
||||
rm -rf bext
|
||||
rm -rf bext_build
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cmake -E make_directory build_archives
|
||||
cmake -S brlcad -B build_archives -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_PARALLEL=1 -DBRLCAD_EXT_DIR=${{ github.workspace }}/bext_output
|
||||
cmake --build build_archives --config Release --target distcheck-source_archives
|
||||
|
||||
windows:
|
||||
name: MSVC - Ninja
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
fail-fast: true
|
||||
if: github.event_name == 'push'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
|
||||
- name: Add msbuild to PATH
|
||||
uses: microsoft/setup-msbuild@v2
|
||||
|
||||
- name: Add cl.exe to PATH
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
|
||||
- name: Add github workspace to path
|
||||
shell: pwsh
|
||||
run: Add-Content -Path $env:GITHUB_PATH -Value $env:GITHUB_WORKSPACE
|
||||
|
||||
- name: Clone bext
|
||||
# Note - this will not check out any of the submodules unless we need
|
||||
# them for building, so it should be a very small disk space hit.
|
||||
# Consequently, we don't worry about deleting it unless we end up
|
||||
# having to build it. The bext source directory is not one of the
|
||||
# cached directories, so a straight git clone is fine - no need to
|
||||
# worry about colliding with a previous clone.
|
||||
run: git clone https://github.com/BRL-CAD/bext.git
|
||||
|
||||
- name: Get bext commit SHA
|
||||
id: bext-sha
|
||||
shell: powershell
|
||||
run: |
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $env:GITHUB_OUTPUT
|
||||
|
||||
- name: Compute bext cache discriminator
|
||||
id: cachekey
|
||||
shell: bash
|
||||
run: |
|
||||
clver=""
|
||||
if command -v cl.exe &> /dev/null; then
|
||||
clver="$(cl.exe 2>&1 | head -n 1)"
|
||||
fi
|
||||
info="${{ steps.bext-sha.outputs.sha }}-$(uname -s)-$(uname -r)-$clver"
|
||||
echo "hash=$(echo -n "$info" | sha1sum | awk '{print $1}')" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}\bext_output
|
||||
key: windows-bext-${{ steps.cachekey.outputs.hash }}
|
||||
|
||||
- name: Build bext (if cache miss)
|
||||
if: steps.cache-bext.outputs.cache-hit != 'true'
|
||||
shell: powershell
|
||||
run: |
|
||||
cmake -E make_directory bext_build
|
||||
cmake -S bext -B bext_build -DCMAKE_BUILD_TYPE=Release -DENABLE_ALL=ON -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}\bext_output
|
||||
cmake --build bext_build --config Release -j2
|
||||
# If we have had to build, the submodules are populated and the build
|
||||
# directory will have a lot in it. We only need the build ouputs
|
||||
# (bext_output) after this point, so clean up to save space for the
|
||||
# main BRL-CAD build.
|
||||
cmake -E rm -rf bext
|
||||
cmake -E rm -rf bext_build
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
|
||||
- name: Build Directory setup
|
||||
run: cmake -E make_directory ./build_winninja
|
||||
|
||||
- name: Configure
|
||||
shell: powershell
|
||||
run: |
|
||||
cmake -S brlcad -B build_winninja -G Ninja -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_CXX_COMPILER="cl.exe" -DBRLCAD_EXT_DIR=${{ github.workspace }}\bext_output -DCMAKE_BUILD_TYPE=Release -DBRLCAD_ENABLE_QT=ON
|
||||
|
||||
- name: Build
|
||||
id: build_parallel
|
||||
shell: powershell
|
||||
run: |
|
||||
ninja
|
||||
working-directory: ${{ github.workspace }}/build_winninja
|
||||
continue-on-error: true
|
||||
|
||||
- name: Build (serial for diagnostics)
|
||||
if: steps.build_parallel.outcome == 'failure'
|
||||
shell: powershell
|
||||
run: |
|
||||
ninja -j1 -v
|
||||
working-directory: ${{ github.workspace }}/build_winninja
|
||||
|
||||
- name: Check
|
||||
shell: powershell
|
||||
run: |
|
||||
ninja check -v
|
||||
working-directory: ${{ github.workspace }}/build_winninja
|
||||
|
||||
- name: Package
|
||||
shell: powershell
|
||||
run: |
|
||||
ninja package
|
||||
working-directory: ${{ github.workspace }}/build_winninja
|
||||
|
||||
windows_std_tools:
|
||||
name: MSVC - Standard Tools
|
||||
needs: [windows]
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
fail-fast: true
|
||||
if: github.event_name == 'push'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
|
||||
- name: Clone bext
|
||||
# Note - this will not check out any of the submodules unless we need
|
||||
# them for building, so it should be a very small disk space hit.
|
||||
# Consequently, we don't worry about deleting it unless we end up
|
||||
# having to build it. The bext source directory is not one of the
|
||||
# cached directories, so a straight git clone is fine - no need to
|
||||
# worry about colliding with a previous clone.
|
||||
#
|
||||
# In theory we could rely on the windows Ninja test for this, since we
|
||||
# depend on it, but we define each test to be potentially stand-alone
|
||||
# in case we end up removing the other windows test(s) for any reason.
|
||||
run: git clone https://github.com/BRL-CAD/bext.git
|
||||
|
||||
- name: Get bext commit SHA
|
||||
id: bext-sha
|
||||
shell: pwsh
|
||||
run: |
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $env:GITHUB_OUTPUT
|
||||
|
||||
- name: Compute bext cache discriminator
|
||||
id: cachekey
|
||||
shell: bash
|
||||
run: |
|
||||
clver=""
|
||||
if command -v cl.exe &> /dev/null; then
|
||||
clver="$(cl.exe 2>&1 | head -n 1)"
|
||||
fi
|
||||
info="${{ steps.bext-sha.outputs.sha }}-$(uname -s)-$(uname -r)-$clver"
|
||||
echo "hash=$(echo -n "$info" | sha1sum | awk '{print $1}')" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}\bext_output
|
||||
key: windows-bext-${{ steps.cachekey.outputs.hash }}
|
||||
|
||||
- name: Build bext (if cache miss)
|
||||
# Note - most of windows_std_tools builds using cmd and avoids ninja,
|
||||
# but for the bext build if we need to do it) we want to match the
|
||||
# behavior of the ninja build so we have consistent inputs.
|
||||
if: steps.cache-bext.outputs.cache-hit != 'true'
|
||||
shell: powershell
|
||||
run: |
|
||||
cmake -E make_directory bext_build
|
||||
cmake -S bext -B bext_build -DCMAKE_BUILD_TYPE=Release -DENABLE_ALL=ON -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}\bext_output
|
||||
cmake --build bext_build --config Release -j2
|
||||
# If we have had to build, the submodules are populated and the build
|
||||
# directory will have a lot in it. We only need the build ouputs
|
||||
# (bext_output) after this point, so clean up to save space for the
|
||||
# main BRL-CAD build.
|
||||
cmake -E rm -rf bext
|
||||
cmake -E rm -rf bext_build
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
|
||||
- name: Build Directory setup
|
||||
run: |
|
||||
cmake -E make_directory ./build_winstd
|
||||
|
||||
- name: Configure
|
||||
shell: cmd
|
||||
run: |
|
||||
call "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat"
|
||||
cmake -S brlcad -B build_winstd -DBRLCAD_EXT_PARALLEL=1 -DBRLCAD_BUNDLED_LIBS=Bundled -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_DIR=%GITHUB_WORKSPACE%\bext_output -DBRLCAD_ENABLE_QT=ON
|
||||
|
||||
- name: Build
|
||||
id: build_parallel
|
||||
shell: cmd
|
||||
run: |
|
||||
call "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat"
|
||||
cmake --build build_winstd --config Release -j2
|
||||
continue-on-error: true
|
||||
|
||||
- name: Build (serial for diagnostics)
|
||||
if: steps.build_parallel.outcome == 'failure'
|
||||
shell: cmd
|
||||
run: |
|
||||
cmake --build build_winstd --config Release mged
|
||||
|
||||
- name: Check
|
||||
shell: cmd
|
||||
run: |
|
||||
call "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat"
|
||||
cmake --build build_winstd --config Release --target check -j2
|
||||
|
||||
- name: Package
|
||||
shell: cmd
|
||||
run: |
|
||||
call "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat"
|
||||
cmake --build build_winstd --config Release --target package -j2
|
||||
|
||||
osx:
|
||||
name: macOS Clang
|
||||
needs: [linux]
|
||||
runs-on: macos-14
|
||||
strategy:
|
||||
fail-fast: true
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
|
||||
- name: Install Xquartz
|
||||
run: |
|
||||
brew install xquartz --cask
|
||||
|
||||
- name: Clone bext
|
||||
run: git clone https://github.com/BRL-CAD/bext.git
|
||||
|
||||
- name: Get bext commit SHA
|
||||
id: bext-sha
|
||||
run: |
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Compute bext cache discriminator
|
||||
id: cachekey
|
||||
shell: bash
|
||||
run: |
|
||||
xcodever="$(xcodebuild -version | head -n 1 | awk '{print $2}')"
|
||||
clangver="$(clang --version | head -n 1)"
|
||||
info="${{ steps.bext-sha.outputs.sha }}-$(uname -s)-$(uname -r)-$xcodever-$clangver"
|
||||
echo "hash=$(echo -n "$info" | sha1sum | awk '{print $1}')" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: macos-bext-${{ steps.cachekey.outputs.hash }}
|
||||
|
||||
- name: Build bext (if cache miss)
|
||||
if: steps.cache-bext.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
cmake -E make_directory bext_build
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
# Right now on OSX we need ENABLE_ALL, because Mac system Tcl/Tk won't work
|
||||
cmake -S bext -B bext_build -DENABLE_ALL=ON -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/bext_output -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build bext_build -j 2
|
||||
cmake -E rm -rf bext
|
||||
cmake -E rm -rf bext_build
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
|
||||
- name: Build Directory setup
|
||||
run: |
|
||||
cmake -E make_directory build_osx
|
||||
cmake -E make_directory $HOME/.cache
|
||||
cmake -E make_directory $HOME/.cache/BRL-CAD
|
||||
|
||||
- name: Configure
|
||||
run: |
|
||||
export PATH=$GITHUB_WORKSPACE:$PATH
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -S brlcad -B build_osx -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_DIR=${{ github.workspace }}/bext_output -DBRLCAD_ENABLE_QT=ON
|
||||
|
||||
- name: Build
|
||||
id: build_parallel
|
||||
run: |
|
||||
export PATH=$GITHUB_WORKSPACE:$PATH
|
||||
make -j2
|
||||
working-directory: ${{ github.workspace }}/build_osx
|
||||
continue-on-error: true
|
||||
|
||||
- name: Build (serial for diagnostics)
|
||||
if: steps.build_parallel.outcome == 'failure'
|
||||
run: |
|
||||
make
|
||||
working-directory: ${{ github.workspace }}/build_osx
|
||||
|
||||
- name: Check
|
||||
run: |
|
||||
export PATH=$GITHUB_WORKSPACE:$PATH
|
||||
make check
|
||||
working-directory: ${{ github.workspace }}/build_osx
|
||||
|
||||
- name: Package
|
||||
run: |
|
||||
export PATH=$GITHUB_WORKSPACE:$PATH
|
||||
make package
|
||||
working-directory: ${{ github.workspace }}/build_osx
|
||||
@@ -1,438 +0,0 @@
|
||||
# This file defines Continuous Integration (CI) tests for BRL-CAD using the
|
||||
# Github Actions framework. Currently it defines configurations for Windows,
|
||||
# Linux and OSX. These tests are run on a fixed schedule, rather than per
|
||||
# push, and will typically take longer to run.
|
||||
#
|
||||
# Tests here are intended to test more expensive integrations and longer
|
||||
# builds than the ones targeted at per-commit feedback. The tradeoff is
|
||||
# that a failure in these tests might be cause by any commit within a
|
||||
# 24 hour block of time, so the developer will need to track down the
|
||||
# specifics themselves.
|
||||
|
||||
name: Scheduled
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 3 * * *' # daily at 03:00 UTC
|
||||
|
||||
jobs:
|
||||
|
||||
linux_bext:
|
||||
name: Linux - BRL-CAD bext build
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: true
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.event_name == 'schedule'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
|
||||
# Cache apt package downloads (not installed pkgs)
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/check.yml') }}
|
||||
|
||||
# Install system dependencies
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
# Install X/OpenGL dev pkgs
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
# Install tools
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
# Install dependency dev pkgs
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev
|
||||
# Install XCB/OpenGL dev pkgs for Qt - see:
|
||||
# https://wiki.qt.io/Building_Qt_6_from_Git
|
||||
# https://doc.qt.io/qt-6/linux-requirements.html
|
||||
sudo apt-get install libfontconfig1-dev libfreetype6-dev libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libxcb-cursor-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-util-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xinput-dev libxcb-xrm-dev libxkbcommon-dev libxkbcommon-x11-dev
|
||||
sudo apt-get install libgl-dev
|
||||
sudo apt-get install libinput-dev
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
|
||||
- name: Directory setup
|
||||
run: |
|
||||
cmake -E make_directory build_linux
|
||||
cmake -E make_directory $HOME/.cache
|
||||
cmake -E make_directory $HOME/.cache/BRL-CAD
|
||||
|
||||
- name: Configure
|
||||
run: |
|
||||
export PATH=$GITHUB_WORKSPACE:$PATH
|
||||
cmake -S brlcad -B build_linux -G Ninja -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_PARALLEL=1 -DBRLCAD_BEXT_CLEANUP=ON -DBRLCAD_ENABLE_QT=ON
|
||||
|
||||
- name: Build + Check + Package
|
||||
run: |
|
||||
export PATH=$GITHUB_WORKSPACE:$PATH
|
||||
cmake --build build_linux --config Release --target check
|
||||
cmake --build build_linux --config Release --target package
|
||||
|
||||
windows_bext:
|
||||
name: MSVC - Ninja - BRL-CAD bext build
|
||||
needs: [linux_bext]
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
fail-fast: true
|
||||
if: github.event_name == 'schedule'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
|
||||
- name: Add msbuild to PATH
|
||||
uses: microsoft/setup-msbuild@v2
|
||||
|
||||
- name: Add cl.exe to PATH
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
|
||||
- name: Add github workspace to path
|
||||
shell: powershell
|
||||
run: Add-Content -Path $env:GITHUB_PATH -Value $env:GITHUB_WORKSPACE
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
|
||||
- name: Build Directory setup
|
||||
run: cmake -E make_directory ./build_winninja
|
||||
|
||||
- name: Configure
|
||||
shell: powershell
|
||||
run: |
|
||||
cmake -S brlcad -B build_winninja -G Ninja -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_CXX_COMPILER="cl.exe" -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_PARALLEL=1 -DBRLCAD_BEXT_CLEANUP=ON -DBRLCAD_ENABLE_QT=ON
|
||||
|
||||
- name: Build
|
||||
shell: powershell
|
||||
run: |
|
||||
ninja -j1 -v
|
||||
working-directory: ${{ github.workspace }}/build_winninja
|
||||
|
||||
- name: Check
|
||||
shell: powershell
|
||||
run: |
|
||||
ninja check -v
|
||||
working-directory: ${{ github.workspace }}/build_winninja
|
||||
|
||||
- name: Package
|
||||
shell: powershell
|
||||
run: |
|
||||
ninja package
|
||||
working-directory: ${{ github.workspace }}/build_winninja
|
||||
|
||||
windows_std_tools_bext:
|
||||
name: MSVC - Standard Tools - BRL-CAD bext build
|
||||
needs: [windows_bext]
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
fail-fast: true
|
||||
if: github.event_name == 'schedule'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
|
||||
- name: Add github workspace to path
|
||||
shell: cmd
|
||||
run: echo %GITHUB_WORKSPACE%>>"%GITHUB_PATH%"
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
|
||||
- name: Build Directory setup
|
||||
run: |
|
||||
cmake -E make_directory ./build_winstd
|
||||
|
||||
- name: Configure
|
||||
shell: cmd
|
||||
run: |
|
||||
call "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat"
|
||||
cmake -S brlcad -B build_winstd -DBRLCAD_EXT_PARALLEL=1 -DBRLCAD_BUNDLED_LIBS=Bundled -DBRLCAD_EXT_PARALLEL=1 -DCMAKE_BUILD_TYPE=Release -DBRLCAD_BEXT_CLEANUP=ON -DBRLCAD_ENABLE_QT=ON
|
||||
|
||||
- name: Build
|
||||
shell: cmd
|
||||
run: |
|
||||
call "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat"
|
||||
cmake --build build_winstd --config Release --target mged
|
||||
|
||||
- name: Check
|
||||
shell: cmd
|
||||
run: |
|
||||
call "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat"
|
||||
cmake --build build_winstd --config Release --target check
|
||||
|
||||
- name: Package
|
||||
shell: cmd
|
||||
run: |
|
||||
call "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat"
|
||||
cmake --build build_winstd --config Release --target package
|
||||
|
||||
osx_bext:
|
||||
name: macOS - BRL-CAD bext build
|
||||
needs: [linux_bext]
|
||||
runs-on: macos-14
|
||||
strategy:
|
||||
fail-fast: true
|
||||
if: github.event_name == 'schedule'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
|
||||
- name: Install Xquartz
|
||||
run: |
|
||||
brew install xquartz --cask
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
|
||||
- name: Build Directory setup
|
||||
run: |
|
||||
cmake -E make_directory build_osx
|
||||
cmake -E make_directory $HOME/.cache
|
||||
cmake -E make_directory $HOME/.cache/BRL-CAD
|
||||
|
||||
- name: Configure
|
||||
run: |
|
||||
export PATH=$GITHUB_WORKSPACE:$PATH
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -S brlcad -B build_osx -DCMAKE_BUILD_TYPE=Release -DBRLCAD_EXT_PARALLEL=1 -DBRLCAD_BEXT_CLEANUP=ON -DBRLCAD_ENABLE_QT=ON
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
make
|
||||
working-directory: ${{ github.workspace }}/build_osx
|
||||
|
||||
- name: Check
|
||||
run: |
|
||||
make check
|
||||
working-directory: ${{ github.workspace }}/build_osx
|
||||
|
||||
- name: Package
|
||||
run: |
|
||||
make package
|
||||
working-directory: ${{ github.workspace }}/build_osx
|
||||
|
||||
linux_static:
|
||||
name: Clang Static Analyser
|
||||
needs: [linux_bext]
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: true
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.event_name == 'schedule' && github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/check.yml') }}
|
||||
|
||||
# Setup hint from https://github.com/darktable-org/rawspeed/blob/develop/.github/workflows/ci-static-analysis.yml
|
||||
- name: Clang Static Analyzer Setup
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install clang-18 clang-tools-18
|
||||
# Install X/OpenGL dev pkgs
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
# Install tools
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
# Install dependency dev pkgs
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev
|
||||
# Install XCB/OpenGL dev pkgs for Qt - see:
|
||||
# https://wiki.qt.io/Building_Qt_6_from_Git
|
||||
# https://doc.qt.io/qt-6/linux-requirements.html
|
||||
sudo apt-get install libfontconfig1-dev libfreetype6-dev libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libxcb-cursor-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-util-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xinput-dev libxcb-xrm-dev libxkbcommon-dev libxkbcommon-x11-dev
|
||||
sudo apt-get install libgl-dev
|
||||
sudo apt-get install libinput-dev # Cleanup
|
||||
|
||||
- name: Clone bext
|
||||
run: git clone https://github.com/BRL-CAD/bext.git
|
||||
|
||||
- name: Get bext commit SHA
|
||||
id: bext-sha
|
||||
run: |
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Compute bext cache discriminator
|
||||
id: cachekey
|
||||
shell: bash
|
||||
run: |
|
||||
info="${{ steps.bext-sha.outputs.sha }}-$(uname -s)-$(uname -r)-$(gcc --version | head -n 1)"
|
||||
echo "hash=$(echo -n "$info" | sha1sum | awk '{print $1}')" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.cachekey.outputs.hash }}
|
||||
|
||||
- name: Build bext (if cache miss)
|
||||
if: steps.cache-bext.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
cmake -E make_directory bext_build
|
||||
cmake -S bext -B bext_build -DCMAKE_BUILD_TYPE=Release -DENABLE_ALL=ON -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/bext_output
|
||||
cmake --build bext_build --config Release -j 2
|
||||
cmake -E rm -rf bext
|
||||
cmake -E rm -rf bext_build
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
|
||||
- name: Directory setup
|
||||
run: |
|
||||
cmake -E make_directory build_clangstatic
|
||||
cmake -E make_directory $HOME/.cache
|
||||
cmake -E make_directory $HOME/.cache/BRL-CAD
|
||||
working-directory: ${{ github.workspace }}/brlcad
|
||||
|
||||
- name: Run Analyzer
|
||||
run: |
|
||||
export PATH=$GITHUB_WORKSPACE:/usr/share/clang/scan-build-18/bin:/usr/share/clang/scan-build-18/libexec:$PATH
|
||||
cp $GITHUB_WORKSPACE/brlcad/misc/clang-static-analyzer-run.sh .
|
||||
./clang-static-analyzer-run.sh
|
||||
working-directory: ${{ github.workspace }}/brlcad/build_clangstatic
|
||||
|
||||
- name: Summary
|
||||
if: success() || failure()
|
||||
run: |
|
||||
sudo apt-get install html2text
|
||||
html2text scan-reports-all/*/index.html
|
||||
working-directory: ${{ github.workspace }}/brlcad/build_clangstatic
|
||||
|
||||
|
||||
# See https://app.codecov.io/gh/BRL-CAD/brlcad for analysis results
|
||||
linux_cov:
|
||||
name: LCOV Coverage testing
|
||||
needs: [linux_bext]
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: true
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
if: github.event_name == 'schedule' && github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: Setup - CMake
|
||||
uses: lukka/get-cmake@latest
|
||||
|
||||
- name: Cache apt packages
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/var/cache/apt/archives
|
||||
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/check.yml') }}
|
||||
|
||||
- name: Setup - System
|
||||
run: |
|
||||
sudo apt-get update
|
||||
# Get the lcov tool and its dependencies
|
||||
sudo apt-get install lcov
|
||||
# Install X/OpenGL dev pkgs
|
||||
sudo apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev libglu1-mesa-dev libfontconfig-dev
|
||||
# Install tools
|
||||
sudo apt-get install astyle re2c xsltproc libxml2-utils
|
||||
# Install dependency dev pkgs
|
||||
sudo apt-get install zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libeigen3-dev libgdal-dev libassimp-dev libopencv-dev tcl-dev tk-dev
|
||||
# Install XCB/OpenGL dev pkgs for Qt - see:
|
||||
# https://wiki.qt.io/Building_Qt_6_from_Git
|
||||
# https://doc.qt.io/qt-6/linux-requirements.html
|
||||
sudo apt-get install libfontconfig1-dev libfreetype6-dev libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libxcb-cursor-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-util-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xinput-dev libxcb-xrm-dev libxkbcommon-dev libxkbcommon-x11-dev
|
||||
sudo apt-get install libgl-dev
|
||||
sudo apt-get install libinput-dev
|
||||
|
||||
- name: Clone bext
|
||||
run: git clone https://github.com/BRL-CAD/bext.git
|
||||
|
||||
- name: Get bext commit SHA
|
||||
id: bext-sha
|
||||
run: |
|
||||
cd bext
|
||||
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Compute bext cache discriminator
|
||||
id: cachekey
|
||||
shell: bash
|
||||
run: |
|
||||
info="${{ steps.bext-sha.outputs.sha }}-$(uname -s)-$(uname -r)-$(gcc --version | head -n 1)"
|
||||
echo "hash=$(echo -n "$info" | sha1sum | awk '{print $1}')" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Cache bext build outputs
|
||||
id: cache-bext
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/bext_output
|
||||
key: ${{ runner.os }}-bext-${{ steps.cachekey.outputs.hash }}
|
||||
|
||||
- name: Build bext (if cache miss)
|
||||
if: steps.cache-bext.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
cmake -E make_directory bext_build
|
||||
cmake -S bext -B bext_build -DCMAKE_BUILD_TYPE=Release -DENABLE_ALL=ON -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/bext_output
|
||||
cmake --build bext_build --config Release -j 2
|
||||
cmake -E rm -rf bext
|
||||
cmake -E rm -rf bext_build
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: brlcad
|
||||
|
||||
- name: Directory setup
|
||||
run: |
|
||||
cmake -E make_directory build_lcov
|
||||
cmake -E make_directory $HOME/.cache
|
||||
cmake -E make_directory $HOME/.cache/BRL-CAD
|
||||
|
||||
- name: Configure
|
||||
run: |
|
||||
export PATH=$GITHUB_WORKSPACE:$PATH
|
||||
cmake -S brlcad -B build_lcov -DBRLCAD_ENABLE_COVERAGE=ON -DCMAKE_BUILD_TYPE=Debug -DBRLCAD_EXT_DIR=${{ github.workspace }}/bext_output -DBRLCAD_ENABLE_QT=ON
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
export PATH=$GITHUB_WORKSPACE:$PATH
|
||||
cmake --build build_lcov -j2
|
||||
|
||||
- name: Build (serial for diagnostics)
|
||||
if: steps.build_parallel.outcome == 'failure'
|
||||
run: |
|
||||
export PATH=$GITHUB_WORKSPACE:$PATH
|
||||
cmake --build build_lcov -j1
|
||||
continue-on-error: true
|
||||
|
||||
- name: Run Coverage Test
|
||||
run: |
|
||||
find . -name '*.gcda' -exec rm {} \;
|
||||
make check
|
||||
lcov --capture --directory . --output-file coverage.info
|
||||
lcov -r coverage.info \*\/bext_output\/\* > coverage-2.info
|
||||
lcov -r coverage-2.info \/usr\/\* > coverage_cad.info
|
||||
rm coverage-*.info
|
||||
mv coverage_cad.info ..
|
||||
working-directory: ${{ github.workspace }}/build_lcov
|
||||
|
||||
- name: Upload
|
||||
uses: codecov/codecov-action@v4
|
||||
with:
|
||||
files: ./coverage_cad.info
|
||||
|
||||
-40
@@ -1,40 +0,0 @@
|
||||
# Common build directories used in the source tree
|
||||
/build*
|
||||
/.build*
|
||||
/*_build*
|
||||
/*-build*
|
||||
/out
|
||||
|
||||
# Temporary files
|
||||
*~
|
||||
\#*\#
|
||||
.\#*
|
||||
[._]*.s[a-v][a-z]
|
||||
[._]*.sw[a-p]
|
||||
[._]s[a-v][a-z]
|
||||
[._]sw[a-p]
|
||||
|
||||
# OS specific files
|
||||
.DS_Store
|
||||
.DS_Store?
|
||||
|
||||
# CMake supports some configuration files to allow users a convenient way to pre-define
|
||||
# sets of configuration options:
|
||||
# https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html
|
||||
/CMakeUserPresets.json
|
||||
|
||||
# Visual Studio (note that CMakePresets.json is recommended instead of
|
||||
# CMakeSettings.json for Visual Studio going forward)
|
||||
# https://learn.microsoft.com/en-us/cpp/build/cmake-presets-vs
|
||||
# https://learn.microsoft.com/en-us/cpp/build/customize-cmake-settings
|
||||
/.vs
|
||||
.vscode
|
||||
/CMakeSettings.json
|
||||
|
||||
#Qt Creator
|
||||
CMakeLists.txt.user
|
||||
|
||||
# Misc
|
||||
.clang-format
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@ Hanes, Jeff
|
||||
U.S. Army Ballistic Research Laboratory
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Johnson, Christopher T.
|
||||
Johnson, Christopher T. <cjohnson@cyberpaladin.com>
|
||||
nicknames cjohnson
|
||||
1989 February
|
||||
Cray Research, Inc.
|
||||
@@ -119,7 +119,7 @@ Geometric Solutions, Inc.
|
||||
Paladin Software
|
||||
JRMTech, Inc.
|
||||
|
||||
Butler, Lee A.
|
||||
Butler, Lee A. <butler@arl.army.mil>
|
||||
nicknames butler, lbutler
|
||||
1989 July
|
||||
U.S. Army Ballistic Research Laboratory
|
||||
@@ -131,7 +131,7 @@ nicknames pjt
|
||||
U.S. Army Ballistic Research Laboratory
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Markowski, Michael J.
|
||||
Markowski, Michael J. <michael.markowski@arl.army.mil>
|
||||
nicknames mmark, mm
|
||||
1991 June
|
||||
U.S. Army Ballistic Research Laboratory
|
||||
@@ -141,7 +141,7 @@ nicknames gdurf
|
||||
1992 August
|
||||
ARL Student Hire / Carnegie Mellon University
|
||||
|
||||
Anderson, John R.
|
||||
Anderson, John R. <jra@arl.army.mil>
|
||||
nicknames jra, johnranderson
|
||||
1993 May
|
||||
U.S. Army Ballistic Research Laboratory
|
||||
@@ -154,14 +154,14 @@ nicknames adam
|
||||
1995 October
|
||||
Geometric Solutions, Inc.
|
||||
|
||||
Parker, Robert G.
|
||||
Parker, Robert G. **
|
||||
nicknames include bparker, bob1961
|
||||
1995 January
|
||||
U.S. Army Research Laboratory
|
||||
SURVICE Engineering, Inc.
|
||||
Open Source
|
||||
|
||||
Morrison, Christopher Sean <morrison@brlcad.org>
|
||||
Morrison, Christopher Sean <morrison@brlcad.org> **
|
||||
nicknames sean, morrison, brlcad
|
||||
1998 December
|
||||
ARL Student Hire / Johns Hopkins University
|
||||
@@ -178,7 +178,7 @@ nicknames tranese
|
||||
2001 March
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Hartley, Robert F.
|
||||
Hartley, Robert F. <hartley@vt.edu>
|
||||
nicknames hartley
|
||||
2002 August
|
||||
ARL Student Hire / Virginia Tech
|
||||
@@ -189,48 +189,48 @@ nicknames twingy, justin
|
||||
Quantum Research International, Inc.
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Greenwald, Erik
|
||||
Greenwald, Erik <erikg@arl.army.mil> **
|
||||
nicknames erikg, erikgreenwald
|
||||
2003 November
|
||||
U.S. Army Research Laboratory
|
||||
Open Source
|
||||
|
||||
Roßberg, Daniel
|
||||
Roßberg, Daniel **
|
||||
nicknames d_rossberg
|
||||
2005 June
|
||||
Industrieanlagen-Betriebsgesellschaft mbH (IABG)
|
||||
Open Source
|
||||
|
||||
Yapp, Cliff
|
||||
Yapp, Cliff **
|
||||
nicknames starseeker
|
||||
2007 September
|
||||
Open Source
|
||||
Quantum Research International, Inc.
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Bowman, W. Keith
|
||||
Bowman, W. Keith **
|
||||
nicknames indianlarry
|
||||
SURVICE Engineering, Inc.
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Weiss, Richard
|
||||
Weiss, Richard **
|
||||
nicknames r_weiss
|
||||
2008 December
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Browder, Thomas M. Jr.
|
||||
Browder, Thomas M. Jr. **
|
||||
nicknames tbrowder2
|
||||
2008 June
|
||||
ManTech International Corporation
|
||||
Open Source
|
||||
|
||||
Reed, Nicholas
|
||||
Reed, Nicholas **
|
||||
nicknames n_reed
|
||||
2008 July
|
||||
ARL Student Hire / University of Maryland, Baltimore County
|
||||
Quantum Research International, Inc.
|
||||
|
||||
Moore, Jr., Carl G.
|
||||
Moore, Jr., Carl G. **
|
||||
nicknames cmoore, carlmoore
|
||||
2011 October
|
||||
U.S. Army Research Laboratory
|
||||
@@ -243,7 +243,7 @@ Weaver, Earl P.
|
||||
1980
|
||||
U.S. Army Ballistic Research Laboratory
|
||||
|
||||
Davisson, Edwin O.
|
||||
Davisson, Edwin O. **
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Rogers, David
|
||||
@@ -260,10 +260,10 @@ U.S. Army Ballistic Research Laboratory
|
||||
Applin, Keith A.
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Kregel, Dwayne
|
||||
Kregel, Dwayne **
|
||||
SURVICE Engineering, Inc.
|
||||
|
||||
Weaver, Stephanie 'Rain'
|
||||
Weaver, Stephanie 'Rain' **
|
||||
2009 June
|
||||
ARL Student Hire / Bridgewater College
|
||||
|
||||
@@ -366,10 +366,6 @@ McDonald, Rob
|
||||
2013 November
|
||||
Open Source
|
||||
|
||||
Roberts, Mitchell
|
||||
2014 July
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Tannous, Marc
|
||||
2014 December
|
||||
Open Source (GCI)
|
||||
@@ -898,188 +894,15 @@ nicknames chetanshinde911
|
||||
Open Source (GSoC)
|
||||
|
||||
Haydar, Ali
|
||||
nicknames lois221 lgoogl696 LouisGoogl
|
||||
nicknames lois221
|
||||
2019 May
|
||||
Open Source (GSoC)
|
||||
|
||||
Nayak, Himanshu
|
||||
nicknames himanshu40
|
||||
2020 January
|
||||
Open Source (GSoC)
|
||||
|
||||
Suthar, Rishabh
|
||||
nicknames yamhai, rishabhsuthar32
|
||||
2020 March
|
||||
Open Source (GSoC)
|
||||
|
||||
Vaidya, Sahil
|
||||
nicknames sahilvaidya99
|
||||
2020 April
|
||||
ARL Student Hire / University of Texas at Austin
|
||||
|
||||
Das, Sumagna
|
||||
nicknames sumagnadas
|
||||
2020 May
|
||||
Open Source
|
||||
|
||||
Atreya, Vikram
|
||||
nicknames vikram-atreya
|
||||
2020 October
|
||||
Open Source
|
||||
|
||||
Dinges, Trey
|
||||
nicknames treydinges
|
||||
2021 October
|
||||
Texas A&M University
|
||||
|
||||
Connelly, Cole D.
|
||||
nicknames cdconn00
|
||||
2021 October
|
||||
Texas A&M University
|
||||
|
||||
Olivarez, Vincent
|
||||
nicknames volivarez60
|
||||
2021 October
|
||||
Texas A&M University
|
||||
|
||||
McGregor, Christopher J.
|
||||
nicknames f4alt
|
||||
2021 October
|
||||
Texas A&M University
|
||||
|
||||
Studwell, Alex P.
|
||||
nicknames apstudwell
|
||||
2021 October
|
||||
Texas A&M University
|
||||
|
||||
Wilson, Reid
|
||||
nicknames rwilson
|
||||
2021 October
|
||||
Texas A&M University
|
||||
|
||||
Paz, Luz
|
||||
nicknames luzpaz
|
||||
2022 February
|
||||
Open Source
|
||||
|
||||
Ferguson, Sean
|
||||
nicknames GradualSyrup
|
||||
2022 March
|
||||
Texas A&M University
|
||||
|
||||
Chambers, William R.
|
||||
nicknames redcarrera
|
||||
2022 April
|
||||
U.S. Army DEVCOM Analysis Center
|
||||
|
||||
Kejriwal, Tanya
|
||||
nicknames tanyakejriwal
|
||||
2022 February
|
||||
Texas A&M University
|
||||
|
||||
Servin, Diego
|
||||
nicknames dservin
|
||||
2022 February
|
||||
Texas A&M University
|
||||
|
||||
Norris, Cameron
|
||||
nicknames cameron-norris
|
||||
2022 February
|
||||
Texas A&M University
|
||||
|
||||
Hernandez, Luis
|
||||
nicknames LouisTheLeaf
|
||||
2022 February
|
||||
Texas A&M University
|
||||
|
||||
Curtis, Alexandria
|
||||
nicknames acurtis55
|
||||
2022 February
|
||||
Texas A&M University
|
||||
|
||||
Plaisance, Andrew T.
|
||||
nicknames atp318
|
||||
2022 February
|
||||
Texas A&M University
|
||||
|
||||
Stepic, Joseph
|
||||
nicknames JosephStepic
|
||||
2022 February
|
||||
Texas A&M University
|
||||
|
||||
Santos, Kevin
|
||||
2022 February
|
||||
Texas A&M University
|
||||
|
||||
Bergeron, Wesley Paul
|
||||
2022 February
|
||||
Texas A&M University
|
||||
|
||||
Chen, Zhuo (Danny)
|
||||
2023 February
|
||||
Texas A&M University
|
||||
|
||||
Hoskinson, Allyson
|
||||
2023 February
|
||||
Texas A&M University
|
||||
|
||||
Plant, Andrew
|
||||
2023 February
|
||||
Texas A&M University
|
||||
|
||||
Sturtevant, Mark
|
||||
2023 February
|
||||
Texas A&M University
|
||||
|
||||
Tao, Michael
|
||||
2023 February
|
||||
Texas A&M University
|
||||
|
||||
Dhawan, Rohan
|
||||
2023 October
|
||||
Texas A&M University
|
||||
|
||||
Feng, Feng
|
||||
2023 October
|
||||
Texas A&M University
|
||||
|
||||
Hollenbeck, Sam
|
||||
nicknames samhollenbeck
|
||||
2023 October
|
||||
Texas A&M University
|
||||
|
||||
Pham, Timothy
|
||||
nicknames YUMGUY
|
||||
2023 October
|
||||
Texas A&M University
|
||||
|
||||
Zou, Yida
|
||||
nicknames YidaZou
|
||||
2023 October
|
||||
Texas A&M University
|
||||
|
||||
Reynolds, Timothy
|
||||
nicknames TheZouave007
|
||||
2024 February
|
||||
Texas A&M University
|
||||
|
||||
Delbarre, Gaultier
|
||||
nicknames CoralRocker
|
||||
2024 March
|
||||
Texas A&M University
|
||||
|
||||
Beckett, Ian
|
||||
2024 March
|
||||
Texas A&M University
|
||||
|
||||
McLean, Connor
|
||||
2024 March
|
||||
Texas A&M University
|
||||
|
||||
Reel, Samuel (Sammy)
|
||||
2024 March
|
||||
Texas A&M University
|
||||
|
||||
|
||||
SPECIAL THANKS
|
||||
--------------
|
||||
@@ -1394,14 +1217,6 @@ Liu, Jeffrey
|
||||
2019 December
|
||||
Open Source (GCI)
|
||||
|
||||
Wade, Pauline
|
||||
2021 August
|
||||
Texas A&M University
|
||||
|
||||
nicknames r-ricci
|
||||
2022 January
|
||||
Open Source
|
||||
|
||||
|
||||
CORPORATE AND ORGANIZATION SUPPORT
|
||||
----------------------------------
|
||||
@@ -1473,6 +1288,10 @@ contributed entirely before the name change reflect the original name,
|
||||
whereas persons who continued or began contributions after the name
|
||||
change reflect the new name.
|
||||
|
||||
If corrections or additions need to be made, please contact one of the
|
||||
developers. Additionally, you may send inquiries, suggestions, and
|
||||
comments to the developer list: brlcad-devel@lists.sourceforge.net
|
||||
** The individual is an active contributor, participating in BRL-CAD
|
||||
development within the past 12 months with numerous contributions.
|
||||
|
||||
If any corrections or additions need to be made, please contact one of
|
||||
the active core developers. Additionally, you may send inquiries,
|
||||
suggestions, and comments to the developer mailing list:
|
||||
brlcad-devel@lists.sourceforge.net
|
||||
|
||||
@@ -15,143 +15,6 @@ on-going issues.
|
||||
Recent Bugs
|
||||
-----------
|
||||
|
||||
* fbserv as well as -F option handling (e.g., -F0 or -F/dev/wgls) that
|
||||
is supported across myriad other tools appears to be broken on
|
||||
Windows in a git bash shell (problem is not seen in Command Prompt.)
|
||||
Something is concatenating EXEPATH and/or fbserv silently fails with
|
||||
return codes (e.g., when not specifying -F, only giving the port.)
|
||||
|
||||
* rt -H hypersample, -J jitter, and -j# for sub-grid-mode assumes a
|
||||
framebuffer, causing pix data to get written to the -o file (e.g.,
|
||||
even with -o file.png). See view_pixel() near src/rt/view.c:472 for
|
||||
problem area with -j but there are likely call sites.. Need to
|
||||
scrub all fb_write() and ideally make this a non-issue via icv API.
|
||||
|
||||
* obj-g and gcv converters choke and crash on obj with unnamed g line.
|
||||
spec wording on whether that's valid is unclear, but encountered in
|
||||
wild.
|
||||
|
||||
* recursive bu_parallel() failure, tbd whether cpp11 or pthread impl,
|
||||
likely because IDs are exceeding MAX_PSW, causing mayhem and chaos.
|
||||
|
||||
* Archer was observed to mangle the structure of a comb tree when assigning
|
||||
a color from the dialog panel. MGED is able to assign the color fine,
|
||||
so there appears to be something specific to Archer's comb tree handling
|
||||
that is flawed. Not all combs are handled incorrectly. Issue appears to
|
||||
be long standing - observed as far back as at least version 7.28.
|
||||
|
||||
* rtcheck_handler_cleanup() throws 'invalid handle specified' on Windows
|
||||
in closing of STDOUT (see FIXME comment). Does not affect normal running,
|
||||
but a debug build complains.
|
||||
|
||||
* very peculiar non-linear memory issue in rt when allocating a large
|
||||
flat hierarchy of objects. I have three combs, each with 10k
|
||||
members unioned. Each member is an rcc. Rendering with just one
|
||||
comb results in about 2GB usage. Two combs result in about 3.5GB
|
||||
usage. Three combs results in 18GB usage. Four is killed after
|
||||
24GB. Suspect there is some 32-bit issue once we exceed 4GB that is
|
||||
causing subsequent allocations to be bigger than necessary. Looking
|
||||
at allocation stack, rt_ct_get() appears to be allocating 10MB
|
||||
chunks.
|
||||
|
||||
* rt from mged is not outputting overlap log messages or rt summary.
|
||||
Stops printing after opendb line. (Observed on Mac)
|
||||
|
||||
* mged running an rt with excessive overlaps ends up in a deadlock.
|
||||
Backtrace indicates write buffer is full, likely because no output
|
||||
is going to terminal. (Observed on Mac)
|
||||
|
||||
* gcv on a glTF file (at least a binary .glb) crashes hard with a NULL
|
||||
pointer bomb (workaround: gltf-g succeeds albeit incomplete
|
||||
conversion). Takes out the entire Terminal app on Mac for some
|
||||
reason (consistently).
|
||||
|
||||
* Running"mged -c test.g" exits automatically on default prompt:
|
||||
...
|
||||
Create new database (y|n)[n]?
|
||||
Warning: no database is currently open!
|
||||
morrison@Miniagua .build %
|
||||
|
||||
* TGC tess fails when we have a near-zero c axis and a larger d
|
||||
axis, or vice versa.
|
||||
|
||||
* MGED crashes trying to open the repository file
|
||||
doc/docbook/resources/other/standard/xsl/images/important.tif
|
||||
It is mis-identified as a v4 .g file due to the file header's
|
||||
first character matching the v4 .g first character.
|
||||
|
||||
* MGED on Mac hides the main command window on File->Open when you
|
||||
cancel the open. Presumably the withdraw is somehow getting routed
|
||||
to the window and not just the open dialog.
|
||||
|
||||
* running pkgIndex and/or mkIndex during build appears to be randomly
|
||||
crashing on Mac using bundled libs
|
||||
|
||||
* garbage_collect -c wipes out custom attributes on _GLOBAL
|
||||
> attr set _GLOBAL foo bar
|
||||
> garbage_collect -c
|
||||
|
||||
* Visual error when drawing using -S -m1 of a region with the same solid
|
||||
subtracted and then unioned.
|
||||
|
||||
make two boxes stacked on top of one another
|
||||
> r boxes.r u box - box1 u box1
|
||||
> e -S -m1 boxes.r
|
||||
box1 is not drawn
|
||||
|
||||
* When run inside mged, invalid syntax reported on "gqa -p prefix"
|
||||
despite it being documented as the correct form (and working outside
|
||||
mged). specifying gqa -pprefix appears to be workaround, though
|
||||
unintuitive. specifying gqa -p"" annoyingly outputs ""exp_air.plot3
|
||||
with quotes embedded in the name.
|
||||
|
||||
* rtweight reports nan,nan,nan centroid when density is 0
|
||||
|
||||
* rtweight/gqa volumes seem wrong with simple sphere test case, with
|
||||
values consistently and quickly converging less than the actual
|
||||
volume regardless of the grid size.
|
||||
|
||||
* gqa manpage has the wrong indentation on the options write-up.
|
||||
|
||||
* raytracing a revolved sketch seems to work fine, but rtarea and gqa
|
||||
seem to be crashing on that same revolve. curiously, the brep
|
||||
revolve from the csgbrep proc-db has the same failure as well as the
|
||||
brep ehy.
|
||||
|
||||
* ogl display manager still crashes on attach in mged on Mac OS X 10.5
|
||||
|
||||
* running archer "" at least on windows results in a file type dialog
|
||||
and errors with "can't read "_conv_log": no such variable
|
||||
|
||||
* opening a database in archer with the same name as a command doesn't
|
||||
work.
|
||||
|
||||
* in mged, running the 'attach' command (confirmed issues with X and
|
||||
ogl), closing the window, and then issuing a 'draw' results in mged
|
||||
crashing.
|
||||
|
||||
* killtree / crashes
|
||||
|
||||
* killtree reports spurious db_lookup failures saying object does not
|
||||
exist as it previously deleted it. should keep track of what it
|
||||
deletes to not output spuriously, or (better) delete transactionally
|
||||
so it only attempts to lookup and delete once per object.
|
||||
|
||||
* object names with a / or \ in them make ls or underlying directory
|
||||
parsing logic display them incorrectly.
|
||||
|
||||
* search -exec results are inconsistent with search filtered
|
||||
results. for example, "search . -attr ..." returns A B C, but
|
||||
"search . -attr ... -exec attr show {} \;" results in attr show
|
||||
output for A B C as well as subtracted repetitions. For example,
|
||||
say A contains - B - C, then it will show output for A B C B C.
|
||||
|
||||
adding -bool u gets closer to consistent but still appears to repeat
|
||||
the last object
|
||||
|
||||
* fbclear -c appears to hang indefinitely inside pkg_bwaitfor,
|
||||
possible protocol mismatch or capability removed/changed in fbserv.
|
||||
|
||||
* dbupgrade -r produces an invalid rhc with the default v5 rhc produced
|
||||
by MGED with "make rhc rhc"
|
||||
|
||||
@@ -164,6 +27,10 @@ Recent Bugs
|
||||
make_ellipse4() in eto.c and (after adding max recursion test) in
|
||||
paint_face() in manif.c:190
|
||||
|
||||
* bot_dump -o file.obj is possibly generating invalid OBJ files.
|
||||
tested on two different pieces of software including xcode and cura,
|
||||
both failed to read our obj files where stl worked.
|
||||
|
||||
* mater -d information stored in the .g file doesn't survive a
|
||||
garbage collection operation.
|
||||
|
||||
@@ -300,6 +167,10 @@ Recent Bugs
|
||||
|
||||
pixborder -b "255 0 0" -t "255 255 255" < pix/moss.pix | pix-fb
|
||||
|
||||
* report that attempting to change units on a read-only file in MGED
|
||||
will not change the units in the file but changes them in MGED,
|
||||
resulting in problems with nirt missing geometry it shouldn't miss.
|
||||
|
||||
* typing 'comb -f -r assembly_name' shuts down mged with the error:
|
||||
ERROR: bad pointer 0000000000B4CA50: s/b bu_external(x768dbbd0), was bu_vls(x89333bbb), file ..\..\..\brlcad_src\src\libbu\parse.c, line 2443"
|
||||
And on the mged command line:
|
||||
@@ -313,6 +184,9 @@ Recent Bugs
|
||||
* wgl framebuffer is not lingering on windows (regardless of using
|
||||
wgll or default) when it should
|
||||
|
||||
* nirt -e "xyz val val val" doesn't work due to the space after the -e
|
||||
and how the nirt/rt commands parse quoted args.
|
||||
|
||||
* calling "attr set obj key value" should always result in key getting
|
||||
set to value, no matter what, as it is the lowest-level attribute
|
||||
management interface and what the command (correctly) documents.
|
||||
@@ -359,6 +233,9 @@ Recent Bugs
|
||||
book-keeping is fuxored or the db_lookup is returning NULL (or isn't
|
||||
yet performed).
|
||||
|
||||
* idents command is reporting a bogus region count in the region
|
||||
output table listing (first column).
|
||||
|
||||
* src/librt/primitives/bot/g_bot_include.c:rt_bot_bbox() routine isn't
|
||||
calculating the bbox correctly
|
||||
|
||||
@@ -367,6 +244,11 @@ Recent Bugs
|
||||
* rtxray crashes if you specify a -o *.bw output file due to
|
||||
assumptions in the rt front-end that all output files are .pix
|
||||
|
||||
* raytracing a revolved sketch seems to work fine, but rtarea and gqa
|
||||
seem to be crashing on that same revolve. curiously, the brep
|
||||
revolve from the csgbrep proc-db has the same failure as well as the
|
||||
brep ehy.
|
||||
|
||||
* encountered a crash during rtarea on a (default) facetized version
|
||||
of the hyp from the proc-db csgbrep tool.
|
||||
|
||||
@@ -381,6 +263,9 @@ Recent Bugs
|
||||
* torus with a near zero inner diameter results in zero-length edges
|
||||
during tessellation.
|
||||
|
||||
* opening a database in archer with the same name as a command doesn't
|
||||
work.
|
||||
|
||||
* bu_log() with a width specifier does not align like printf().
|
||||
Example: bu_log("%24s", str);
|
||||
|
||||
@@ -443,9 +328,13 @@ Recent Bugs
|
||||
* edcomb command seems to be busted similar to red, doesn't seem to do
|
||||
anything.
|
||||
|
||||
* gqa manpage has the wrong indentation on the options write-up.
|
||||
|
||||
* Detailed BoT model ray trace image had incorrect background pixel
|
||||
values in framebuffer, off slightly by one.
|
||||
|
||||
* ogl display manager still crashes on attach in mged on Mac OS X 10.5
|
||||
|
||||
* rt is consuming 100% CPU in fb_close() on a lingering ogl
|
||||
framebuffer waiting to close. needs to sleep or select for a while.
|
||||
|
||||
@@ -459,6 +348,10 @@ Recent Bugs
|
||||
|
||||
* report of rt aborting randomly on 64-bit with camo shader.
|
||||
|
||||
* mged raytrace fails with simple "raytrace failed" message when using
|
||||
rt, nirt, etc. on Windows after modifying a region. See sf bug
|
||||
report 2954404.
|
||||
|
||||
* mged rrt command is not respecting the view size, just does
|
||||
something similar to autoview but even gets az/el wrong too.
|
||||
|
||||
@@ -699,6 +592,8 @@ Recent Bugs
|
||||
* wavelet isn't working correctly on a simple image decomposition &
|
||||
reconstruction.
|
||||
|
||||
* query_ray can't find nirt if not installed
|
||||
|
||||
* fbed is looking for /usr/lib/vfont/nonie.r.12
|
||||
|
||||
* mged doesn't check if html_dir does not exist when searching for
|
||||
@@ -755,8 +650,16 @@ Recent Bugs
|
||||
|
||||
* an underlay framebuffer does not underlay with shaded mode
|
||||
|
||||
* rtweight chokes on a .density file that has less than 3 values per
|
||||
line (infinite loop). also gives infinite areas when presented with
|
||||
an empty .density file.
|
||||
|
||||
* rtarea gives incorrect areas when using -H hypersample flag
|
||||
|
||||
* rtweight/gqa volumes seem wrong with simple sphere test case, with
|
||||
values consistently and quickly converging less than the actual
|
||||
volume regardless of the grid size.
|
||||
|
||||
* setting src/librt/db5_io.c's AVS_ADD off in db5_import_attributes
|
||||
causes bad things to happen and it really shouldn't.
|
||||
|
||||
|
||||
@@ -7,9 +7,7 @@ potentially impacts developers or users. The scope is limited to
|
||||
public interfaces including developer application programming
|
||||
interfaces (APIs), user application command-line interfaces (CLIs),
|
||||
and graphical user interfaces (GUIs). The policy aims to balance
|
||||
developer agility with interface stability. Note that renaming an
|
||||
application is NOT considered minimally impacting, since that name
|
||||
is the primary means by which users locate the application.
|
||||
developer agility with interface stability.
|
||||
|
||||
All changes to BRL-CAD are expected to conform to this change policy.
|
||||
Changes MUST either be:
|
||||
@@ -129,130 +127,39 @@ generally listed for reference.
|
||||
Items marked with a "'" (single quote) are undocumented and may be
|
||||
removed at any time.
|
||||
|
||||
7.42
|
||||
----
|
||||
libanalyze
|
||||
analyze_obj_to_pnts and related defines in analyze/pnts.h
|
||||
deprecated in favor of librt's rt_gen_obj_pnts and related
|
||||
defines in rt/shoot.h [deprecated 7.42]
|
||||
|
||||
include/raytrace librt
|
||||
db_search_context removed in favor of new db_search params -
|
||||
old db_search function signature can temporarily be obtained
|
||||
under the name db_search_old [deprecated 7.42]
|
||||
|
||||
libged "how" command and its exposure in Tcl
|
||||
Currently returning an internal GED numerical value - will
|
||||
either be changed to report a human readable string instead
|
||||
or (more likely) retired as a command outright in favor of
|
||||
a "view obj [name] info mode" subcommand. [deprecated 7.42]
|
||||
|
||||
include/ged/commands.h
|
||||
current ged_cmd_valid functionality will be replaced by
|
||||
ged_cmd_exists and ged_cmd_same. [deprecated 7.42]
|
||||
|
||||
include/bg/plane.h
|
||||
removing tri_specific structure - only used internally in
|
||||
one place in BRL-CAD code as of v7.40.2. [deprecated 7.42]
|
||||
|
||||
MGED features
|
||||
predictor frame for velocity-based navigation will be removed.
|
||||
Early idea in 3D space navigation that doesn't seemed to have
|
||||
panned out in practice. [deprecated 7.42]
|
||||
|
||||
GED commands
|
||||
removing command-line-supplied edit string support from the
|
||||
following libged commands. New method will be to set the
|
||||
desired editor and terminal options in struct ged, or (if
|
||||
operating at the user level) to set the relevant environment
|
||||
variables.
|
||||
edcolor (-E opt)
|
||||
edcodes (-E opt)
|
||||
editit (-e opt)
|
||||
edmater (-E opt)
|
||||
red (-E opt)
|
||||
[deprecated 7.42]
|
||||
|
||||
ability to specify xyz center with trailing arguments on
|
||||
the nirt commad line (i.e. nirt obj1 obj2 ... x y z at
|
||||
MGED command prompt) will be removed in favor of an --xyz
|
||||
option instead (i.e. nirt -xyz x y z obj1 obj2 ...)
|
||||
[deprecated 7.42]
|
||||
|
||||
rt
|
||||
rt_bot_minpieces and rt_bot_tri_per_piece variables
|
||||
Obsoleted by new BoT ray tracing. [deprecated 7.42]
|
||||
|
||||
rtshot
|
||||
-b and -t options
|
||||
Obsoleted by new BoT ray tracing. [deprecated 7.42]
|
||||
|
||||
nirt
|
||||
-B option and bot_minpieces command
|
||||
Obsoleted by new BoT ray tracing. [deprecated 7.42]
|
||||
|
||||
|
||||
7.40
|
||||
----
|
||||
include/bu/process.h
|
||||
bu_process_exec: replaced by bu_process_create
|
||||
bu_process_wait: replaced by bu_process_wait_n
|
||||
bu_process_read: replaced by bu_process_read_n
|
||||
bu_process_open: replaced by bu_process_file_open
|
||||
bu_process_close: replaced by bu_process_file_close
|
||||
bu_process_args: replaced by bu_process_args_n
|
||||
bu_process_id: replaced by bu_pid
|
||||
bu_terminate: replaced by bu_pid_terminate
|
||||
[deprecated 7.40]
|
||||
|
||||
MGED commands
|
||||
p, r and g optional arguments to summary command -
|
||||
info can be obtained via search [deprecated 7.40]
|
||||
|
||||
dbip, get_dbip - exposure of low-level pointer information
|
||||
Shouldn't be using this at a user/scripting level
|
||||
[deprecated 7.40]
|
||||
|
||||
7.38
|
||||
----
|
||||
MGED commands
|
||||
E (a.k.a "big E") - replaced by "draw -m5"
|
||||
[deprecated 7.38]
|
||||
|
||||
7.32
|
||||
----
|
||||
include/bg/chull.h
|
||||
All functions returning point arrays instead of index arrays.
|
||||
Will be replaced by similarly named functions returning
|
||||
indexes into provided points array, to allow the caller
|
||||
to decide if new arrays are needed. [deprecated 7.32]
|
||||
bg_polyline_2d_chull, bg_2d_chull, bg_3d_coplanar_chull,
|
||||
bg_3d_chull [deprecated 7.32]
|
||||
|
||||
MGED gui
|
||||
The following will be removed from MGED's menu bar (unused
|
||||
features, can be accomplished another way, or will be exposed
|
||||
only as lower level settings when there are sensible defaults
|
||||
that are seldom changed.)
|
||||
|
||||
Settings->Mouse Behavior->Pick Raytrace-Object(s)
|
||||
[deprecated 7.32]
|
||||
|
||||
MGED overlay command
|
||||
Instead of an optional second argument being the view object
|
||||
name, command will take (potentially) multiple plot files
|
||||
as input to overlay. Optional view object name will be
|
||||
specified with the -N option.
|
||||
[deprecated 7.32]
|
||||
|
||||
7.30
|
||||
----
|
||||
~/.density
|
||||
automatic reading of .density file in home directory
|
||||
materials need to be specified or imported [deprecated 7.28]
|
||||
|
||||
btclsh, bwish
|
||||
Emacs key binding emulation
|
||||
achieved by running btclsh in Emacs [deprecated 7.30]
|
||||
|
||||
include/bu/redblach.h
|
||||
All redblack related functions, structures and macros
|
||||
defined in libbu's redblack.h. Functions are:
|
||||
bu_rb_create, bu_rb_delete, bu_rb_diagnose_tree,
|
||||
bu_rb_summarize_tree, bu_rb_extreme, bu_rb_neighbor,
|
||||
bu_rb_curr, bu_rb_free, bu_rb_insert, bu_rb_is_uniq,
|
||||
bu_rb_set_uniqv, bu_rb_uniq_all_off, bu_rb_uniq_all_on,
|
||||
bu_rb_uniq_on, bu_rb_uniq_off, bu_rb_rank, bu_rb_select,
|
||||
bu_rb_search, bu_rb_walk
|
||||
Use C++ containers set/map from std [deprecated 7.30]
|
||||
|
||||
nirt
|
||||
Behavior available under the --old flag [deprecated 7.30]
|
||||
|
||||
7.28
|
||||
----
|
||||
include/bu/malloc.h
|
||||
bu_ck_malloc_ptr, bu_mem_barriercheck, bu_prmem
|
||||
replaced by modern memory analyzers [deprecated 7.28]
|
||||
|
||||
include/rt/mem.h
|
||||
rt_memprint [deprecated 7.28]
|
||||
|
||||
include/vmath.h
|
||||
VCOMB3, VCOMB3N, VJOIN4
|
||||
Removed as inconsistent and unused API [deprecated 7.28]
|
||||
@@ -264,6 +171,11 @@ MGED commands
|
||||
savekey, shaded_mode, sync
|
||||
Removed as part of distillation effort [deprecated 7.28]
|
||||
|
||||
libtermio, libcursor
|
||||
Public API scope reduction - any client code that needs
|
||||
to interact with the terminal at these levels should handle
|
||||
what is needed locally.
|
||||
|
||||
7.26
|
||||
----
|
||||
image tools
|
||||
@@ -278,16 +190,37 @@ signal analysis tools
|
||||
d2-c', double-asc' : incorporating into cv
|
||||
Removed as part of distillation effort [deprecated 7.26]
|
||||
include/bu/ptbl.h
|
||||
BU_PTBL_BASEADDR, BU_PTBL_LASTADDR, BU_PTBL_END
|
||||
Removed as private implementation detail [deprecated 7.26]
|
||||
BU_PTBL_BASEADDR, BU_PTBL_LASTADDR, BU_PTBL_END
|
||||
Removed as private implementation detail [deprecated 7.26
|
||||
include/bu/cmd.h
|
||||
remove struct bu_cmdhist and struct bu_cmdhist_obj [deprecated 7.26]
|
||||
BU_CMDHIST_NULL, BU_CMDHIST_OBJ_NULL, bu_cmdhist_histor, bu_cmdhist_add,
|
||||
bu_cmdhist_curr, bu_cmdhist_nest, bu_cmdhist_prev [deprecated 7.26]
|
||||
nirt
|
||||
-T - use LIBRT_BOT_MINTIE environment variable instead [deprecated 7.26]
|
||||
all global variables
|
||||
global variables are no longer considered published public API [deprecated 7.26]
|
||||
bn_mat_identity -> MAT_INIT_IDN or MAT_IDN() or NULL
|
||||
include/bn.h
|
||||
tp_setup, no longer needs to be public API [deprecated 7.26]
|
||||
include/raytrace.h
|
||||
curve_to_tcl_list
|
||||
db_full_path_appendresult tcl_obj_to_int_array
|
||||
tcl_obj_to_fastf_array tcl_list_to_int_array
|
||||
tcl_list_to_fastf_array *_tcl_*, removal of all tcl-specific
|
||||
API functions [deprecated 7.26]
|
||||
include/rt/solid.h
|
||||
shouldn't be public API - this level of detail belongs inside the display
|
||||
manager [deprecated 7.26]
|
||||
include/ged/defines.h
|
||||
remove struct ged_drawable - shouldn't be public API [deprecated 7.26]
|
||||
remove freesolid from struct ged - exposes struct solid [deprecated 7.26]
|
||||
include/ged/view.h
|
||||
remove current forms of dl_erasePathFromDisplay and invent_solid - they
|
||||
expose the struct solid type [deprecated 7.26]
|
||||
include/tclcad.h
|
||||
tclcad_rt_rt tclcad_rt_import_from_path, removal of all
|
||||
tclcad_bn_mat_print tclcad_rt_parse_ray tclcad_rt_pr_cutter
|
||||
tclcad_rt_pr_hit tclcad_rt_rt tclcad_rt_import_from_path, removal of all
|
||||
tcl-specific API functions [deprecated 7.26]
|
||||
librt, fast4-g
|
||||
removal of CLINE entity support [deprecated 7.26]
|
||||
@@ -311,6 +244,8 @@ include/raytrace.h librt
|
||||
----
|
||||
include/raytrace.h librt
|
||||
nmg_model_break_e_on_v -> nmg_break_e_on_v [deprecation 7.22]
|
||||
RT_GET_TREE -> BU_GET [deprecation 7.22]
|
||||
RT_FREE_TREE -> BU_PUT [deprecation 7.22]
|
||||
|
||||
7.20
|
||||
----
|
||||
@@ -320,6 +255,12 @@ librt
|
||||
bspline primitive [deprecated 7.20]
|
||||
poly primitive [deprecated 7.20]
|
||||
hf primitive [deprecated 7.20]
|
||||
include/bu.h
|
||||
bu_vls_init_if_uninit() -> bu_vls_init() [deprecated 7.20]
|
||||
GNU Autotools configure compatibility script
|
||||
./configure -> cmake . [deprecated 7.20]
|
||||
include/raytrace.h
|
||||
rt_load_attrs() -> rt_gettrees_and_attrs() or db5_import_attributs() [deprecated 7.20]
|
||||
|
||||
7.18
|
||||
----
|
||||
@@ -413,118 +354,6 @@ include/raytrace.h
|
||||
*** OBSOLETED CHANGES ***
|
||||
**********************************************************************
|
||||
(reverse chronological order)
|
||||
|
||||
7.42.2
|
||||
------
|
||||
|
||||
include/bu/redblack.h
|
||||
All redblack related functions, structures and macros
|
||||
defined in libbu's redblack.h. Functions are:
|
||||
bu_rb_create, bu_rb_delete, bu_rb_diagnose_tree,
|
||||
bu_rb_summarize_tree, bu_rb_extreme, bu_rb_neighbor,
|
||||
bu_rb_curr, bu_rb_free, bu_rb_insert, bu_rb_is_uniq,
|
||||
bu_rb_set_uniqv, bu_rb_uniq_all_off, bu_rb_uniq_all_on,
|
||||
bu_rb_uniq_on, bu_rb_uniq_off, bu_rb_rank, bu_rb_select,
|
||||
bu_rb_search, bu_rb_walk
|
||||
Use C++ containers set/map from std [deprecated 7.30]
|
||||
|
||||
7.42.0
|
||||
------
|
||||
include/bu.h
|
||||
bu_brlcad_root: replaced by bu_dir [deprecated 7.32]
|
||||
bu_brlcad_dir: replaced by bu_dir [deprecated 7.32]
|
||||
|
||||
bu_ck_malloc_ptr, bu_mem_barriercheck, bu_prmem
|
||||
replaced by modern memory analyzers [deprecated 7.28]
|
||||
|
||||
remove struct bu_cmdhist and struct bu_cmdhist_obj [deprecated 7.26]
|
||||
BU_CMDHIST_NULL, BU_CMDHIST_OBJ_NULL, bu_cmdhist_histor, bu_cmdhist_add,
|
||||
bu_cmdhist_curr, bu_cmdhist_nest, bu_cmdhist_prev [deprecated 7.26]
|
||||
|
||||
bu_vls_init_if_uninit() -> bu_vls_init() [deprecated 7.20]
|
||||
|
||||
include/bn.h
|
||||
tp_setup, no longer needs to be public API [deprecated 7.26]
|
||||
|
||||
include/raytrace.h
|
||||
global variables in RTG (except the vlfree list, renamed
|
||||
to rt_vlfree) are removed - rtg_parallel and rtg_headwdb
|
||||
[deprecated 7.26]
|
||||
|
||||
rt_initial_tree_state is replaced by the new initialization
|
||||
macro RT_DBTS_INIT [deprecated 7.26]
|
||||
|
||||
curve_to_tcl_list is now internal [deprecated 7.26]
|
||||
|
||||
rt_i struct's Orca_hash_tbl is replaced by rti_udata and
|
||||
a generic rt_gettrees_clbk mechanism - see src/rt/rtshot.c
|
||||
for a worked example reproducing previous behavior with
|
||||
the new mechanism.
|
||||
|
||||
RT_GET_TREE -> BU_GET [deprecation 7.22]
|
||||
RT_FREE_TREE -> BU_PUT [deprecation 7.22]
|
||||
|
||||
rt_load_attrs() -> rt_gettrees_and_attrs() or db5_import_attributs() [deprecated 7.20]
|
||||
|
||||
arb_edit.h contents were relocated to arb8.h
|
||||
|
||||
libged headers
|
||||
Removed libged command specific headers analyze.h, rt.h, framebuffer.h,
|
||||
view/matrix.h, view/select.h and view/slate.h - the functions these defined
|
||||
were all replaced by ged_exec calls. Also removed similar command specific
|
||||
functions from a number of other libged headers. Functions were removed
|
||||
earlier, so code wouldn't have linked successfully - this catches the headers
|
||||
up with the migration to ged_exec.
|
||||
|
||||
include/ged/defines.h
|
||||
remove struct ged_drawable - shouldn't be public API [deprecated 7.26]
|
||||
|
||||
include/tclcad.h
|
||||
tclcad_bn_mat_print tclcad_rt_parse_ray tclcad_rt_pr_cutter
|
||||
tclcad_rt_pr_hit [deprecated 7.26]
|
||||
|
||||
tclcad_rt_setup is now a no-op - function declaration removed
|
||||
|
||||
nirt
|
||||
-T - new BoT raytracing makes obsolete [deprecated 7.26]
|
||||
|
||||
GNU Autotools configure compatibility script
|
||||
./configure -> cmake . [deprecated 7.20]
|
||||
|
||||
7.38.0
|
||||
------
|
||||
burst
|
||||
Point Burst Damage Assessment Model (PDAM) input preparation
|
||||
tool. Obsolete, no longer in use by upstream tools,
|
||||
removed [deprecated 7.32]
|
||||
|
||||
libtermio, libcursor
|
||||
Public API scope reduction - any client code that needs
|
||||
to interact with the terminal at these levels should handle
|
||||
what is needed locally. [deprecated 7.28]
|
||||
|
||||
7.34.0
|
||||
------
|
||||
nirt
|
||||
Behavior available under the --old flag [deprecated 7.30]
|
||||
|
||||
include/rt/solid.h
|
||||
shouldn't be public API - this level of detail belongs inside the display
|
||||
manager [deprecated 7.26]
|
||||
|
||||
include/ged/defines.h
|
||||
remove freesolid from struct ged - exposes struct solid [deprecated 7.26]
|
||||
|
||||
7.30.4
|
||||
------
|
||||
include/bu/hash.h
|
||||
bu_hash_tbl_find, bu_set_hash_value, bu_get_hash_value,
|
||||
bu_get_hash_key, bu_hash_tbl_add, bu_hash_tbl_print,
|
||||
bu_hash_tbl_free, bu_hash_tbl_first, bu_hash_tbl_next,
|
||||
bu_hash_tbl_traverse, bu_hash_record. public structs
|
||||
bu_hash_entry and bu_hash_tbl will be made private.
|
||||
Replaced with new API [deprecated 7.26]
|
||||
|
||||
7.30.2
|
||||
------
|
||||
ray tracing tools
|
||||
@@ -569,15 +398,11 @@ fb-rle, rle-fb, bw-rle, pix-rle, rle-pix
|
||||
burst
|
||||
remove termlib-based interactive menu interface [deprecated 7.26]
|
||||
include/bu/hash.h
|
||||
bu_hash_tbl_find, bu_set_hash_value, bu_get_hash_value,
|
||||
bu_get_hash_key, bu_hash_tbl_add, bu_hash_tbl_print,
|
||||
bu_hash_tbl_free, bu_hash_tbl_first, bu_hash_tbl_next,
|
||||
bu_hash_tbl_traverse, bu_hash_record. public structs
|
||||
bu_hash_entry and bu_hash_tbl will be made private.
|
||||
Replaced with new API [deprecated 7.26]
|
||||
|
||||
include/rt/mem.h
|
||||
rt_memprint [deprecated 7.28]
|
||||
bu_hash_tbl_find, bu_set_hash_value, bu_get_hash_value, bu_get_hash_key,
|
||||
bu_hash_tbl_add, bu_hash_tbl_print, bu_hash_tbl_free, bu_hash_tbl_first,
|
||||
bu_hash_tbl_next, bu_hash_tbl_traverse, public structs bu_hash_entry and
|
||||
bu_hash_tbl will be made private.
|
||||
Replaced with new API [deprecated 7.26]
|
||||
|
||||
7.30.0
|
||||
------
|
||||
@@ -593,7 +418,6 @@ include/raytrace librt
|
||||
db_regexp_match_all() -> db_ls() [deprecated 7.26]
|
||||
mged
|
||||
em, e_muves, l_muves, lm, read_muves, and t_muves MUVES-specific commands [deprecated 7.22]
|
||||
ps command renamed to postscript [minimally impacting]
|
||||
include/bu.h
|
||||
bu_parse_mm() [deprecated 7.22]
|
||||
|
||||
@@ -697,12 +521,6 @@ librtserver and Java Native Interface (JNI) bindings
|
||||
pl*
|
||||
pl* -> plot3* [deprecated 7.16]
|
||||
|
||||
include/raytrace.h
|
||||
db_full_path_appendresult tcl_obj_to_int_array
|
||||
tcl_obj_to_fastf_array tcl_list_to_int_array
|
||||
tcl_list_to_fastf_array *_tcl_*, removal of all tcl-specific
|
||||
API functions from librt to libtclcad
|
||||
|
||||
7.24.0
|
||||
------
|
||||
include/bu.h
|
||||
@@ -871,7 +689,7 @@ perl -0777 -pi -e 'EXPRESSION' FILE
|
||||
To apply an expression to an entire source tree, the following pattern
|
||||
may work:
|
||||
|
||||
find . -type f -not -path "*.git/*" -regex '.*\(c\|cpp\|cxx\|h\|hpp\)$' -exec perl -0777 -pi -e 'EXPRESSION' {} \;
|
||||
find . -type f -not -path "*.svn/*" -regex '.*\(c\|cpp\|cxx\|h\|hpp\)$' -exec perl -0777 -pi -e 'EXPRESSION' {} \;
|
||||
|
||||
find src \( -name '*.c' -or -name '*.cxx' -or -name '*.cpp' -or -name '*.h' -or -name '*.hxx' -or -name '*.hpp' -or -name '*.java' -or -name '*.f' -or -name '*.sh' -or -name '*.tcl' -or -name '*.tk' -or -name '*.itcl' -or -name '*.itk' -or -name '*.pl' -or -name '*.php' -or -name '*.inc' -or -name '*.mged' -or -name '*.y' -or -name '*.l' -or -name '*.yy' \) -not \( -name other -or -regex '.*/other/.*' -or -name tools -or -regex '.*/misc/tools/.*' -or -regex '.*/\.[^\.].*' -or -regex '.*~' -or -regex '.*/#.*' \)
|
||||
|
||||
@@ -1572,7 +1390,7 @@ s/bu_dirname\(/bu_path_dirname\(/g
|
||||
s/bu_basename\(/bu_path_basename\(/g
|
||||
s/bu_normalize\(/bu_path_normalize\(/g
|
||||
s/bu_argv_from_path\(/bu_path_to_argv\(/g
|
||||
renamed path functions with proper group label [7.27]
|
||||
renamed path functons with proper group label [7.27]
|
||||
s/bu_fnmatch\(/bu_path_match\(/g
|
||||
s/BU_FNMATCH_LEADING_DIR/0x0/g
|
||||
s/BU_FNMATCH_/BU_PATH_MATCH/g
|
||||
@@ -1709,140 +1527,3 @@ s/wdb_pipept/wdb_pipe_pnt/g
|
||||
renamed points from pt to pnt for consistency [7.30]
|
||||
s/proe-brl/creo-brl/g
|
||||
replaced by newer creo plugin [7.30]
|
||||
|
||||
7.32
|
||||
----
|
||||
s/facetall.sh/mged -c facetize/g
|
||||
replaced by more improved facetize command [7.30]
|
||||
s/pixcmp -s/pixcmp -q/g
|
||||
s/pixcmp -l/pixcmp -d/g
|
||||
changed pixcmp options for consistency with new options [7.32]
|
||||
s/(#[[:space:]]*include[[:space:]]+["<])bn\/clip\.h/\1bg\/clip.h/g
|
||||
moved clip.h header [7.32]
|
||||
s/bn_ray_vclip/bg_ray_vclip/g
|
||||
s/bn_lseg_clip/bg_lseg_clip/g
|
||||
functions moved and renamed [7.32]
|
||||
s/(#[[:space:]]*include[[:space:]]+["<])bn\/vlist\.h/\1bview\/vlist.h/g
|
||||
moved vlist.h header [7.32]
|
||||
s/bn_vlist/bv_vlist/g
|
||||
s/bn_vlblock/bv_vlblock/g
|
||||
s/BN_VLIST/BV_VLIST/g
|
||||
s/BN_ADD_VLIST/BV_ADD_VLIST/g
|
||||
s/BN_FREE_VLIST/BV_FREE_VLIST/g
|
||||
s/bn_plot_vlblock/bv_plot_vlblock/g
|
||||
s/BN_CK_VLBLOCK/BV_CK_VLBLOCK/g
|
||||
s/BN_CK_VLIST/BV_CK_VLIST/g
|
||||
s/BN_VLBLOCK_MAGIC/BV_VLBLOCK_MAGIC/g
|
||||
s/bn_ck_vlist/bv_ck_vlist/g
|
||||
s/BN_GET_VLIST/BV_GET_VLIST/g
|
||||
bn_vlist relocated to libbview [7.32]
|
||||
s/(#[[:space:]]*include[[:space:]]+["<])bn\/plane\.h/\1bg\/plane.h/g
|
||||
moved plane.h header [7.32]
|
||||
s/bn_distsq_line3_line3/bg_distsq_line3_line3/g
|
||||
s/bn_dist_pnt3_line3/bg_dist_pnt3_line3/g
|
||||
s/bn_dist_line3_lseg3/bg_dist_line3_lseg3/g
|
||||
s/bn_dist_line3_line3/bg_dist_line3_line3/g
|
||||
s/bn_dist_pnt3_lseg3/bg_dist_pnt3_lseg3/g
|
||||
s/bn_distsq_pnt3_lseg3_v2/bg_distsq_pnt3_lseg3_v2/g
|
||||
s/bn_3pnts_collinear/bg_3pnts_collinear/g
|
||||
s/bn_pnt3_pnt3_equal/bg_pnt3_pnt3_equal/g
|
||||
s/bn_dist_pnt2_lseg2/bg_dist_pnt2_lseg2/g
|
||||
s/bn_isect_lseg3_lseg3/bg_isect_lseg3_lseg3/g
|
||||
s/bn_lseg3_lseg3_parallel/bg_lseg3_lseg3_parallel/g
|
||||
s/bn_isect_line3_line3/bg_isect_line3_line3/g
|
||||
s/bn_2line3_colinear/bg_2line3_colinear/g
|
||||
s/bn_isect_pnt2_lseg2/bg_isect_pnt2_lseg2/g
|
||||
s/bn_isect_line2_lseg2/bg_isect_line2_lseg2/g
|
||||
s/bn_isect_lseg2_lseg2/bg_isect_lseg2_lseg2/g
|
||||
s/bn_isect_line2_line2/bg_isect_line2_line2/g
|
||||
s/bn_dist_pnt3_pnt3/bg_dist_pnt3_pnt3/g
|
||||
s/bn_3pnts_distinct/bg_3pnts_distinct/g
|
||||
s/bn_npnts_distinct/bg_npnts_distinct/g
|
||||
s/bn_make_plane_3pnts/bg_make_plane_3pnts/g
|
||||
s/bn_make_pnt_3planes/bg_make_pnt_3planes/g
|
||||
s/bn_isect_line3_plane/bg_isect_line3_plane/g
|
||||
s/bn_isect_2planes/bg_isect_2planes/g
|
||||
s/bn_isect_2lines/bg_isect_2lines/g
|
||||
s/bn_isect_line_lseg/bg_isect_line_lseg/g
|
||||
s/bn_dist_line3_pnt3/bg_dist_line3_pnt3/g
|
||||
s/bn_distsq_line3_pnt3/bg_distsq_line3_pnt3/g
|
||||
s/bn_dist_line_origin/bg_dist_line_origin/g
|
||||
s/bn_dist_line2_point2/bg_dist_line2_point2/g
|
||||
s/bn_distsq_line2_point2/bg_distsq_line2_point2/g
|
||||
s/bn_area_of_triangle/bg_area_of_triangle/g
|
||||
s/bn_isect_pnt_lseg/bg_isect_pnt_lseg/g
|
||||
s/bn_dist_pnt_lseg/bg_dist_pnt_lseg/g
|
||||
s/bn_rotate_bbox/bg_rotate_bbox/g
|
||||
s/bn_rotate_plane/bg_rotate_plane/g
|
||||
s/bn_coplanar/bg_coplanar/g
|
||||
s/bn_angle_measure/bg_angle_measure/g
|
||||
s/bn_dist_pnt3_along_line3/bg_dist_pnt3_along_line3/g
|
||||
s/bn_dist_pnt2_along_line2/bg_dist_pnt2_along_line2/g
|
||||
s/bn_between/bg_between/g
|
||||
s/bn_does_ray_isect_tri/bg_does_ray_isect_tri/g
|
||||
s/bn_hlf_class/bg_hlf_class/g
|
||||
s/bn_isect_planes/bg_isect_planes/g
|
||||
s/bn_plane_pt_nrml/bg_plane_pt_nrml/g
|
||||
s/bn_fit_plane/bg_fit_plane/g
|
||||
s/bn_plane_closest_pt/bg_plane_closest_pt/g
|
||||
s/bn_plane_pt_at/bg_plane_pt_at/g
|
||||
s/BN_CLASSIFY/BG_CLASSIFY/g
|
||||
plane.h moved from libbn to libbg [7.32]
|
||||
s/(#[[:space:]]*include[[:space:]]+["<])bn\/plot3\.h/\1bview\/plot3.h/g
|
||||
moved plot3.h header [7.32]
|
||||
s/(#[[:space:]]*include[[:space:]]+["<])bn\/vert_tree\.h/\1bg\/vert_tree.h/g
|
||||
moved vert_tree.h header [7.32]
|
||||
s/bn_vert_tree/bg_vert_tree/g
|
||||
moved vert_tree to libbg [7.32]
|
||||
s/(#[[:space:]]*include[[:space:]]+["<])bn\/vectfont\.h/\1bview\/vectfont.h/g
|
||||
moved vertfont.h header to bview[7.32]
|
||||
s/ID_MATERIAL/ID_COLORTAB/g
|
||||
renamed to make room for material objects [7.32]
|
||||
s/GED_OK/BRLCAD_OK/g
|
||||
s/GED_ERROR/BRLCAD_ERROR/g
|
||||
s/GED_HELP/BRLCAD_HELP/g
|
||||
s/GED_MORE/BRLCAD_MORE/g
|
||||
s/GED_UNKNOWN/BRLCAD_UNKNOWN/g
|
||||
s/bu_whereis\(/bu_whence\(/g
|
||||
s/bu_which\(/bu_whence\(/g
|
||||
s/rt_gettree_muves\(/rt_gettrees_and_attrs\(/g
|
||||
|
||||
7.36
|
||||
----
|
||||
s/V3DIR_FROM_AZEL\(/bn_vec_ae\(/g
|
||||
s/AZEL_FROM_V3DIR\([[:space:]]*([^,]*),[[:space:]]*([^,]*),/bn_ae_vec\(&\1, &\2/g
|
||||
|
||||
7.38
|
||||
----
|
||||
s/bg_polygon_triangulate/bg_poly_triangulate/g
|
||||
s/bg_nested_polygon_triangulate/bg_nested_poly_triangulate/g
|
||||
s/OP_NMG_TESS/OP_TESS/g
|
||||
s/tree_nmgregion/tree_tessellation/g
|
||||
s/nmg_booltree_leaf_tess/rt_booltree_leaf_tess/g
|
||||
s/-ghosting-intensity/-ghost-intensity/g
|
||||
rtwizard option simplified [7.38]
|
||||
s/pl_mat_idn/MAT_IDN/g
|
||||
s/pl_mat_zero/MAT_ZERO/g
|
||||
s/pl_mat_copy/MAT_COPY/g
|
||||
s/ambSlow=[0-9]*//g
|
||||
|
||||
7.40
|
||||
----
|
||||
s/bv_mesh_lod_custom_key/bu_data_hash/g
|
||||
s/x/solid_report/g
|
||||
s/db_search\(/db_search_old\(/g
|
||||
s/RTG.rtg_vlfree/rt_vlfree/g
|
||||
s/RT_GET_VLIST\(/BV_GET_VLIST\(&rt_vlfree, /g
|
||||
s/RT_FREE_VLIST\(/BV_FREE_VLIST\(&rt_vlfree, /g
|
||||
s/RT_ADD_VLIST\(/BV_ADD_VLIST\(&rt_vlfree, /g
|
||||
s/RT_VLIST_SET_DISP_MAT\(/BV_VLIST_SET_DISP_MAT\(&rt_vlfree, /g
|
||||
s/RT_VLIST_SET_MODEL_MAT\(/BV_VLIST_SET_MODEL_MAT\(&rt_vlfree, /g
|
||||
s/RT_VLIST_SET_POINT_SIZE\(/BV_VLIST_SET_POINT_SIZE\(&rt_vlfree, /g
|
||||
s/RT_VLIST_SET_LINE_WIDTH\(/BV_VLIST_SET_LINE_WIDTH\(&rt_vlfree, /g
|
||||
s/bu_shader_to_list\(/rt_shader_to_list\(/g
|
||||
s/bu_shader_to_key_eq\(/rt_shader_to_key_eq\(/g
|
||||
s/_GED_MAX_LEVELS/_GED_TRACE_MAX_LEVELS/g
|
||||
s/GED_RANGE/BV_RANGE/g
|
||||
s/GED_MAX/BV_MAX/g
|
||||
s/GED_MIN/BV_MIN/g
|
||||
s/INV_GED/INV_BV/g
|
||||
|
||||
+2699
-1433
File diff suppressed because it is too large
Load Diff
@@ -26,8 +26,8 @@ License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this file. If you did not, please contact one of
|
||||
the BRL-CAD project administrators listed at the Github project
|
||||
site https://github.com/BRL-CAD/brlcad/ or listed in the AUTHORS file
|
||||
the BRL-CAD project administrators listed at the SourceForge project
|
||||
site http://sf.net/projects/brlcad/ or listed in the AUTHORS file
|
||||
included as part of the distribution.
|
||||
|
||||
Overview
|
||||
@@ -80,7 +80,10 @@ When referring to BRL-CAD, its source code, documentation, and
|
||||
libraries, the reference is not meant to include or imply 3rd party
|
||||
source code, libraries, and/or applications unless specifically stated
|
||||
otherwise. No endorsement or claim of authorship is implied to any
|
||||
3rd party asset that is included with BRL-CAD.
|
||||
3rd party asset that is included with BRL-CAD. The majority of the
|
||||
3rd party source code, libraries, and applications included with
|
||||
BRL-CAD are located in the src/other/ directory of the source code
|
||||
distribution.
|
||||
|
||||
Copyright
|
||||
---------
|
||||
@@ -98,7 +101,7 @@ arranged. This includes an implicit assignment of copyright for any
|
||||
and all contributions being made. The following notice should be
|
||||
prominent in the BRL-CAD sources:
|
||||
|
||||
Copyright (c) 1984-2025 United States Government as represented by
|
||||
Copyright (c) 1984-2020 United States Government as represented by
|
||||
the U.S. Army Research Laboratory.
|
||||
|
||||
Contact
|
||||
|
||||
@@ -297,6 +297,10 @@ libtclcad: The Tcl-CAD library is a thin interface that assists in the
|
||||
binding of an image to a Tk graphics context.
|
||||
Depends on: libbn libbu libfb libtcl libtk
|
||||
|
||||
libtermio: The terminal I/O library is a TTY control library for
|
||||
managing a terminal interface.
|
||||
Depends on nothing
|
||||
|
||||
libwdb: The "write database" library provides a simple interface for
|
||||
the generation of BRL-CAD geometry files supporting a majority of the
|
||||
various primitives available as well as combination/region support.
|
||||
@@ -376,6 +380,8 @@ details on subdirectories and authorship not covered here.
|
||||
Write database library
|
||||
src/mged/
|
||||
Multi-device geometry editor
|
||||
src/other/
|
||||
External frameworks (Tcl/Tk, libpng, zlib, etc.)
|
||||
src/proc-db/
|
||||
Procedural geometry tools, create models programmatically
|
||||
src/remrt/
|
||||
@@ -397,17 +403,14 @@ should be POSIX-compliant Bourne Shell Script. The build system uses
|
||||
the CMake build tool. An initial implementation of a BRL-CAD Geometry
|
||||
Server is written in PHP.
|
||||
|
||||
With release 7.38, BRL-CAD intends to conform strictly with the
|
||||
following ANSI/ISO standards for C and C++ language compilation:
|
||||
|
||||
C : ISO/IEC 9899:2011, i.e. C11
|
||||
C++: ISO/IEC 14882:2017, i.e. C++17
|
||||
|
||||
With release 7.28, BRL-CAD intends to conform strictly with the 2011
|
||||
ANSI/ISO standards for C and C++ language compilation
|
||||
(ISO/IEC 9899:2011, i.e. C11 and ISO/IEC 14882:2011, i.e. C++11).
|
||||
Support for use of necessary non-standard system facilities is
|
||||
handled by build system declarations and preprocessor defines driven
|
||||
by build configuration tests. The working feature set for normal
|
||||
development should be widely supported C++17 features and the subset
|
||||
of C11 that is also valid (and widely supported) C++17.
|
||||
development should be widely supported C++11 features and the subset
|
||||
of C11 that is also valid (and widely supported) C++11.
|
||||
|
||||
C++ is used as an implementation language within libraries, but there
|
||||
are no public C++ APIs in use outside of OpenNURBS. For new work,
|
||||
@@ -453,10 +456,12 @@ colocated with any corresponding source files.
|
||||
Header files private to a library go into that library's directory.
|
||||
Public header files go into the include/ directory on the top level.
|
||||
Public header files should not include any headers that are private.
|
||||
Headers should include any other headers required for correct parsing.
|
||||
Public header files should not include the common header.
|
||||
Headers should include any other headers that they require for correct
|
||||
parsing (this is an on-going clean-up effort). Public header files
|
||||
should not include the common header.
|
||||
|
||||
Headers should generally be included in a particular order:
|
||||
Headers should be included in a particular order. That order is
|
||||
generally as follows:
|
||||
|
||||
- any single "interface" header [optional]
|
||||
- the common header (unless the interface header includes it)
|
||||
@@ -467,15 +472,13 @@ Headers should generally be included in a particular order:
|
||||
Applications may optionally provide an interface header that defines
|
||||
common structures applicable to most or all files being compiled for
|
||||
that application. That interface header will generally be the first
|
||||
file to be included as it usually includes the common header and
|
||||
system headers.
|
||||
|
||||
The common header should always be included before any system header.
|
||||
|
||||
Standard system headers should be included before library system
|
||||
headers. Headers should be written to be self-contained, not
|
||||
requiring other headers be included. If another header is necessary
|
||||
for a header to function correctly, it should include it.
|
||||
file to be included, as it usually includes the common header and
|
||||
system headers. The common header should always be included before
|
||||
any system header. Standard C system headers should be included
|
||||
before library system headers. Headers should be written to be
|
||||
self-contained, not requiring other headers to be necessarily included
|
||||
before they may be used. If another header is necessary for a header
|
||||
to function correctly, it should include it.
|
||||
|
||||
Build System:
|
||||
|
||||
@@ -616,7 +619,7 @@ the end of the file:
|
||||
* indent-tabs-mode: t
|
||||
* c-file-style: "stroustrup"
|
||||
* End:
|
||||
* ex: shiftwidth=4 tabstop=8 cino=N-s
|
||||
* ex: shiftwidth=4 tabstop=8
|
||||
*/
|
||||
|
||||
In emacs, the 'indent-region' command (bound to C-M-\ by default)
|
||||
@@ -807,7 +810,7 @@ DOCUMENTATION
|
||||
BRL-CAD has extensive documentation in various formats and presently
|
||||
maintained in various locations. It is an on-going desire and goal of
|
||||
the project to have all documentation located along with the source
|
||||
code in our Git repository.
|
||||
code in our Subversion (SVN) repository.
|
||||
|
||||
In line with that goal and where beneficial, a large portion of the
|
||||
tutorial documentation is being converted to the DocBook XML format.
|
||||
@@ -896,7 +899,7 @@ binaries in the path/to/builddir/src/libbu/tests build directory.
|
||||
A profile build, useful for some types of performance inspection
|
||||
(e.g., gprof) but not enabled by default, may be specified via:
|
||||
|
||||
cmake .. -DBRLCAD_PROFILING=ON
|
||||
cmake .. -DBRLCAD_ENABLE_PROFILING=ON
|
||||
|
||||
Debug symbols are enabled by default, even for installation, for all
|
||||
libraries and binaries in order to facilitate diagnosing and
|
||||
@@ -917,27 +920,27 @@ gdb> backtrace
|
||||
PATCH SUBMISSION GUIDELINES
|
||||
---------------------------
|
||||
|
||||
To contribute to BRL-CAD, begin by submitting pull requests to the
|
||||
GitHub project at https://github.com/BRL-CAD/brlcad.
|
||||
To contribute to BRL-CAD, begin by submitting modifications to the
|
||||
patches section at http://sf.net/projects/brlcad/. Patches in the
|
||||
unified diff format (diff -u) are generally preferred when modifying
|
||||
existing source or other text files. Otherwise, contributors are
|
||||
welcome to submit their changes in full to the patches tracker as
|
||||
compressed file attachments.
|
||||
|
||||
For an introduction to the standard GitHub workflow for forking and
|
||||
submitting pull requests, see:
|
||||
All text patches should be submitted in the unified diff format where
|
||||
it's feasible to create one either using SVN or using the unmodified
|
||||
original file. This is generally the "-u" option to diff, and is also
|
||||
supported by the SVN diff command:
|
||||
|
||||
https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
|
||||
https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/working-with-forks
|
||||
svn diff > mychanges.patch
|
||||
|
||||
While working in your fork to prepare your pull request, remember to
|
||||
frequently sync with upstream sources. BRL-CAD uses an active main
|
||||
branch for most of its ongoing work, so this syncing process is
|
||||
particularly important when working with BRL-CAD. Patches need to be
|
||||
based on the latest sources and avoid reverting improvements that have
|
||||
been added to the upstream sources since your fork was created.
|
||||
|
||||
Although the GitHub pull request based workflow is recommended and
|
||||
preferred, if for any reason you cannot use GitHub you may also
|
||||
submit "git format-patch" patches through other channels. See:
|
||||
|
||||
https://git-scm.com/docs/git-format-patch
|
||||
Where possible, patch files should be generated against the latest
|
||||
sources available to make it easier to review and apply the changes.
|
||||
If a modification involves the addition or removal of files, those
|
||||
files can be provided separately with instructions on where they
|
||||
belong (or what should be removed). If SVN cannot be used, please
|
||||
provide the complete release and build number of the files you worked
|
||||
with.
|
||||
|
||||
ANY MODIFICATIONS THAT ARE PROVIDED MUST NOT MODIFY OR CONFLICT WITH
|
||||
THE EXISTING "COPYING" FILE DISTRIBUTION REQUIREMENTS. This means
|
||||
@@ -946,8 +949,7 @@ asked to only provide patches that may legally be incorporated into
|
||||
BRL-CAD under the existing distribution provisions described in the
|
||||
COPYING file.
|
||||
|
||||
Patches that are difficult to apply and/or review are difficult to
|
||||
accept.
|
||||
Patches that are difficult to apply are difficult to accept.
|
||||
|
||||
|
||||
BUGS & UNEXPECTED BEHAVIOR
|
||||
@@ -955,9 +957,9 @@ BUGS & UNEXPECTED BEHAVIOR
|
||||
|
||||
When a bug or unexpected behavior is encountered that cannot be
|
||||
quickly fixed, it needs to be documented in our BUGS file or more
|
||||
formally reported to the GitHub issues tracker at:
|
||||
formally reported to the SourceForge bug tracker at:
|
||||
|
||||
https://github.com/BRL-CAD/brlcad/issues
|
||||
http://sourceforge.net/tracker/?atid=640802&group_id=105292&func=browse
|
||||
|
||||
The tracker is the main source for user-reported bugs and/or any
|
||||
issues that require significant discussion or benefit from having
|
||||
@@ -987,7 +989,7 @@ access to be granted:
|
||||
|
||||
3) Join the brlcad-devel developer mailing list, introduce yourself.
|
||||
|
||||
4) Create a GitHub account, submit at least pull requests that
|
||||
4) Create a SourceForge account, submit at least two patches that
|
||||
demonstrate competency with our coding style, apply flawlessly, and
|
||||
provide some significant improvement.
|
||||
|
||||
@@ -1017,12 +1019,11 @@ expectations. To summarize some of the expected responsibilities:
|
||||
help, or at least to do no harm. Be helpful and respectful.
|
||||
|
||||
1) Developers are expected to uphold the quality, functionality,
|
||||
maintainability, security, and portability of the source code at all
|
||||
times. In part, this means that changes should be tested to avoid
|
||||
breaking the build and short-term fixes are discouraged. Committing
|
||||
code that is actively being worked on is encouraged but care should be
|
||||
taken to minimize impact on others and to respond quickly when an
|
||||
issue arises.
|
||||
maintainability, and portability of the source code at all times. In
|
||||
part, this means that changes should be tested to avoid breaking the
|
||||
build and short-term fixes are discouraged. Committing code that is
|
||||
actively being worked on is encouraged but care should be taken to
|
||||
minimize impact on others and to respond quickly when an issue arises.
|
||||
|
||||
2) Bugs, typos, and compilation errors are to be expected as part of
|
||||
the process of active software development and documentation, but it
|
||||
@@ -1034,12 +1035,6 @@ in resolving the issue promptly. It is the responsibility of all
|
||||
developers to address issues as they are encountered regardless of who
|
||||
introduces the problem.
|
||||
|
||||
To assist developers in these efforts, BRL-CAD utilizes Continuous
|
||||
Integration (CI) testing via the GitHub Actions infrastructure to
|
||||
monitor code health: https://github.com/BRL-CAD/brlcad/actions
|
||||
Under normal conditions, all developers should strive to keep all
|
||||
GitHub Actions tests passing.
|
||||
|
||||
3) Contributors making commits to the repository are required to
|
||||
uphold the legal conventions and requirements summarized in the
|
||||
COPYING file. This includes the implicit assignment of copyright to
|
||||
@@ -1227,7 +1222,7 @@ or data corruption issue involved. That said, binary releases may be
|
||||
re-posted with a modified name per the convention described in VERSION
|
||||
NUMBERS & COMPATIBILITY.
|
||||
|
||||
Example: BRL-CAD_7.12.2.dmg is superseded by BRL-CAD_7.12.2-1.dmg
|
||||
Example: BRL-CAD-7.12.2.dmg is superseded by BRL-CAD-7.12.2-1.dmg
|
||||
|
||||
Older binary releases may be moved to the hidden attic folder, though
|
||||
not necessary or recommended except where critical vulnerabilities are
|
||||
@@ -1258,89 +1253,47 @@ Release steps are as follows:
|
||||
#####################################################################
|
||||
# 00: Notify developer mailing list of intention to release.
|
||||
|
||||
echo "Release preparations are under way. Trunk sources merged to the RELEASE branch will be reviewed for sync to STABLE and release tagging. Please help test by compiling distcheck and running benchmark, mged, and archer." | mail -s "Release preparations commencing" brlcad-devel@lists.sourceforge.net -r "your@subscribed.address"
|
||||
echo "Release preparations are under way. Trunk sources merged to the RELEASE branch will be reviewed for sync to STABLE and release tagging. Please help test by compiling distcheck-full and running benchmark, mged, and archer." | mail -s "Release preparations commencing" brlcad-devel@lists.sourceforge.net -r "your@subscribed.address"
|
||||
|
||||
#####################################################################
|
||||
# 01: Sync main to RELEASE branch.
|
||||
# 01: Sync trunk to RELEASE branch.
|
||||
|
||||
git clone git@github.com:BRL-CAD/brlcad.git
|
||||
cd brlcad
|
||||
git checkout RELEASE
|
||||
# NON-AUTO: Review the log and obtain the last trunk merge
|
||||
# revision number from comments.
|
||||
svn log --stop-on-copy https://svn.code.sf.net/p/brlcad/code/brlcad/branches/RELEASE | grep -E 'r[0-9]{5}'
|
||||
PREV=[[last_trunk_rev]]
|
||||
echo "PREV=$PREV"
|
||||
|
||||
# NOTE - it is not strictly necessary to use the strategy-option,
|
||||
# but barring some specific reason not to the goal will be to
|
||||
# have RELEASE match the contents of main. The "theirs"
|
||||
# strategy option helps simplify that process.
|
||||
|
||||
git merge --strategy-option theirs main
|
||||
|
||||
# NON-AUTO: The merge may succeed without conflicts. If
|
||||
# not, you will see the message:
|
||||
#
|
||||
# Automatic merge failed; fix conflicts and then commit the result.
|
||||
#
|
||||
# To see what the problem was, use git status:
|
||||
|
||||
git status
|
||||
On branch RELEASE
|
||||
Your branch is ahead of 'origin/RELEASE' by 1 commit.
|
||||
(use "git push" to publish your local commits)
|
||||
|
||||
You have unmerged paths.
|
||||
(fix conflicts and run "git commit")
|
||||
(use "git merge --abort" to abort the merge)
|
||||
|
||||
Changes to be committed:
|
||||
[list of cleanly merged changes]
|
||||
|
||||
Unmerged paths:
|
||||
(use "git add <file>..." to mark resolution)
|
||||
[list of conflict files]
|
||||
|
||||
# The unmerged files must be inspected and their final form
|
||||
# decided upon. This can be done manually by editing the
|
||||
# files to put them in their desired final state and using
|
||||
# "git add" to mark them resolved, but it is usually more
|
||||
# convenient and less error prone to use the git mergetool
|
||||
# command with one of a number of tools designed for merge
|
||||
# work. For users new to this process practicing on a
|
||||
# throw-away copy of the repository is recommended before
|
||||
# doing a merge in earnest.
|
||||
#
|
||||
# See https://git-scm.com/docs/git-mergetool for details
|
||||
#
|
||||
# Some commonly used mergetool options:
|
||||
# [meld] https://meldmerge.org/help/resolving-conflicts.html
|
||||
# [vimdiff] https://gist.github.com/karenyyng/f19ff75c60f18b4b8149
|
||||
|
||||
git mergetool
|
||||
svn co https://svn.code.sf.net/p/brlcad/code/brlcad/branches/RELEASE brlcad.RELEASE
|
||||
cd brlcad.RELEASE
|
||||
svn merge https://svn.code.sf.net/p/brlcad/code/brlcad/trunk@$PREV https://svn.code.sf.net/p/brlcad/code/brlcad/trunk@HEAD .
|
||||
|
||||
#####################################################################
|
||||
# 02: Test the merge.
|
||||
|
||||
# NON-AUTO: Confirm versioning in include/conf/.
|
||||
# BRLCAD_VERSION_AMEND may be defined during CMake for an
|
||||
# amendment build.
|
||||
|
||||
mkdir -p .build && cd .build
|
||||
cmake .. -DENABLE_ALL=ON -DCMAKE_BUILD_TYPE=Release && make
|
||||
cmake .. -DBRLCAD_BUNDLED_LIBS=ON -DCMAKE_BUILD_TYPE=Release && make
|
||||
|
||||
# NON-AUTO: Manually check rt, mged, and archer.
|
||||
bin/rt # should report usage with correct library versions
|
||||
bin/mged -c test.g "make sph sph ; draw sph ; rt ; after 1000 ; l sph" # create, view and list info about a sphere
|
||||
bin/mged # displays gui, run: opendb [file join [bu_dir init] test.g] ; draw sph ; rt
|
||||
bin/archer # displays gui, run: opendb <path to your build dir>/test.g ; draw sph ; rt
|
||||
bin/mged # displays gui, run: opendb test.g ; draw sph ; rt
|
||||
bin/archer # displays gui, run: opendb test.g ; draw sph ; rt
|
||||
|
||||
# clean up
|
||||
cd .. && rm -rf .build
|
||||
|
||||
#####################################################################
|
||||
# 03: Commit the merge (if necessary).
|
||||
# 03: Commit the merge.
|
||||
|
||||
# Note - we don't push the merge at this stage, since we
|
||||
# will be using the upstream RELEASE branch when we generate a
|
||||
# ChangeLog file.
|
||||
CURR=`svn log --xml https://svn.code.sf.net/p/brlcad/code/brlcad/trunk | grep 'revision=' | head -n 1 | sed 's/.*="\([0-9][0-9]*\)".*/\1/g'`
|
||||
echo "CURR=$CURR"
|
||||
|
||||
# If merge conflict resolution was needed, make a merge commit:
|
||||
MSHA1=$(git log -1 main --pretty=format:"%h")
|
||||
echo $MSHA1
|
||||
git commit -m "merge of main $MSHA1 to RELEASE branch"
|
||||
svn commit -m "merge of trunk to RELEASE branch, r$PREV through r$CURR"
|
||||
|
||||
#####################################################################
|
||||
# 04: Reprioritize or address remaining TODO items.
|
||||
@@ -1354,18 +1307,9 @@ Release steps are as follows:
|
||||
# NON-AUTO: Verify all interface changes are in CHANGES.
|
||||
# NON-AUTO: Verify usage/options are documented in doc/.
|
||||
|
||||
# A useful trick for this step is to use gitk to display all
|
||||
# commits made since the last time the RELEASE branch was
|
||||
# updated:
|
||||
|
||||
gitk --no-merges origin/RELEASE..RELEASE
|
||||
|
||||
#####################################################################
|
||||
# 06: Update the version numbers.
|
||||
|
||||
# NOTE - BRLCAD_VERSION_AMEND may also be defined during CMake
|
||||
# for an amendment build.
|
||||
|
||||
# NON-AUTO: NEWS
|
||||
# NON-AUTO: README
|
||||
# NON-AUTO: include/conf/PATCH
|
||||
@@ -1375,115 +1319,61 @@ Release steps are as follows:
|
||||
# NON-AUTO: misc/macosx/Resources/Welcome.rtfd/TXT.rtf
|
||||
|
||||
#####################################################################
|
||||
# 07: Create branch for release in bext repository.
|
||||
# 07: Update ChangeLog. Use the YYYY-MM-DD of previous NEWS entry.
|
||||
|
||||
MAJOR=`awk '{print $1}' include/conf/MAJOR`
|
||||
MINOR=`awk '{print $1}' include/conf/MINOR`
|
||||
PATCH=`awk '{print $1}' include/conf/PATCH`
|
||||
cd ..
|
||||
git clone git@github.com:BRL-CAD/bext.git
|
||||
cd bext
|
||||
git checkout RELEASE
|
||||
git branch rel-$MAJOR-$MINOR-$PATCH
|
||||
git checkout rel-$MAJOR-$MINOR-$PATCH
|
||||
git push --set-upstream origin rel-$MAJOR-$MINOR-$PATCH
|
||||
cd ../brlcad
|
||||
LAST=`grep -E "\--- [0-9]{4}-[0-9]{2}-[0-9]{2}" NEWS | head -n 2 | tail -n 1 | awk '{print $2}'`
|
||||
echo "LAST=$LAST"
|
||||
LAST=r57446
|
||||
svn2cl --break-before-msg --include-rev --stdout -r HEAD:{$LAST} > ChangeLog
|
||||
svn commit -m "update log with commits through $LAST" ChangeLog
|
||||
|
||||
#####################################################################
|
||||
# 08: Update the bext submodule in BRL-CAD's main repository.
|
||||
# 08: Run distcheck-full on at least two platforms.
|
||||
|
||||
# NON-AUTO: Update BEXT_SHA1 hash in CMakeLists.txt (argument
|
||||
# to brlcad_bext_init function). If already pointing to the
|
||||
# sha1 being used for the bext rel-$MAJOR-$MINOR-$PATCH branch
|
||||
# this is a no-op - otherwise, commit the update.
|
||||
|
||||
git add CMakeLists.txt
|
||||
git commit -m "Update bext submodule to SHA1 <hashval>"
|
||||
mkdir -p .build && cd .build && cmake .. && make distcheck-full
|
||||
|
||||
#####################################################################
|
||||
# 09: Update ChangeLog.
|
||||
# 09: Sync RELEASE to STABLE branch:
|
||||
|
||||
# We have held off pushing to upstream RELEASE branch until now,
|
||||
# so we can use that as an anchor point from which to start the
|
||||
# ChangeLog logging. If for some reason that won't work, replace
|
||||
# origin/RELEASE with the sha1 of the previous release's final
|
||||
# commit in the RELEASE branch.
|
||||
# Update the NEWS release date for the current release to today's date
|
||||
|
||||
# We do this instead of date based logging to capture commits that
|
||||
# may have been originally made before the last release (i.e. older
|
||||
# commits made in a fork and incorporated into the history via PR)
|
||||
# NON-AUTO: Review the log and obtain the last merge revision
|
||||
# number from comments.
|
||||
svn log --stop-on-copy https://svn.code.sf.net/p/brlcad/code/brlcad/branches/STABLE | less
|
||||
PREV=[[last_trunk_rev]]
|
||||
### OR ###
|
||||
PREV=`svn log --xml --stop-on-copy https://svn.code.sf.net/p/brlcad/code/brlcad/branches/STABLE | grep 'revision=' | head -n 1 | sed 's/.*revision="\([0-9][0-9]*\)".*/\1/g'`
|
||||
echo "PREV=$PREV"
|
||||
|
||||
git log origin/RELEASE..RELEASE > ChangeLog
|
||||
git add ChangeLog
|
||||
git commit -m "Update log with commits being incorporated into rel-$MAJOR-$MINOR-$PATCH"
|
||||
|
||||
# Now that we have updated the ChangeLog, push the changes to
|
||||
# upstream RELEASE branch.
|
||||
|
||||
git push
|
||||
# merge that range of changes into STABLE
|
||||
svn co https://svn.code.sf.net/p/brlcad/code/brlcad/branches/STABLE brlcad.STABLE && cd brlcad.STABLE
|
||||
svn merge https://svn.code.sf.net/p/brlcad/code/brlcad/branches/RELEASE@$PREV https://svn.code.sf.net/p/brlcad/code/brlcad/branches/RELEASE@HEAD .
|
||||
|
||||
#####################################################################
|
||||
# 10: Run distcheck on at least two platforms.
|
||||
|
||||
mkdir -p .build && cd .build && cmake .. && make distcheck
|
||||
|
||||
#####################################################################
|
||||
# 11: Sync RELEASE to STABLE branch:
|
||||
|
||||
# NON-AUTO: Update the NEWS release date for the current release to today's date
|
||||
git add NEWS
|
||||
MAJOR=`awk '{print $1}' include/conf/MAJOR`
|
||||
MINOR=`awk '{print $1}' include/conf/MINOR`
|
||||
PATCH=`awk '{print $1}' include/conf/PATCH`
|
||||
UTCDATE=$(date -u)
|
||||
git commit -m "Finalize $MAJOR.$MINOR.$PATCH release date ($UTCDATE)"
|
||||
|
||||
# merge RELEASE into STABLE.
|
||||
git checkout STABLE
|
||||
git merge --strategy-option theirs RELEASE
|
||||
|
||||
# NON-AUTO: Resolve any conflicts as before, although note that
|
||||
# the intent is usually for STABLE to match RELEASE so normally
|
||||
# the resolution will be to make STABLE match the state of RELEASE
|
||||
|
||||
#####################################################################
|
||||
# 12: If there are any differences between RELEASE and STABLE trees,
|
||||
test the merge. In normal usage STABLE should match RELEASE,
|
||||
so this is only necessary in unusual circumstances. To check
|
||||
if there are any differences, use git diff:
|
||||
|
||||
git diff RELEASE STABLE
|
||||
|
||||
# NON-AUTO: If differences were observed, either correct them
|
||||
# or (if expected) test:
|
||||
# 10: Test the merge.
|
||||
|
||||
mkdir .merge && cd .merge
|
||||
cmake .. -DBRLCAD_BUNDLED_LIBS=ON -DCMAKE_BUILD_TYPE=Release && make distcheck && cd .. && rm -rf .merge
|
||||
cmake .. -DBRLCAD_BUNDLED_LIBS=ON -DCMAKE_BUILD_TYPE=Release && make distcheck-full && cd .. && rm -rf .merge
|
||||
|
||||
#####################################################################
|
||||
# 13: Let upstream know about the new state of STABLE.
|
||||
# 11: Commit the merge.
|
||||
|
||||
# If merge conflict resolution was needed, make a merge commit:
|
||||
RSHA1=$(git log -1 RELEASE --pretty=format:"%h")a
|
||||
echo $RSHA1
|
||||
git commit -m "merge of RELEASE $RSHA1 to STABLE branch"
|
||||
CURR=`svn log --xml https://svn.code.sf.net/p/brlcad/code/brlcad/branches/RELEASE | grep 'revision=' | head -n 1 | sed 's/.*="\([0-9][0-9]*\)".*/\1/g'`
|
||||
echo "CURR=$CURR"
|
||||
|
||||
# Let upstream know what has changed
|
||||
git push
|
||||
svn commit -m "merging RELEASE branch to STABLE branch, r$PREV through r$CURR"
|
||||
|
||||
#####################################################################
|
||||
# 14: Tag the release using "rel-MAJOR-MINOR-PATCH" format:
|
||||
# 12: Tag the release using "rel-MAJOR-MINOR-PATCH" format:
|
||||
|
||||
MAJOR=`awk '{print $1}' include/conf/MAJOR`
|
||||
MINOR=`awk '{print $1}' include/conf/MINOR`
|
||||
PATCH=`awk '{print $1}' include/conf/PATCH`
|
||||
echo "Tagging rel-$MAJOR-$MINOR-$PATCH"
|
||||
UTCDATE=$(date -u)
|
||||
git tag -a rel-$MAJOR-$MINOR-$PATCH -m "Tag rel-$MAJOR-$MINOR-$PATCH ($UTCDATE)"
|
||||
git push origin rel-$MAJOR-$MINOR-$PATCH
|
||||
svn cp https://svn.code.sf.net/p/brlcad/code/brlcad/branches/STABLE https://svn.code.sf.net/p/brlcad/code/brlcad/tags/rel-$MAJOR-$MINOR-$PATCH
|
||||
|
||||
#####################################################################
|
||||
# 15: Increment and commit the next BRL-CAD release numbers.
|
||||
# 13: Increment and commit the next BRL-CAD release numbers to SVN.
|
||||
|
||||
# Update the include/conf/(MAJOR|MINOR|PATCH) version files
|
||||
# immediately to odd-numbered minor version or new patch developer
|
||||
@@ -1493,47 +1383,64 @@ Release steps are as follows:
|
||||
echo "`expr $PATCH + 1`" > include/conf/PATCH
|
||||
NEXT="`expr $PATCH + 2`"
|
||||
perl -pi -e "s/Release [0-9]+\.[0-9]+\.[0-9]+/Release $MAJOR.$MINOR.$NEXT/" README
|
||||
|
||||
# TODO - this doesn't seem to work, at least on Linux?
|
||||
#EXPR="s/(@---[[:space:]@-]*[0-9]{4}-)([0-9]{2}-[0-9]{2})([[:space:]]*Release[[:space:]]*${MAJOR}\.${MINOR}\.)(${PATCH})([[:space:]@-]*-@)/\$1XX-XX\${3}${NEXT}\$5@* TBD@@\1\2\3\4\5/"
|
||||
#cat NEWS | tr '\n' '@' | perl -pi -e "$EXPR" | tr '@' '\n' > NEWS
|
||||
|
||||
git add include/conf/PATCH README NEWS
|
||||
git commit -m "Bump to next development revision after tagging the $MAJOR.$MINOR.$PATCH release"
|
||||
git push
|
||||
EXPR="s/(@---[[:space:]@-]*[0-9]{4}-)([0-9]{2}-[0-9]{2})([[:space:]]*Release[[:space:]]*${MAJOR}\.${MINOR}\.)(${PATCH})([[:space:]@-]*-@)/\$1XX-XX\${3}${NEXT}\$5@* TBD@@\1\2\3\4\5/"
|
||||
cat NEWS | tr '\n' '@' | perl -pi -e "$EXPR" | tr '@' '\n' > NEWS
|
||||
svn commit -m "bump to next development revision after tagging the $MAJOR.$MINOR.$PATCH release" ../include/conf/PATCH
|
||||
|
||||
#####################################################################
|
||||
# 16: Sync RELEASE changes back to main.
|
||||
# 14: Sync RELEASE changes back to trunk.
|
||||
|
||||
git checkout main
|
||||
git merge RELEASE
|
||||
|
||||
# NON-AUTO - resolve any conflicts
|
||||
|
||||
# If merge conflict resolution was needed, make a merge commit:
|
||||
RSHA1=$(git log -1 RELEASE --pretty=format:"%h")a
|
||||
echo $RSHA1
|
||||
git commit -m "merge of RELEASE $RSHA1 to main branch"
|
||||
|
||||
git push
|
||||
# Work-in-progress
|
||||
|
||||
#####################################################################
|
||||
# 17: Obtain a tagged version of the sources from the repository, make
|
||||
# 15: Obtain a tagged version of the sources from the repository, make
|
||||
# final distribution tarballs:
|
||||
|
||||
git checkout rel-$MAJOR-$MINOR-$PATCH
|
||||
mkdir .build && cd .build
|
||||
cmake .. -DBRLCAD_BUNDLED_LIBS=ON -DCMAKE_BUILD_TYPE=Release && make distcheck
|
||||
svn checkout https://svn.code.sf.net/p/brlcad/code/brlcad/tags/rel-$MAJOR-$MINOR-$PATCH brlcad-$MAJOR.$MINOR.$PATCH
|
||||
cd brlcad-$MAJOR.$MINOR.$PATCH-build && mkdir .build && cd .build
|
||||
cmake .. -DBRLCAD_BUNDLED_LIBS=ON -DCMAKE_BUILD_TYPE=Release && make distcheck-full
|
||||
|
||||
#####################################################################
|
||||
# 18: Upload the source distributions and release notes. Use source
|
||||
# 16: Upload the source distributions and release notes. Use source
|
||||
# tarballs to create binaries.
|
||||
|
||||
------------- TODO - need new procedures for GitHub... ------------
|
||||
# create a shell session and source dir
|
||||
SFUSERNAME=`ls ~/.subversion/auth/svn.simple/* | xargs -n 1 grep -A4 sourceforge | tail -1`
|
||||
echo "SFUSERNAME=$SFUSERNAME MAJOR=$MAJOR MINOR=$MINOR PATCH=$PATCH"
|
||||
ssh -v $SFUSERNAME,brlcad@shell.sf.net create
|
||||
ssh -v $SFUSERNAME,brlcad@shell.sf.net mkdir "/home/frs/project/brlcad/BRL-CAD\ Source/$MAJOR.$MINOR.$PATCH"
|
||||
|
||||
# create binary dirs (as needed)
|
||||
ssh -v $SFUSERNAME,brlcad@shell.sf.net mkdir "/home/frs/project/brlcad/BRL-CAD\ Runtime\ Libraries/$MAJOR.$MINOR.$PATCH"
|
||||
ssh -v $SFUSERNAME,brlcad@shell.sf.net mkdir "/home/frs/project/brlcad/BRL-CAD\ for\ BSD/$MAJOR.$MINOR.$PATCH"
|
||||
ssh -v $SFUSERNAME,brlcad@shell.sf.net mkdir "/home/frs/project/brlcad/BRL-CAD\ for\ Linux/$MAJOR.$MINOR.$PATCH"
|
||||
ssh -v $SFUSERNAME,brlcad@shell.sf.net mkdir "/home/frs/project/brlcad/BRL-CAD\ for\ Mac\ OS\ X/$MAJOR.$MINOR.$PATCH"
|
||||
ssh -v $SFUSERNAME,brlcad@shell.sf.net mkdir "/home/frs/project/brlcad/BRL-CAD\ for\ Windows/$MAJOR.$MINOR.$PATCH"
|
||||
|
||||
# upload source dist and any binaries
|
||||
scp brlcad-$MAJOR.$MINOR.$PATCH* "$SFUSERNAME,brlcad@shell.sf.net:/home/frs/project/brlcad/BRL-CAD\ Source/$MAJOR.$MINOR.$PATCH/."
|
||||
|
||||
# extract and upload release notes to source dir
|
||||
cat ../NEWS | tr '\n' '@' | perl -p -e "s/.*?(@---[[:space:]@-]*[0-9]{4}-[0-9]{2}-[0-9]{2}[[:space:]]*Release[[:space:]]*${MAJOR}\.${MINOR}\.${PATCH}[[:space:]@-]*.*?)@---.*/\1/" | tr '@' '\n' > README-${MAJOR}-${MINOR}-${PATCH}.txt
|
||||
echo "Release notes for $MAJOR.$MINOR.$PATCH" && echo "==="
|
||||
cat README-$MAJOR-$MINOR-$PATCH.txt && echo "==="
|
||||
scp README-$MAJOR-$MINOR-$PATCH.txt "$SFUSERNAME,brlcad@shell.sf.net:/home/frs/project/brlcad/BRL-CAD\ Source/$MAJOR.$MINOR.$PATCH/."
|
||||
|
||||
# NON-AUTO: Following the NAMING A BINARY RELEASE convention,
|
||||
# upload any release binaries and platform-specific release notes.
|
||||
|
||||
scp README-$MAJOR-$MINOR-$PATCH.txt "$SFUSERNAME,brlcad@shell.sf.net:/home/frs/project/brlcad/BRL-CAD\ Runtime\ Libraries/$MAJOR.$MINOR.$PATCH/."
|
||||
scp README-$MAJOR-$MINOR-$PATCH.txt "$SFUSERNAME,brlcad@shell.sf.net:/home/frs/project/brlcad/BRL-CAD\ for\ BSD/$MAJOR.$MINOR.$PATCH/."
|
||||
scp README-$MAJOR-$MINOR-$PATCH.txt "$SFUSERNAME,brlcad@shell.sf.net:/home/frs/project/brlcad/BRL-CAD\ for\ Linux/$MAJOR.$MINOR.$PATCH/."
|
||||
scp README-$MAJOR-$MINOR-$PATCH.txt "$SFUSERNAME,brlcad@shell.sf.net:/home/frs/project/brlcad/BRL-CAD\ for\ Mac\ OS\ X/$MAJOR.$MINOR.$PATCH/."
|
||||
scp README-$MAJOR-$MINOR-$PATCH.txt "$SFUSERNAME,brlcad@shell.sf.net:/home/frs/project/brlcad/BRL-CAD\ for\ Windows/$MAJOR.$MINOR.$PATCH/."
|
||||
|
||||
# NON-AUTO: Be sure to mark binaries as default download, then
|
||||
# close shell session
|
||||
ssh -v $SFUSERNAME,brlcad@shell.sf.net shutdown
|
||||
|
||||
#####################################################################
|
||||
# 19: Notify binary platform maintainers:
|
||||
# 17: Notify binary platform maintainers:
|
||||
|
||||
T2 package maintainer
|
||||
http://t2-project.org/packages/brlcad.html
|
||||
@@ -1560,7 +1467,7 @@ Release steps are as follows:
|
||||
https://fedoraproject.org/wiki/User:Germano#Contact
|
||||
|
||||
#####################################################################
|
||||
# 20: Announce the new release.
|
||||
# 18: Announce the new release.
|
||||
|
||||
The NEWS file should generally be used as a basis for making release
|
||||
announcements though the announcements almost always require
|
||||
@@ -1639,7 +1546,7 @@ Multiple platform major release and announcements:
|
||||
copyboy@cadcam-insider.com
|
||||
|
||||
#####################################################################
|
||||
# 21: Sit back and enjoy a beverage for a job well done.
|
||||
# 19: Sit back and enjoy a beverage for a job well done.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,28 +1,32 @@
|
||||
The Installation Guide to BRL-CAD
|
||||
=================================
|
||||
|
||||
This document covers the installing BRL-CAD from either a source or binary
|
||||
distribution. Please see REPORTING PROBLEMS to troubleshoot.
|
||||
This document covers the basics of installing BRL-CAD from either a
|
||||
source or binary distribution. Please see the 'Reporting Problems'
|
||||
section if you run into any trouble installing BRL-CAD.
|
||||
|
||||
Some platforms have additional platform-specific documentation provided in the
|
||||
doc/ directory with additional information. This presently includes the
|
||||
following:
|
||||
Some platforms have additional platform-specific documentation
|
||||
provided in the doc/ directory of the source distribution that should
|
||||
be consulted if that is the platform you are installing on. This
|
||||
presently includes the following:
|
||||
|
||||
doc/README.AIX -- IBM's Advanced Interactive eXecutive OS
|
||||
doc/README.BSD -- FreeBSD, NetBSD, OpenBSD, etc.
|
||||
doc/README.IRIX -- SGI IRIX and IRIX64
|
||||
doc/README.Linux -- Various Linux distributions
|
||||
doc/README.MacOSX -- Apple Mac OS X
|
||||
doc/README.Solaris -- Oracle Solaris, OpenIndiana (Illumos), etc.
|
||||
doc/README.Windows -- Microsoft Windows
|
||||
doc/README.VAX -- Virtual Address eXtension architecture from DEC.
|
||||
One of the original BRL-CAD platforms. These
|
||||
days, re-created using the simh simulator.
|
||||
doc/README.Windows -- Microsoft Windows
|
||||
|
||||
|
||||
TABLE OF CONTENTS
|
||||
-----------------
|
||||
Introduction
|
||||
Table of Contents
|
||||
Quick Source Install
|
||||
Quick Installation
|
||||
Installing from Binary
|
||||
Installing from Source
|
||||
Testing Functionality
|
||||
@@ -31,35 +35,50 @@ TABLE OF CONTENTS
|
||||
Configuration Options
|
||||
|
||||
|
||||
QUICK SOURCE INSTALL
|
||||
--------------------
|
||||
QUICK INSTALLATION
|
||||
------------------
|
||||
|
||||
See https://brlcad.org/wiki/Compiling for a platform-specific walk-through
|
||||
including instructions for building on Windows.
|
||||
Note that the downloaded files have two check sums calculated
|
||||
automatically by the Source Forge file release system. The values are
|
||||
used to verify the integrity of the files as distributed. Get those
|
||||
data by clicking on the 'i' button at the end of each file's name.
|
||||
You should ensure those data are retained and kept with the files if
|
||||
you re-distribute them.
|
||||
|
||||
Required tools:
|
||||
- Git must be 2.17 or later
|
||||
- CMake must be 3.20 or later
|
||||
- Compiler must be C++17-compliant
|
||||
- If using Visual Studio, version 2019 (16.8+) or later
|
||||
- If using GCC/G++, version 7 or later
|
||||
- If using LLVM/Clang 5 or later
|
||||
- If using Intel, version 19.0.1 or later
|
||||
|
||||
Steps to compile, test, and install an optimized BRL-CAD on non-Windows
|
||||
platforms:
|
||||
If you downloaded a binary distribution of BRL-CAD for your system,
|
||||
please read the INSTALLING FROM BINARY section of this document down
|
||||
below. The rest of this quick installation section is only relevant
|
||||
to source code distributions of BRL-CAD.
|
||||
|
||||
git clone https://github.com/BRL-CAD/brlcad.git
|
||||
mkdir brlcad/build
|
||||
cd brlcad/build
|
||||
cmake .. -DENABLE_ALL=ON -DCMAKE_BUILD_TYPE=Release
|
||||
For the impatient or simplistic, the following steps should compile,
|
||||
test, and install an optimized BRL-CAD quickly into the
|
||||
/usr/brlcad/rel-VERSION directory if CMake is already installed:
|
||||
|
||||
tar -zxvf brlcad-VERSION.tar
|
||||
mkdir brlcad-VERSION/build
|
||||
cd brlcad-VERSION/build
|
||||
cmake .. -DBRLCAD_BUNDLED_LIBS=ON -DCMAKE_BUILD_TYPE=Release
|
||||
make -j4
|
||||
make check
|
||||
sudo make install
|
||||
make install
|
||||
|
||||
Once installed, run bin/mged or bin/archer to launch BRL-CAD's GUI apps. See
|
||||
POST-INSTALLATION for instruction adding bin/ folder to your system PATH to
|
||||
more easily run geometry converters.
|
||||
See the REPORTING PROBLEMS section of this document to report any
|
||||
problems or the INSTALLING FROM SOURCE section for more comprehensive
|
||||
instructions.
|
||||
|
||||
Once installed, add /usr/brlcad/rel-VERSION/bin to your path, and you should be
|
||||
able to run any of the 400+ applications that constitute BRL-CAD. For
|
||||
example, to run the MGED solid modeler:
|
||||
|
||||
PATH=/usr/brlcad/rel-VERSION/bin:$PATH ; export PATH
|
||||
mged
|
||||
|
||||
If you use tcsh or another C-shell based command shell, use this
|
||||
instead:
|
||||
|
||||
set path=( /usr/brlcad/rel-VERSION/bin $path ) ; rehash
|
||||
mged
|
||||
|
||||
|
||||
INSTALLING FROM BINARY
|
||||
@@ -74,128 +93,94 @@ and Windows etc.
|
||||
|
||||
Generic Binary Distributions:
|
||||
|
||||
For binary distributions that are simply compressed tarballs of the
|
||||
installation root, they should contain the entire hierarchy of the
|
||||
distribution. To put that hierarchy in its "installed" location, you just
|
||||
create the directory and move the expanded tarball contents:
|
||||
For the unspecialized binary distributions that are basically
|
||||
compressed tarballs of the installation root, they should contain the
|
||||
entire hierarchy of the distribution. To put that hierarchy in its
|
||||
"installed" location, you just create the directory and move the
|
||||
expanded tarball contents:
|
||||
|
||||
gunzip BRL-CAD_X.Y.Z_Linux_ia64.tar.gz
|
||||
tar -xvf BRL-CAD_X.Y.Z_Linux_ia64.tar
|
||||
sudo mkdir /usr/brlcad/rel-X.Y.Z
|
||||
sudo mv BRL-CAD_X.Y.Z_Linux_ia64/* /usr/brlcad/rel-7.X.Y/
|
||||
gunzip BRL-CAD_7.2.4_Linux_ia64.tar.gz
|
||||
tar -xvf BRL-CAD_7.2.4_Linux_ia64.tar
|
||||
sudo mkdir /usr/brlcad/rel-7.2.4
|
||||
sudo mv BRL-CAD_7.2.4_Linux_ia64/* /usr/brlcad/rel-7.2.4/
|
||||
|
||||
Of course, there are other compression options possible including zip and
|
||||
bzip2. By default, BRL-CAD expects to be installed into /usr/brlcad/rel-X.Y.Z.
|
||||
On some platforms the binary may be relocatable, but this is not guaranteed.
|
||||
It's recommended that you start from a source distribution if you would like to
|
||||
install into an alternate installation location. That said, if you do desire
|
||||
to install and/or run BRL-CAD from a different location, give it a try...on
|
||||
some platforms it will work.
|
||||
Of course, there are other compression options possible including zip
|
||||
and bzip2. By default, BRL-CAD expects to be installed into
|
||||
/usr/brlcad/rel-7.2.4. On some platforms the binary may be relocatable,
|
||||
but this is not guaranteed. It's recommended that you start from a source
|
||||
distribution if you would like to install into an alternate installation
|
||||
location. That said, if you do desire to install and/or run BRL-CAD from
|
||||
a different location, give it a try...on some platforms it will work.
|
||||
|
||||
Something to be aware of, even if a binary distribution IS relocatable: it will
|
||||
use its local copies of things like libraries only so long as the "final"
|
||||
installed target directory that the build was compiled for does not contain a
|
||||
BRL-CAD installation. Due to the way path logic is set, an installed copy of a
|
||||
library in the correct location will always be loaded first, regardless of the
|
||||
presence of a "local" copy.
|
||||
Something to be aware of, even if a binary distribution IS relocatable:
|
||||
it will use its local copies of things like libraries only so long as the
|
||||
"final" installed target directory that the build was compiled for
|
||||
does not contain a BRL-CAD installation. Due to the way path logic
|
||||
is set, an installed copy of a library in the correct location will
|
||||
always be loaded first, regardless of the presence of a "local" copy.
|
||||
|
||||
|
||||
Mac OS X Disk Mounting Image:
|
||||
|
||||
Mount the .dmg and run the Installer .pkg contained therein. This will install
|
||||
into /usr/brlcad/rel-X.Y.Z and will only require confirming that your
|
||||
environment is set up properly (i.e. add /usr/brlcad/rel-X.Y.Z/bin to your
|
||||
path) as described in the Quick Installation section.
|
||||
|
||||
|
||||
Validating checksums:
|
||||
|
||||
The integrity of distributed files can be verified using checksums that are
|
||||
published with released files. Files on SourceForge's file release system can
|
||||
be found by clicking the 'i' button at the end of each file's name. If you
|
||||
re-distribute BRL-CAD, checksums should be retained with the files so others
|
||||
can validate origination.
|
||||
Mount the .dmg and run the Installer .pkg contained therein. This
|
||||
will install into /usr/brlcad/rel-X.Y.Z and will only require
|
||||
confirming that your environment is set up properly (i.e. add
|
||||
/usr/brlcad/rel-X.Y.Z/bin to your path) as described in the Quick
|
||||
Installation section.
|
||||
|
||||
|
||||
INSTALLING FROM SOURCE
|
||||
----------------------
|
||||
|
||||
There are a couple of ways to obtain the BRL-CAD sources, usually via one of
|
||||
the following starting points:
|
||||
There are a couple of ways to obtain the BRL-CAD sources, usually via
|
||||
one of the following starting points:
|
||||
|
||||
1) from a Git checkout, or
|
||||
1) from a SVN checkout/export, or
|
||||
2) from a source distribution tarball
|
||||
|
||||
Using the latest Git sources is recommended where possible since it
|
||||
will have the latest changes.
|
||||
Using the latest SVN sources is recommended where possible since it
|
||||
will have the latest changes. See the corresponding section below for
|
||||
details on how to install from either starting point.
|
||||
|
||||
|
||||
Starting From a SVN Checkout/Export:
|
||||
|
||||
With CMake, there is no longer any difference between building from
|
||||
a subversion checkout and a tarball--follow the Source Distribution
|
||||
instructions below.
|
||||
|
||||
Starting From a Source Distribution:
|
||||
|
||||
There are many different ways to build BRL-CAD and depending on what
|
||||
you need/want will determine which configuration options you should
|
||||
use. See the CONFIGURATION OPTIONS section below for details on how
|
||||
to go about selecting which options are appropriate for you.
|
||||
|
||||
BRL-CAD's dependencies are managed in a separate repository, located at
|
||||
https://github.com/BRL-CAD/bext By default BRL-CAD's configure process will
|
||||
download and manage the necessary dependencies, avoiding the need for user
|
||||
awareness of the bext repository, but there are a number of scenarios where it
|
||||
is advantageous for developers to adjust how this process works.
|
||||
|
||||
The full dependency stack of BRL-CAD, with all optional and experimental
|
||||
features enabled, is a VERY large and long compile. Therefore, the bext build
|
||||
outputs can be built as their own separate, external project to allow for reuse
|
||||
of the compiled outputs. Building bext separately means BRL-CAD won't get a
|
||||
chance to customize what is and is not built, but the trade-off is that outputs
|
||||
can be built once and reused over and over. Doing so can significantly shorten
|
||||
time spent configuring BRL-CAD builds - reusing bext compiled outputs is
|
||||
recommended for serious developers.
|
||||
|
||||
Various useful configurations for working with bext:
|
||||
|
||||
* Get a git clone that has everything which might be needed (large,
|
||||
but useful for offline building)
|
||||
|
||||
git clone --recurse-submodules https://github.com/BRL-CAD/brlcad
|
||||
|
||||
* Have prebuilt bext outputs to reuse - BRL-CAD will simply copy and prepare
|
||||
the pre-existing files
|
||||
|
||||
cmake .. -DBRLCAD_EXT_DIR=/home/user/bext_output
|
||||
|
||||
* Already have an existing bext clone but want BRL-CAD to build bext outputs
|
||||
|
||||
cmake .. -DBRLCAD_EXT_SOURCE_DIR=/home/user/bext
|
||||
|
||||
* Download, build and bundle only what is needed for librt
|
||||
|
||||
cmake .. -DBRLCAD_COMPONENTS=librt
|
||||
|
||||
* Build and bundle only what is needed, but don't require internet for bext clone
|
||||
cmake .. -DBRLCAD_EXT_SOURCE_DIR=/home/user/bext -DBRLCAD_COMPONENTS=librt
|
||||
|
||||
|
||||
By default, the build system will prepare a Debug build and install into the
|
||||
/usr/brlcad/dev-X.Y.Z directory. The CMAKE_INSTALL_PREFIX option may be used
|
||||
to change that directory, or a Release build type may be specified to install
|
||||
to /usr/brlcad/rel-X.Y.Z - more on this below. The tradition of non-system
|
||||
installation paths goes back a couple of decades and is a convenient means to
|
||||
isolate the BRL-CAD solid modeling system from your system, resolves conflicts,
|
||||
facilitates uninstalls, and simplifies upgrades. The default configuration is
|
||||
performed by running `cmake'. It is not required to do the build in a
|
||||
directory different from your source directory, but it is much cleaner and
|
||||
*highly* recommended - this guide will illustrate the build process with the
|
||||
assumption that the BRL-CAD source code is in the directory brlcad-X.Y.Z and
|
||||
the directory intended to hold the build output is brlcad-build, located in the
|
||||
same parent directory as brlcad-X.Y.Z:
|
||||
By default, the default configuration will prepare the build system
|
||||
to perform a Debug build and install into the /usr/brlcad/dev-X.Y.Z
|
||||
directory. The CMAKE_INSTALL_PREFIX option may be used to change
|
||||
that directory, or a Release build type may be specified to install to
|
||||
/usr/brlcad/rel-X.Y.Z - more on this below. The
|
||||
tradition of non-system installation paths goes back a couple of decades
|
||||
and is a convenient means to isolate the BRL-CAD solid modeling
|
||||
system from your system, resolves conflicts, facilitates uninstalls,
|
||||
and simplifies upgrades. The default configuration is performed by
|
||||
running `cmake'. It is not required to do the build in a directory
|
||||
different from your source directory, but it is much cleaner and
|
||||
*highly* recommended - this guide will illustrate the build process
|
||||
with the assumption that the BRL-CAD source code is in the directory
|
||||
brlcad-7.2.4 and the directory intended to hold the build output is
|
||||
brlcad-build, located in the same parent directory as brlcad-7.2.4:
|
||||
|
||||
.
|
||||
./brlcad-X.Y.Z
|
||||
./brlcad-7.2.4
|
||||
./brlcad-build
|
||||
|
||||
To start the build process, cd into brlcad-build and run CMake,
|
||||
pointing it to the source directory:
|
||||
|
||||
cd brlcad-build
|
||||
cmake ../brlcad-X.Y.Z
|
||||
cmake ../brlcad-7.2.4
|
||||
|
||||
As mentioned earlier, CMake uses two "build types", controlled by
|
||||
the CMAKE_BUILD_TYPE variable, that are useful for specific purposes:
|
||||
@@ -220,23 +205,69 @@ override the ../brlcad-install default. Build types are a convenient way
|
||||
to bundle sets of settings, but they do not prevent overrides if a more
|
||||
custom setup is needed.
|
||||
|
||||
By default, all components and functionality will be built.
|
||||
Note that BRL-CAD does require and include several 3rd party
|
||||
components. If your system does not include a sufficient version of
|
||||
those required 3rd party components, they will be automatically
|
||||
configured for compilation.
|
||||
|
||||
If the autodetection mechanisms fail to produce a working configuration,
|
||||
the next simplest approach is typically to enable ALL the third party
|
||||
components - this is typically a well tested configuration, but will
|
||||
increase both the build time and final install size of BRL-CAD on
|
||||
the system. To set this variable on the command line, use -D to
|
||||
define ENABLE_ALL for CMake:
|
||||
define BRLCAD_BUNDLED_LIBS for CMake:
|
||||
|
||||
-DENABLE_ALL=ON
|
||||
-DBRLCAD_BUNDLED_LIBS=Bundled
|
||||
|
||||
If the graphical interface (cmake-gui) is in use, it will list this
|
||||
and other common options by default, allowing the user change them
|
||||
graphically. This is often quicker and more convenient than
|
||||
defining options on the command line, but both will work.
|
||||
|
||||
You can also force on or off any individual 3rd party library by
|
||||
setting the BRL-CAD variable for that feature to either on or off:
|
||||
|
||||
-DBRLCAD_<LIBRARY>=ON
|
||||
|
||||
Other variables control BRL-CAD features. For example, to NOT
|
||||
enable functionality using OpenGL, set
|
||||
|
||||
-DBRLCAD_ENABLE_OPENGL=OFF
|
||||
|
||||
To obtain an optimized build (for example, for BRL-CAD Benchmark
|
||||
performance evaluation), enable BRLCAD_FLAGS_OPTIMIZATION:
|
||||
|
||||
-DBRLCAD_FLAGS_OPTIMIZATION=ON
|
||||
|
||||
Profile-guided optimization builds are possible via two-pass
|
||||
compilation. Compile with this flag set, run the benchmark suite,
|
||||
clean the build, and then compile again with this flag set. Supported
|
||||
compilers will utilize data from the first pass to guide optimization,
|
||||
typically resulting in a significant performance increase:
|
||||
|
||||
-DBRLCAD_PGO=ON
|
||||
|
||||
See the CONFIGURATION OPTIONS below for more details on all of the
|
||||
possible settings.
|
||||
|
||||
You can specify options or preferences you want to always use by
|
||||
default. For example, to always enable all local libs the following
|
||||
line can be added to your own configuration file:
|
||||
|
||||
set(BRLCAD_BUNDLED_LIBS "Bundled" CACHE STRING "Enable all local libs")
|
||||
|
||||
You can define your own configuration file in one of three ways. The
|
||||
build system will search for the file in this order:
|
||||
|
||||
${BRLCAD_SOURCE_DIR}/../BRL-CAD_CONFIG.GLOBAL
|
||||
|
||||
${BRLCAD_SOURCE_DIR}/BRL-CAD_CONFIG.GLOBAL
|
||||
|
||||
the file defined in the environment variable "BRLCAD_USER_GLOBAL_CONFIG_FILE"
|
||||
|
||||
The build system will use the first file defined that exists.
|
||||
|
||||
Once configured, you should be able to successfully build BRL-CAD via
|
||||
make:
|
||||
|
||||
@@ -310,35 +341,38 @@ files.
|
||||
System PATH:
|
||||
|
||||
Normally, BRL-CAD's install directories are not in system PATH lists and
|
||||
consequently BRL-CAD's executables will not be invocable without specifying
|
||||
consequently BRL-CAD's executables will not be invokable without specifying
|
||||
their full path. This is normally handled in Unix environments by adding
|
||||
the desired BRL-CAD installation's binary directory to the user's local path:
|
||||
|
||||
On Windows, the PATH system variable can be set using System Utility
|
||||
in control panel. Add the bin/ folder in the install directory to PATH.
|
||||
|
||||
On Linux/BSD/other systems:
|
||||
In the bash shell: export PATH=/usr/brlcad/rel-X.Y.Z:$PATH
|
||||
In the csh shell: setenv PATH /usr/brlcad/rel-X.Y.Z:$PATH
|
||||
|
||||
In the bash shell: export PATH=/usr/brlcad/rel-X.Y.Z:$PATH
|
||||
In the csh shell: setenv PATH /usr/brlcad/rel-X.Y.Z:$PATH
|
||||
|
||||
REPORTING PROBLEMS
|
||||
------------------
|
||||
|
||||
Please report any bugs, support requests, or feature requests to:
|
||||
https://github.com/BRL-CAD/brlcad/issues
|
||||
Please report any bugs encountered to the project bug tracker at
|
||||
http://sourceforge.net/tracker/?group_id=105292&atid=640802
|
||||
|
||||
Similarly, please post any request for feature enhancements or support
|
||||
to http://sourceforge.net/tracker/?group_id=105292&atid=640805 and
|
||||
http://sourceforge.net/tracker/?group_id=105292&atid=640803
|
||||
respectively.
|
||||
|
||||
|
||||
CONFIGURATION OPTIONS
|
||||
---------------------
|
||||
|
||||
--- ENABLE_ALL ---
|
||||
--- BRLCAD_BUNDLED_LIBS ---
|
||||
|
||||
If set to ON, and the BRL-CAD configure process is managing the bext
|
||||
dependencies, instructs bext to default to building local copies of the
|
||||
dependencies it will enable per the BRL-CAD feature settings, rather than
|
||||
searching for system versions.
|
||||
Enables compilation of all 3rd party sources that are provided within a BRL-CAD
|
||||
source distribution. If used this option sets all other 3rd party library
|
||||
build flags to ON by default. However, that setting can be overridden by
|
||||
manually setting individual variables. Default is "AUTO" - 3rd party sources
|
||||
are compiled only if they are not detected as being available and functioning
|
||||
as expected.
|
||||
|
||||
Aliases: ENABLE_ALL
|
||||
|
||||
|
||||
--- BRLCAD_ENABLE_OPENGL ---
|
||||
@@ -350,12 +384,6 @@ if it is, default is to enable.
|
||||
Aliases: ENABLE_OPENGL
|
||||
|
||||
|
||||
--- BRLCAD_COMPONENTS ---
|
||||
|
||||
Semicolon separated list of components to enable for building - see
|
||||
src/source_dirs.cmake for a list of the components that may be specified.
|
||||
|
||||
|
||||
--- BRLCAD_ENABLE_RUNTIME_DEBUG ---
|
||||
|
||||
Enables support for application and library debugging facilities.
|
||||
@@ -369,51 +397,18 @@ Aliases: ENABLE_RUNTIME_DEBUG, ENABLE_RUN_TIME_DEBUG, ENABLE_RUNTIME_DEBUGGING
|
||||
ENABLE_RUN_TIME_DEBUGGING
|
||||
|
||||
|
||||
--- BRLCAD_EXT_DIR ---
|
||||
|
||||
If specified, BRL-CAD will look in this directory for bext compiled outputs to
|
||||
bundle and use during the build.
|
||||
|
||||
|
||||
--- BRLCAD_EXT_SOURCE_DIR ---
|
||||
|
||||
If specified, BRL-CAD will look in this directory for bext source files. Use
|
||||
this when you have a pre-existing bext clone and don't want BRL-CAD's configure
|
||||
process to pull down another copy, but are still looking to have the BRL-CAD
|
||||
configure process manage producing bext build outputs.
|
||||
|
||||
|
||||
--- BRLCAD_EXT_PARALLEL ---
|
||||
|
||||
This number, when specified, describes how many compilation threads to use
|
||||
when compiling bext sources. Default is 8.
|
||||
|
||||
|
||||
--- BRLCAD_DEBUGGING ---
|
||||
--- BRLCAD_FLAGS_DEBUG ---
|
||||
|
||||
Add compiler flags to aid in program debugging. Defaults to ON.
|
||||
|
||||
Aliases: ENABLE_DEBUG, ENABLE_FLAGS_DEBUG, ENABLE_DEBUG_FLAGS
|
||||
BRLCAD_FLAGS_DEBUG
|
||||
|
||||
|
||||
--- BRLCAD_PGO ---
|
||||
--- BRLCAD_ENABLE_COMPILER_WARNINGS ---
|
||||
|
||||
Enable profile-guided optimization build flags. Defaults to OFF.
|
||||
|
||||
Profile-guided optimization builds are possible via two-pass
|
||||
compilation. Compile with this flag set, run the benchmark suite,
|
||||
clean the build, and then compile again with this flag set. Supported
|
||||
compilers will utilize data from the first pass to guide optimization,
|
||||
typically resulting in a significant performance increase:
|
||||
|
||||
|
||||
--- BRLCAD_WARNINGS ---
|
||||
|
||||
Use extra warning flags when compiling C/C++ code. Defaults to ON.
|
||||
Use extra compiler warning flags when compiling C/C++ code. Defaults to ON.
|
||||
|
||||
Aliases: ENABLE_WARNINGS, ENABLE_COMPILER_WARNINGS
|
||||
BRLCAD_ENABLE_COMPILER_WARNINGS
|
||||
|
||||
|
||||
--- BRLCAD_ENABLE_STRICT ---
|
||||
@@ -448,3 +443,302 @@ permissions).
|
||||
|
||||
Aliases: ENABLE_DOCS, ENABLE_EXTRA_DOCS, ENABLE_DOCBOOK
|
||||
|
||||
|
||||
--- BRLCAD_LEMON ---
|
||||
|
||||
Option for enabling and disabling compilation of the lemon parser
|
||||
provided with BRL-CAD's source distribution. Default is AUTO,
|
||||
responsive to the toplevel BRLCAD_BUNDLED_LIBS option and testing
|
||||
first for a system version if BRLCAD_BUNDLED_LIBS is also AUTO.
|
||||
|
||||
Aliases: ENABLE_LEMON
|
||||
|
||||
|
||||
--- BRLCAD_RE2C ---
|
||||
|
||||
Option for enabling and disabling compilation of the re2c scanner
|
||||
utility provided with BRL-CAD's source distribution. Default is AUTO,
|
||||
responsive to the toplevel BRLCAD_BUNDLED_LIBS option and testing
|
||||
first for a system version if BRLCAD_BUNDLED_LIBS is also AUTO.
|
||||
|
||||
Aliases: ENABLE_RE2C
|
||||
|
||||
|
||||
--- BRLCAD_PERPLEX ---
|
||||
|
||||
Option for enabling and disabling compilation of the perplex scanner
|
||||
generator provided with BRL-CAD's source distribution. Default is
|
||||
AUTO, responsive to the toplevel BRLCAD_BUNDLED_LIBS option and
|
||||
testing first for a system version if BRLCAD_BUNDLED_LIBS is also
|
||||
AUTO. perplex requires a working re2c.
|
||||
|
||||
Aliases: ENABLE_PERPLEX
|
||||
|
||||
|
||||
--- BRLCAD_ASTYLE ---
|
||||
|
||||
Option for enabling and disabling compilation of the Artistic Style
|
||||
(astyle) utility provided with BRL-CAD's source distribution. Default is
|
||||
AUTO,
|
||||
responsive to the toplevel BRLCAD_BUNDLED_LIBS option and testing
|
||||
first for a system version if BRLCAD_BUNDLED_LIBS is also AUTO.
|
||||
|
||||
Aliases: ENABLE_ASTYLE
|
||||
|
||||
|
||||
--- BRLCAD_XSLTPROC ---
|
||||
|
||||
Option for enabling and disabling compilation of the xsltproc XML
|
||||
transformation utility provided with BRL-CAD's source distribution.
|
||||
Used for DocBook documentation processing. Default is AUTO,
|
||||
responsive to the toplevel BRLCAD_BUNDLED_LIBS option and testing
|
||||
first for a system version if BRLCAD_BUNDLED_LIBS is also AUTO.
|
||||
Depends on BRLCAD_EXTRADOCS.
|
||||
|
||||
Aliases: ENABLE_XSLTPROC
|
||||
|
||||
|
||||
--- BRLCAD_XMLLINT ---
|
||||
|
||||
Option for enabling and disabling compilation of the xmllint XML
|
||||
validation utility provided with BRL-CAD's source distribution. Used
|
||||
for DocBook documentation validation. Default is AUTO, responsive to
|
||||
the toplevel BRLCAD_BUNDLED_LIBS option and testing first for a system
|
||||
version if BRLCAD_BUNDLED_LIBS is also AUTO.
|
||||
|
||||
Aliases: ENABLE_XMLLINT
|
||||
|
||||
|
||||
--- BRLCAD_REGEX ---
|
||||
|
||||
Option for enabling and disabling compilation of the Regular
|
||||
Expression Library provided with BRL-CAD's source distribution.
|
||||
Default is AUTO, responsive to the toplevel BRLCAD_BUNDLED_LIBS option
|
||||
and testing first for a system version if BRLCAD_BUNDLED_LIBS is also
|
||||
AUTO.
|
||||
|
||||
Aliases: ENABLE_REGEX
|
||||
|
||||
|
||||
--- BRLCAD_ZLIB ---
|
||||
|
||||
Option for enabling and disabling compilation of the zlib library
|
||||
provided with BRL-CAD's source distribution. Default is AUTO,
|
||||
responsive to the toplevel BRLCAD_BUNDLED_LIBS option and testing
|
||||
first for a system version if BRLCAD_BUNDLED_LIBS is also AUTO.
|
||||
|
||||
Aliases: ENABLE_ZLIB, ENABLE_LIBZ
|
||||
|
||||
|
||||
--- BRLCAD_PNG ---
|
||||
|
||||
Option for enabling and disabling compilation of the Portable Network
|
||||
Graphics library provided with BRL-CAD's source distribution. Default
|
||||
is AUTO, responsive to the toplevel BRLCAD_BUNDLED_LIBS option and
|
||||
testing first for a system version if BRLCAD_BUNDLED_LIBS is also
|
||||
AUTO.
|
||||
|
||||
Aliases: ENABLE_PNG
|
||||
|
||||
|
||||
--- BRLCAD_NETPBM ---
|
||||
|
||||
Option for enabling and disabling compilation of the netpbm library
|
||||
provided with BRL-CAD's source code. Default is AUTO, responsive to
|
||||
the toplevel BRLCAD_BUNDLED_LIBS option and testing first for a system
|
||||
version if BRLCAD_BUNDLED_LIBS is also AUTO.
|
||||
|
||||
Aliases: ENABLE_NETPBM
|
||||
|
||||
|
||||
--- BRLCAD_UTAHRLE ---
|
||||
|
||||
Option for enabling and disabling compilation of the Utah Raster
|
||||
Toolkit library provided with BRL-CAD's source code. Default is AUTO,
|
||||
responsive to the toplevel BRLCAD_BUNDLED_LIBS option and testing
|
||||
first for a system version if BRLCAD_BUNDLED_LIBS is also AUTO.
|
||||
|
||||
Aliases: ENABLE_UTAHRLE
|
||||
|
||||
|
||||
--- BRLCAD_TCL ---
|
||||
|
||||
Option for enabling and disabling compilation of the Tcl library
|
||||
provided with BRL-CAD's source code. Default is AUTO, responsive to
|
||||
the toplevel BRLCAD_BUNDLED_LIBS option and testing first for a system
|
||||
version if BRLCAD_BUNDLED_LIBS is also AUTO.
|
||||
|
||||
Aliases: ENABLE_TCL
|
||||
|
||||
|
||||
--- BRLCAD_TK ---
|
||||
|
||||
Option for enabling and disabling compilation of the Tk library
|
||||
provided with BRL-CAD's source code. Default is AUTO, responsive to
|
||||
the BRLCAD_TCL option and testing first for a system version if
|
||||
BRLCAD_BUNDLED_LIBS is also AUTO. Option for enabling and disabling
|
||||
compilation of the Tk graphics package for Tcl provided with BRL-CAD's
|
||||
source distribution. Default is AUTO, auto-enabling if the BRLCAD_TCL
|
||||
option is set to BUNDLED and testing first for a system version if
|
||||
BRLCAD_TCL is set to AUTO or SYSTEM. If BRLCAD_TK is set to BUNDLED,
|
||||
local copy is built even if a system version is present. This option
|
||||
also depends on BRLCAD_ENABLE_TK being ON.
|
||||
|
||||
Aliases: ENABLE_TK
|
||||
|
||||
|
||||
--- BRLCAD_ITCL ---
|
||||
|
||||
Option for enabling and disabling compilation of the IncrTcl package
|
||||
for Tcl objects provided with BRL-CAD's source distribution. Default
|
||||
is AUTO, auto-enabling if the BRLCAD_TCL option is set to BUNDLED and
|
||||
testing first for a system version if BRLCAD_TCL is set to AUTO or
|
||||
SYSTEM. If BRLCAD_ITCL is set to BUNDLED, local copy is built even if
|
||||
a system version is present.
|
||||
|
||||
Aliases: ENABLE_ITCL
|
||||
|
||||
|
||||
--- BRLCAD_ITK ---
|
||||
|
||||
Option for enabling and disabling compilation of the IncrTcl itk
|
||||
package for Tk objects provided with BRL-CAD's source distribution.
|
||||
Default is AUTO, auto-enabling if the BRLCAD_TCL option is set to
|
||||
BUNDLED and testing first for a system version if BRLCAD_TCL is set to
|
||||
AUTO or SYSTEM. If BRLCAD_ITK is set to BUNDLED, local copy is built
|
||||
even if a system version is present. This package will be disabled if
|
||||
BRLCAD_ENABLE_TK is OFF.
|
||||
|
||||
Aliases: ENABLE_ITK
|
||||
|
||||
|
||||
--- BRLCAD_IWIDGETS ---
|
||||
|
||||
Option for enabling and disabling compilation of the IWidgets Tk
|
||||
widget package provided with BRL-CAD's source distribution. Default
|
||||
is AUTO, auto-enabling if the BRLCAD_TCL option is set to BUNDLED and
|
||||
testing first for a system version if BRLCAD_TCL is set to AUTO or
|
||||
SYSTEM. If BRLCAD_IWIDGETS is set to BUNDLED, local copy is built even if
|
||||
a system version is present. This package will be disabled if
|
||||
BRLCAD_ENABLE_TK is OFF.
|
||||
|
||||
Aliases: ENABLE_IWIDGETS
|
||||
|
||||
|
||||
--- BRLCAD_TKHTML ---
|
||||
|
||||
Option for enabling and disabling compilation of the Tkhtml HTML
|
||||
viewing package provided with BRL-CAD's source distribution. Default
|
||||
is AUTO, auto-enabling if the BRLCAD_TCL option is set to BUNDLED and
|
||||
testing first for a system version if BRLCAD_TCL is set to AUTO or
|
||||
SYSTEM. If BRLCAD_TKHTML is set to BUNDLED, local copy is built even if
|
||||
a system version is present. This package will be disabled if
|
||||
BRLCAD_ENABLE_TK is OFF.
|
||||
|
||||
Aliases: ENABLE_TKHTML
|
||||
|
||||
|
||||
--- BRLCAD_TKTABLE ---
|
||||
|
||||
Option for enabling and disabling compilation of the Tktable graphical
|
||||
table widget package provided with BRL-CAD's source distribution.
|
||||
Default is AUTO, auto-enabling if the BRLCAD_TCL option is set to
|
||||
BUNDLED and testing first for a system version if BRLCAD_TCL is set to
|
||||
AUTO or SYSTEM. If BRLCAD_TKTABLE is set to BUNDLED, local copy is built
|
||||
even if a system version is present. This package will be disabled if
|
||||
BRLCAD_ENABLE_TK is OFF.
|
||||
|
||||
Aliases: ENABLE_TKTABLE
|
||||
|
||||
|
||||
--- BRLCAD_OPENNURBS ---
|
||||
|
||||
Option for enabling and disabling compilation of the openNURBS library
|
||||
provided with BRL-CAD's source code. Default is AUTO, responsive to
|
||||
the toplevel BRLCAD_BUNDLED_LIBS option and testing first for a system
|
||||
version if BRLCAD_BUNDLED_LIBS is also AUTO.
|
||||
|
||||
Aliases: ENABLE_OPENNURBS
|
||||
|
||||
|
||||
--- BRLCAD_SPSR ---
|
||||
|
||||
Option for enabling and disabling compilation of the Screened Poisson
|
||||
Surface Reconstruction library provided with BRL-CAD's source code.
|
||||
Default is AUTO, responsive to the toplevel BRLCAD_BUNDLED_LIBS option
|
||||
and testing first for a system version if BRLCAD_BUNDLED_LIBS is also AUTO.
|
||||
|
||||
Aliases: ENABLE_SPSR
|
||||
|
||||
|
||||
--- BRLCAD_SC ---
|
||||
|
||||
Option for enabling and disabling compilation of the NIST Step Class
|
||||
Libraries provided with BRL-CAD's source code. Default is AUTO,
|
||||
responsive to the toplevel BRLCAD_BUNDLED_LIBS option and testing
|
||||
first for a system version if BRLCAD_BUNDLED_LIBS is also AUTO.
|
||||
|
||||
Aliases: ENABLE_SCL, ENABLE_STEP, ENABLE_STEP_CLASS_LIBRARIES
|
||||
|
||||
|
||||
--- BRLCAD_VDS ---
|
||||
|
||||
Option for enabling and disabling compilation of the libvds triangle
|
||||
simplification library provided with BRL-CAD's source code. Default
|
||||
is AUTO, responsive to the toplevel BRLCAD_BUNDLED_LIBS option and
|
||||
testing first for a system version if BRLCAD_BUNDLED_LIBS is also
|
||||
AUTO.
|
||||
|
||||
Aliases: ENABLE_VDS
|
||||
|
||||
|
||||
--- BRLCAD_OSG ---
|
||||
|
||||
Option for enabling and disabling compilation of the OpenSceneGraph
|
||||
libraries provided with BRL-CAD's source code. Default is AUTO, responsive to
|
||||
the toplevel BRLCAD_BUNDLED_LIBS option and testing first for a system
|
||||
version if BRLCAD_BUNDLED_LIBS is also AUTO.
|
||||
|
||||
Aliases: ENABLE_OPENSCENEGRAPH
|
||||
|
||||
|
||||
--- BRLCAD_GDIAM ---
|
||||
|
||||
Option for enabling and disabling compilation of the libgdiam approximate
|
||||
tight bounding box library provided with BRL-CAD's source code. Default
|
||||
is AUTO, responsive to the toplevel BRLCAD_BUNDLED_LIBS option and
|
||||
testing first for a system version if BRLCAD_BUNDLED_LIBS is also
|
||||
AUTO.
|
||||
|
||||
Aliases: ENABLE_GDIAM
|
||||
|
||||
|
||||
--- BRLCAD_PROJ4 ---
|
||||
|
||||
Option for enabling and disabling compilation of the PROJ.4 geographic
|
||||
projection library provided with BRL-CAD's source code. Default
|
||||
is AUTO, responsive to the toplevel BRLCAD_BUNDLED_LIBS option and
|
||||
testing first for a system version if BRLCAD_BUNDLED_LIBS is also
|
||||
AUTO.
|
||||
|
||||
Aliases: ENABLE_PROJ4
|
||||
|
||||
|
||||
--- BRLCAD_GDAL ---
|
||||
|
||||
Option for enabling and disabling compilation of the GDAL geographic
|
||||
library provided with BRL-CAD's source code. Default
|
||||
is AUTO, responsive to the toplevel BRLCAD_BUNDLED_LIBS option and
|
||||
testing first for a system version if BRLCAD_BUNDLED_LIBS is also
|
||||
AUTO.
|
||||
|
||||
Aliases: ENABLE_GDAL
|
||||
|
||||
|
||||
|
||||
*** Note - Do not add or edit configuration option descriptions and alias
|
||||
lists in this file - those entries are auto-generated from information in
|
||||
the toplevel CMakeLists.txt file and src/other/CMakeLists.txt - any changes
|
||||
should be made in those files. The CMake configuration process will
|
||||
automatically re-generate INSTALL with the new descriptions and alias
|
||||
information.
|
||||
|
||||
@@ -10,534 +10,17 @@ descriptive text that emphasizes or further describes significant
|
||||
changes made. See document footer for additional details.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 20XX-XX-XX Release 7.XX.X ---
|
||||
--- 20XX-XX-XX Release 7.3X.X ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* corrected BoT shotline behavior when starting ray pt in mesh
|
||||
- Sean Morrison Chris McGregor Cliff Yapp
|
||||
* updated g2asc to exit if input file == output file - Cliff Yapp
|
||||
* updated asc2g to exit if input file == output file - Cliff Yapp
|
||||
* fixed default file-create behavior of open command - Cliff Yapp
|
||||
* corrected the exposed region count report in rtarea - Cliff Yapp
|
||||
* fixed icv support for RLE image format - Cliff Yapp
|
||||
* fixed bot -h crash when database not open - Cliff Yapp
|
||||
* fixed libged nirt cmd -c backout option support - Cliff Yapp
|
||||
* added similarity grouping identification mode to gdiff - Cliff Yapp
|
||||
* improved gcv asc v5 reader to handle brep input - Cliff Yapp
|
||||
* improved DSP primitive's default facetize behavior - Cliff Yapp
|
||||
* improved NMG->bot conv speed for all triangle case - Cliff Yapp
|
||||
* added SPSR meshing support to the pnts command - Cliff Yapp
|
||||
* replaced yedit with brledit as libbu fallback editor - Cliff Yapp
|
||||
* improved nirt behavior in Windows bash consoles - Cliff Yapp
|
||||
* updated geogram dependency to v1.9.6 - Cliff Yapp
|
||||
* updated GDAL dependency to v3.11.3 - Cliff Yapp
|
||||
* updated gct mesh decimation dependency to mmesh - Cliff Yapp
|
||||
* added simplification control options to bot extrude - Cliff Yapp
|
||||
* updated Manifold dependency to v3.2.1 - Cliff Yapp
|
||||
* updated SPSR dependency to v18.74 - Cliff Yapp
|
||||
* fixed bot subcmd help printing - Cliff Yapp
|
||||
* improved get/adjust/attr help text - Josh Baker
|
||||
* created manpage for 'adjust' command - Josh Baker
|
||||
* improved 'B' manpage options and usage - Josh Baker
|
||||
* improved 'voxelize' manpage usage and examples - Josh Baker
|
||||
* improved 'draw' manpage options and usage - Josh Baker
|
||||
* improved 'get' manpage - Josh Baker
|
||||
* improved 'view' manpage options, usage, and examples - Josh Baker
|
||||
* improved 'gqa' command usage and help text - Josh Baker
|
||||
* corrected various manpage typos and spacing - Josh Baker
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2025-08-11 Release 7.42.0 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Polygonal BoT ray tracing is now dramatically faster. Integration of
|
||||
a new spatial partition acceleration method (HLBVH) into librt's BoT
|
||||
ray tracing pipeline yields substantial speedups, better multicore
|
||||
scaling, and reduced memory overhead across all BRL-CAD ray tracing of
|
||||
scenes with BoTs. In general, new overall performence is typicaly in
|
||||
the 2-25x range depending on the model, scene, and other factors. The
|
||||
culmination of many efforts, the improvement was verified, validated,
|
||||
and performance tested against numerous real and test models to
|
||||
confirm gains and assert correctness. As a result, users no longer
|
||||
need to tune TIE or ADRT-specific settings as both are fully obsoleted
|
||||
and replaced.
|
||||
|
||||
This release expands Arbitrary Polyhedron support with 8 vertices
|
||||
(i.e., ARB8-only, not ARB7/6/5/4) to include concave definitions.
|
||||
Surfaces must (still) be planar and not self-intersect, but polyhedral
|
||||
edges creating concavities are now supported for ray tracing.
|
||||
|
||||
MGED's nirt command use of .mgedrc qray settings was restored, which
|
||||
affects output styling (e.g., showing/hiding attributes). To restore
|
||||
default behavior, delete .mgedrc in your home directory or remove
|
||||
existing qray settings manually.
|
||||
|
||||
* increased app parallelism ceiling to 4096 threads - Sean Morrison
|
||||
* removed obsolete nirt -T BoT spatial partition option - Cliff Yapp
|
||||
* added support for concave arb8 primitive definitions - Sean Morrison
|
||||
* added example geometry model showcasing all types - Mitchell Roberts
|
||||
* fixed mged crash when switching databases after rt - Sean Morrison
|
||||
* mitigated multithreading contention on >32 core cpus - Sean Morrison
|
||||
* clarified material_name not found warning in rtweight - Cliff Yapp
|
||||
* fixed stat command crash with invalid path specifiers - Cliff Yapp
|
||||
* improved search std attr table in man page - Cliff Yapp
|
||||
* updated MGED nirt man page to reference cmdline version - Cliff Yapp
|
||||
* fixed raytracing crash with empty BoT solid in tree - Cliff Yapp
|
||||
* cleaned up nirt -L format listing output - Cliff Yapp
|
||||
* fixed MGED nirt command's use of .mgedrc qray formats - Cliff Yapp
|
||||
* improved MGED nirt cmd handling for large object lists - Cliff Yapp
|
||||
* removed requirement to launch nirt with objects listed - Cliff Yapp
|
||||
* improved k-g LS-DYNA keyword file geometry importer - Ali Haydar
|
||||
* added bot support for plate mode thickness get/set cmds - Cliff Yapp
|
||||
* fixed dbconcat treatment of a '/' prefix character - Cliff Yapp
|
||||
* fixed bb '-o' oriented bounding box option in MGED - Chris McGregor
|
||||
* added manual page for pixcmp, bwish, btclsh - Sean Morrison
|
||||
* fixed "ted" text edit and "make_pnts" GED commands - Cliff Yapp
|
||||
* renamed MGED x command to solid_report for clarity - Sean Morrison
|
||||
* fixed Archer "Center View" button and vslew GED command - Cliff Yapp
|
||||
* added support for console text editing on Windows - Cliff Yapp
|
||||
* added bb '-m' option for outputting midpoint - Chris McGregor
|
||||
* fixed sed crash when editing a brep object in MGED - Cliff Yapp
|
||||
* fixed primitive & matrix edit GUIs in MGED ("x -1") - Sean Morrison
|
||||
* added (align, dir and print) subcommands to 'view' - Chris McGregor
|
||||
* added (autoview, lookat, saveview) to 'view' - Chris McGregor
|
||||
* fixed mged 'process' command on read-only databases - Sean Morrison
|
||||
* replaced ADRT with HLBVH-acclerated BoT tracing - Timothy Reynolds
|
||||
* accelerated BoT ray tracing HLBVH integration across all librt apps
|
||||
- Timothy Reynolds, Connor McLean, Ian Beckett, Samuel Reed,
|
||||
- Gaultier Debarre, Sean Morrison, Chris McGregor, Cliff Yapp
|
||||
* various manpage and help text updates - Josh Baker
|
||||
* fixed -exec behavior with 'flat' search in mged - Chris McGregor
|
||||
* improved logging behavior from multiple threads - Kenneth Davis
|
||||
* removed libgdiam dependency - Chris McGregor
|
||||
* updated strclear dependency to latest bsd upstream - Cliff Yapp
|
||||
* updated Assimp to v5.4.3, with patch for CVE-2025-2151 - Cliff Yapp
|
||||
* updated OpenNURBS dependency to v8.10.24228.13001 - Cliff Yapp
|
||||
* updated GeometricTools dependency to 7adae93f8 - Cliff Yapp
|
||||
* updated GDAL dependency to v3.9.2 - Cliff Yapp
|
||||
* updated PROJ dependency to v9.5.0 - Cliff Yapp
|
||||
* updated SQLite dependency to v3.46.1 - Cliff Yapp
|
||||
* updated lmdb dependency to 9c9d345 - Cliff Yapp
|
||||
* updated libtiff dependency to v4.7.0 - Cliff Yapp
|
||||
* updated netpbm dependency to v10.86.42 - Cliff Yapp
|
||||
* updated LIEF dependency to v0.15.1 - Cliff Yapp
|
||||
* updated libpng dependency to v1.6.44 - Cliff Yapp
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2024-09-24 Release 7.40.2 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* various manpage and help text updates - Josh Baker
|
||||
* improved gist -F default behavior - Chris McGregor
|
||||
* fixed gist crashing with halfspaces in component - Chris McGregor
|
||||
* fixed lint BoT check testing - Cliff Yapp
|
||||
* improved overlap checker dialog behavior - Chris McGregor
|
||||
* fixed rtwizard tree visuals in gist - Chris McGregor
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2024-08-16 Release 7.40.0 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
This major release of BRL-CAD improves the robustness of the facetize
|
||||
command. Building on work begun in 7.38.0, for the first time BRL-CAD
|
||||
is able to successfully facetize all of BRL-CAD's example geometries.
|
||||
This involves a major change to the processing pipeline of the
|
||||
facetize command, allowing handling of individual primitives to be
|
||||
fault tolerant and automatically attempting fallback methods.
|
||||
Historically BRL-CAD facetize has attempted to produce output meshes
|
||||
even when individual operations fail by silently skipping over failing
|
||||
inputs, but now this behavior is changed to a stricter policy of
|
||||
halting when individual elements of the process do not succeed.
|
||||
|
||||
This release also incorporates the tool 'gist' for generating a one
|
||||
page graphical overview and summary of the contents of a .g database.
|
||||
This tool is the culmination of work by multiple student teams from
|
||||
Texas A&M University and incorporates automatic layout features to
|
||||
produce geometry-appropriate visual arrangements.
|
||||
|
||||
Also new in this release are capabilities for testing and repairing
|
||||
triangle meshes. The lint command will now validate solid BoT
|
||||
behavior with the raytracer, and the 'bot repair' command is able to
|
||||
perform hole filling operations on some categories of non-manifold
|
||||
BoTs. Another related new feature allows users to generate explicit
|
||||
volumetric BoTs using plate mode BoTs as inputs via the 'bot extrude'
|
||||
command.
|
||||
|
||||
This release introduces a major change in the management of 3rd party
|
||||
dependencies. The src/other directory has been replaced by an
|
||||
external repository specifically tasked with the job of managing 3rd
|
||||
party libraries. By default BRL-CAD will download and build necessary
|
||||
dependencies as part of its build automatically. However, note that
|
||||
an internet connection is required by default to access this
|
||||
repository. See the INSTALL file for more details and options for
|
||||
preparing to build without internet availability.
|
||||
|
||||
Developers requiring only a subset of BRL-CAD (for example, if a
|
||||
project only needs librt and its dependencies) can now define subsets
|
||||
of BRL-CAD to build with the BRLCAD_COMPONENTS variable. See INSTALL
|
||||
for more information.
|
||||
|
||||
* added new k-g LS-DYNA .k file to .g importer - Daniel Roßberg
|
||||
* improved obj-g import naming - Chris McGregor
|
||||
* added importer attr to stl-g and obj-g BoT objects - Cliff Yapp
|
||||
* improved object name generation for stl-g importer - Cliff Yapp
|
||||
* updated 3dm-g input attribute: converter -> importer - Cliff Yapp
|
||||
* fixed mged 'search -or' filter behavior - Cliff Yapp, Chris McGregor
|
||||
* major improvements to 'gist' features and usability
|
||||
- Rohan Dhawan, Leo Feng, Sam Hollenbeck, Timothy Pham,
|
||||
- Yida Zou, Chris McGregor
|
||||
* updated pinewood.g test model - Josh Baker
|
||||
* updated edcodes man page and help text - Josh Baker
|
||||
* update mvall man page - Josh Baker
|
||||
* updated OpenCV library to version 4.10.0 - Cliff Yapp
|
||||
* updated GDAL library to version 3.9.0 - Cliff Yapp
|
||||
* improved 3dm-g error message when file does not exist - Cliff Yapp
|
||||
* added new BoT raytracing validity checks to lint cmd - Cliff Yapp
|
||||
* removed upper limit on MGED pnts cmd point count - Cliff Yapp
|
||||
* added a -t option to bot flip to check BoT orientation - Cliff Yapp
|
||||
* fixed shaded drawing of CW BoT solids - Cliff Yapp
|
||||
* added reair man page - Josh Baker
|
||||
* added 'help reair' mged command help text - Josh Baker
|
||||
* added experimental 'imgdiff' command-line tool - Cliff Yapp
|
||||
* updated OpenNURBS library to version 8.8.24166.15000 - Cliff Yapp
|
||||
* improved 'help lc' mged command help text - Josh Baker
|
||||
* added 'help lint' mged command help text - Josh Baker
|
||||
* added man pages for 'bot check' and 'bot extrude' cmds - Cliff Yapp
|
||||
* enhanced bot extrude command to output a BoT mesh - Cliff Yapp
|
||||
* added bot check manifold cmd for bot validity testing - Cliff Yapp
|
||||
* added bot repair command for filling holes in meshes - Cliff Yapp
|
||||
* added Utah RLE image reading and writing to libicv - Cliff Yapp
|
||||
* added "standardize" option to GED attr command - Cliff Yapp
|
||||
* added -L option to dbconcat for lazy prefix/suffix use - Cliff Yapp
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2024-03-18 Release 7.38.2 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* added "rtsurf" exterior surface area tool prototype - Sean Morrison
|
||||
* updated sqlite3 to version 3.45.1 - Cliff Yapp
|
||||
* updated libpng to version 1.6.43 - Cliff Yapp
|
||||
* updated zlib to version 1.3.1 - Cliff Yapp
|
||||
* updated and corrected dbconcat man page - Cliff Yapp
|
||||
* improved ambient occlusion rt during -k cut planes - Sean Morrison
|
||||
* changed rt ambient occlusion randomization default - Sean Morrison
|
||||
* added ambient occlusion example to rt manual pages - Sean Morrison
|
||||
* fixed rtweight output display inside MGED - Chris McGregor
|
||||
* added shipping container example geometry model - Josh Baker
|
||||
* added traffic light example geometry model - Chris McGregor
|
||||
* improved rtwizard command-line option reporting - Sean Morrison
|
||||
* added self-intersecting torus ray tracing support - Sean Morrison
|
||||
* fixed rt crash rendering to -F/dev/null - Sean Morrison
|
||||
* added mater man page density table example - Chris McGregor
|
||||
* adjusted default ghosting intensity in rtwizard - Josh Baker
|
||||
* fixed MGED command line handling of objects named 'y' - Cliff Yapp
|
||||
* fix double printing of last 'search -exec' result - Chris McGregor
|
||||
* improve 'search -v' to support multiple levels - Chris McGregor
|
||||
* update 'search -v' to report # of objects found - Chris McGregor
|
||||
* added a "bots only" mode to conversion.sh script - Cliff Yapp
|
||||
* fixed asc2g/g2asc support for brep primitives - Cliff Yapp
|
||||
* added brep and bot versions of pinewood .g model - Josh Baker
|
||||
* added new .g example file "Annual Gift Man" - Josh Baker
|
||||
* fixed dsp terrain file data loading for relative paths - Cliff Yapp
|
||||
* updated Manifold lib for improved facetize robustness - Cliff Yapp
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2023-11-06 Release 7.38.0 ---
|
||||
----------------------------------------------------------------------
|
||||
This major release of BRL-CAD introduces significant improvements to
|
||||
the robustness of the facetize command by leveraging the Manifold
|
||||
library for boolean evaluation of meshes. Facetization is an operation
|
||||
that converts boolean CSG hierarchies to evaluated triangle meshes,
|
||||
commonly used as a preliminary step in geometry export. As an
|
||||
example, the following results show before-and-after differences when
|
||||
processing high level assemblies in BRL-CAD's example geometry files:
|
||||
|
||||
% success, old: 88.9% (249 of 280) Time elapsed: 7256 seconds
|
||||
% success, new: 98.9% (277 of 280) Time elapsed: 1044 seconds
|
||||
|
||||
* add 'brep dump' subcommand to write out brep objects - Cliff Yapp
|
||||
* improve 'x' default behavior in MGED - Chris McGregor
|
||||
* fixed 'edcolor' and 'color -e' on Windows - Chris McGregor
|
||||
* ported fbcolor, fblabel, fbpoint, fbzoom to Windows - Sean Morrison
|
||||
* new 'gist' tool for generating 1-page geometry info summary reports
|
||||
- Allyson Hoskinson, Andrew Plant, Mark Sturtevant,
|
||||
- Danny Chen, Michael Tao, Sean Morrison
|
||||
* add support for dbconcat -O (overwrite) - Chris McGregor
|
||||
* improved 'lc' -d and -m interactions with aircodes - Chris McGregor
|
||||
* fixed 'make bot' inverted face normals - Chris McGregor
|
||||
* fixed 'l' evaluation for pathed objects - Chris McGregor
|
||||
* improved MGED faceplate params control, added font_size - Cliff Yapp
|
||||
* fix MGED 'brep' command crashing without database open - Cliff Yapp
|
||||
* fix MGED 'pnts read' and 'make_pnts' commands - Chris McGregor
|
||||
* improved NURBS editing functionality - Gregory Li
|
||||
* fix MGED 'listval' crashing with max path lengths - Chris McGregor
|
||||
* fixed garbage_collect MGED command on Windows - Cliff Yapp
|
||||
* fixed archer crashing with 'make' command - Cliff Yapp
|
||||
* improved and restructured rtwizard's manual page - Sean Morrison
|
||||
* fixed E command in MGED - Cliff Yapp
|
||||
* made improvements to a variety of manual pages - Josh Baker
|
||||
* remove bundled burst tool (DEPRECATED 7.32) - Cliff Yapp
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2023-07-26 Release 7.36.0 ---
|
||||
----------------------------------------------------------------------
|
||||
This major release of BRL-CAD introduces significant updates to
|
||||
geometry conversion support. The update includes modernization for
|
||||
NURBS importing and interaction, BoT manipulation, and incorporates
|
||||
many new formats for importing and exporting to BRL-CAD database
|
||||
files.
|
||||
|
||||
The geometry conversion tool (GCV) now supports mesh importing
|
||||
from: 3D, 3DS, 3MF, AC, AMF, ASE, ASSBIN, B3D, BVH, COB, COLLADA, CSM,
|
||||
FBX, GLTF/GLB 1.0 + 2.0, HMP, IFC-STEP, IQM, IRR, IRRMESH, LWO, LWS,
|
||||
M3D, MD2, MD3, MD5, MDC, MDL, MMD, MS3D, NDO, NFF, OFF, OGRE, OPENGEX,
|
||||
Q3BSP, Q3D, RAW, SIB, SMD, TERRAGEN, X, X3D, XGL.
|
||||
Additionally, GCV now supports mesh exporting to: 3DS, 3MF, ASSBIN,
|
||||
ASSJSON, ASSXML, COLLADA, GLTF, PBRT, STEP, X, X3D.
|
||||
|
||||
This release also introduces new BoT subcommands to improve
|
||||
manipulation and preparation. The subdivision "subd" command
|
||||
incorporates 5 new subdivision algorithms. The "flip" command will
|
||||
flip surface normals - effectively turning the BoT 'inside out'.
|
||||
Lastly, the "smooth" command will smooth the BoT's topology.
|
||||
|
||||
* Added a point-inside-object subcmd "inside" to analyze - Cliff Yapp
|
||||
* Added "flip" "subd" and "smooth" subcommands to BoT - Cliff Yapp
|
||||
* Fixed g-ply converter on Windows - Chris McGregor
|
||||
* Fixed infinite loop in noise generation - Sean Morrison
|
||||
* Fixed analyze in/out test for multi-segment ray hits - Cliff Yapp
|
||||
* Fixed analyze cmd crash when specifying invalid objects - Cliff Yapp
|
||||
* Fixed search -attr behavior with names having spaces - Cliff Yapp
|
||||
* Fixed nirt hanging on hits with a lot of output - Chris McGregor
|
||||
* nirt -b is now default behavior - Chris McGregor
|
||||
* Updated OpenNURBS library, 3dm-g now supports ver. 7 files
|
||||
- Cliff Yapp, Chris McGregor
|
||||
* Updated OpenMesh library to version 9.0 - Cliff Yapp
|
||||
* Updated Open Asset Import Library - v5.2.5 + fix - Chris McGregor
|
||||
* Updated Tcl/Tk to version 8.6.13 - Cliff Yapp
|
||||
* Updated NETPBM library to version 10.73.42 - Cliff Yapp
|
||||
* Updated GDAL library to version 3.6.3 - Cliff Yapp
|
||||
* Updated PROJ library to version 9.2.0 - Cliff Yapp
|
||||
* Updated PNG library to version 1.6.39 - Cliff Yapp
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2023-02-27 Release 7.34.2 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* fixed a problem with matrix editing - Chris McGregor
|
||||
* fixed gcv reading of .g files as input - Cliff Yapp
|
||||
* add support to nirt non-drawn objects - Chris McGregor
|
||||
* reduced 'l' cmd verbosity for bot/brep primitives - Chris McGregor
|
||||
* fixed man page scrolling on Windows - Chris McGregor
|
||||
* fixed MGED file creation not applying extension - Chris McGregor
|
||||
* create 'reair' to quickly set aircode (like remat) - Chris McGregor
|
||||
* fixed 'search' of attribute equal to 0 - Chris McGregor
|
||||
* improve nirt output printing within MGED - Chris McGregor
|
||||
* fixed nirt -A (attribute) to work within MGED - Chris McGregor
|
||||
* fixed nirt -f (fmt) to work within MGED - Chris McGregor
|
||||
* fixed nirt of objects with hyphens in name - Chris McGregor
|
||||
* correct facetall.sh to automatically restart on failure - Cliff Yapp
|
||||
* updated nirt to backout of geometry by default - Chris McGregor
|
||||
* added nirt -c flag to use view center, not backout - Chris McGregor
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2022-11-23 Release 7.34.0 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
With development efforts spanning several years, this major update to
|
||||
BRL-CAD includes considerable progress on infrastructure for graphical
|
||||
user interface improvements, geometry conversion, and physically-based
|
||||
rendering. It also includes hundreds of logic and memory management
|
||||
bug fixes, potential code vulnerability updates, and other issues
|
||||
reported by Coverity and Clang Static Analysis.
|
||||
|
||||
This release also overhauls the way 3rd-party dependencies are managed
|
||||
in BRL-CAD. Native build systems are now used in order for updates to
|
||||
be more readily applied, to reduce maintenance overhead, and to set
|
||||
the stage for the aforementioned major feature developments.
|
||||
|
||||
* fixed perspective to orthogonal view toggling in archer - Cliff Yapp
|
||||
* removed 'nburst' rewrite with burst now deprecated - Cliff Yapp
|
||||
* fixed bot_merge with oriented plate mode bots - Sean Morrison
|
||||
* bot_dump infers output type from filename extension - Sean Morrison
|
||||
* re-added MGED viewring, sweep, collab, & rateknob menus - Cliff Yapp
|
||||
* fixed a crash when shaded NURBS brep drawing fails - Cliff Yapp
|
||||
* added new man pages for brep, process, and ps commands - Cliff Yapp
|
||||
* added new man page for 3dm-g Rhino3D importer - Cliff Yapp
|
||||
* improved bot_dump default command help - Chris McGregor
|
||||
* improved suffix handling for 3dm-g converted primitives - Cliff Yapp
|
||||
* added -N view obj name option to overlay command - Cliff Yapp
|
||||
* added man page for MGED Overlaps Tool - Chris McGregor
|
||||
* major STEPcode updates, using unmodified upstream 0.8.1 - Cliff Yapp
|
||||
* added aircode reporting support to the lc command - Sean Morrison
|
||||
* 3dm-g now converts as encountered, not alphabetized - Chris McGregor
|
||||
* updated Tcl/Tk to version 8.6.12 - Cliff Yapp
|
||||
* updated netpbm to version 10.73.40 - Cliff Yapp
|
||||
* updated zlib to version 1.2.13 - Cliff Yapp
|
||||
* fixed mged -c 'unknown variable' warning dialogs - Sean Morrison
|
||||
* fixed and improved gqa grid spacing - Daniel Roßberg
|
||||
* improved mged & archer html command help formatting - Sean Morrison
|
||||
* fixed archer empty string ("") loading behavior - Cliff Yapp
|
||||
* rt* tools' -P option accepts negative #core counts - Sean Morrison
|
||||
* added text label size & rotation angle support to annotation objects
|
||||
- Ali Haydar, Himanshu Nayak, and Daniel Roßberg
|
||||
* gqa -Ae exposed air report no longer has gapped air - Sean Morrison
|
||||
* fixed rt framebuffer bug with -g/-G cellsize options - Sean Morrison
|
||||
* added new idents(5) file format manual page - Sean Morrison
|
||||
* preserved path prefixes on search cmd results - Cliff Yapp
|
||||
* new 'material' command and material object infrastructure
|
||||
- Dinges, Connelly, Olivarez, McGregor, Studwell, Wilson
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2022-05-08 Release 7.32.6 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* reduced mged & archer max image size and memory use - Sean Morrison
|
||||
* fixed librt handling of object names with '/' chars - Cliff Yapp
|
||||
* changed fast4-g to not make references to empty regions - Cliff Yapp
|
||||
* fixed gcv option handling - Cliff Yapp
|
||||
* updated bundled Eigen dependency to v3.4.0 - Cliff Yapp
|
||||
* fixed bot_merge crash when bots are of different types - Cliff Yapp
|
||||
* fixed nirt -L to not require database and objects - Sean Morrison
|
||||
* fixed bug reading older VOL objects with file data - Sean Morrison
|
||||
* fixed pixscale bug when scaling images down - Sean Morrison
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2021-07-27 Release 7.32.4 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* Added -matrix search filter for finding comb matrices - Cliff Yapp
|
||||
* fixed MGED handling of long running subprocesses in script mode
|
||||
- Cliff Yapp, Sean Morrison
|
||||
* improve documentation for bot modes in bot and search - Cliff Yapp
|
||||
* added -o output option to GED stat command - Cliff Yapp
|
||||
* fixed overlay support for drawing multiple files - Cliff Yapp
|
||||
* fixed file creation for tire command - Cliff Yapp
|
||||
* fixed mixing object and full path searches in MGED - Cliff Yapp
|
||||
* fixed launching of ISST graphical viewer - Cliff Yapp
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2021-02-06 Release 7.32.2 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* updated Creo export plugin to work with latest Creo - Bill Chambers
|
||||
* fixed memory leak in MGED's gdiff command - Cliff Yapp
|
||||
* fixed OSX g-iges crash due to improper memory freeing - Cliff Yapp
|
||||
* fixed GQA multithreaded plotting file corruption - Cliff Yapp
|
||||
* added -S structural diff option to MGED gdiff command - Cliff Yapp
|
||||
* added -v verbosity option to MGED tree command - Cliff Yapp
|
||||
* added -? option to MGED which command - Cliff Yapp
|
||||
* MGED, Archer, rtwizard graphically launch with pwd=HOME - Cliff Yapp
|
||||
* fixed reporting of MGED "vars" command - Cliff Yapp
|
||||
* updated MGED to not open non-.g-files as databases - Cliff Yapp
|
||||
* fixed MGED I/O when running GED subcommands - Cliff Yapp
|
||||
* added decimation control examples to facetize man page - Cliff Yapp
|
||||
* changed gcv converter to append to existing .g files - Cliff Yapp
|
||||
* removed MGED collaboration and rateknob features - Cliff Yapp
|
||||
* removed MGED ViewRing menu and sweep rectangle features - Cliff Yapp
|
||||
* fixed crash when trying to shade invalid breps - Cliff Yapp
|
||||
* improved librt CPU timer behavior - Cliff Yapp
|
||||
* fixed example in saveview manual page - Sean Morrison
|
||||
* added support for in-database vol primitive data - Sumagna Das
|
||||
* changed 'mvall' to rename all refs even w/ no object - Sean Morrison
|
||||
* updated MGED Overlap GUI to run reliably on Windows - Cliff Yapp
|
||||
* fixed MGED search command crash on empty database - Sean Morrison
|
||||
* improved performance calculating BoT bounding boxes - Vikram Atreya
|
||||
* fixed MGED crash closing multiple rt views on Windows - Cliff Yapp
|
||||
* fixed 'n' key binding override with MGED key forwarding - Cliff Yapp
|
||||
* fixed mged crash when there are no display managers - Sean Morrison
|
||||
* added pixcmp -n length flag for subset comparisons - Sean Morrison
|
||||
* added pixcmp -s same and -d different printing flags - Sean Morrison
|
||||
* updated non-shape objects list for search shape filter - Cliff Yapp
|
||||
* added volume type to search -type filters - Cliff Yapp
|
||||
* applied shorter default title in fast4-g conversions - Cliff Yapp
|
||||
* improved pixcmp support for subset image comparisons - Sean Morrison
|
||||
* MGED analyze subtract, intersect, summarize subcommands - Cliff Yapp
|
||||
* added quiet (-q) flag to MGED kill command - Cliff Yapp
|
||||
* added MGED stat command for reporting of object info - Cliff Yapp
|
||||
* corrected examples in gdiff man page - Cliff Yapp
|
||||
* fixed help message for -F option on gdiff command - Cliff Yapp
|
||||
* fixed mged -c bomb attaching to graphical displays - Sean Morrison
|
||||
* fixed titlebar bug opening .g with filename spaces - Sean Morrison
|
||||
* added a new 'N' graphics window keybinding to run nirt - Cliff Yapp
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2020-09-14 Release 7.32.0 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
This major release of BRL-CAD introduces significant updates to core
|
||||
library infrastructure. The update includes restructuring of nearly
|
||||
all of BRL-CAD's display infrastructure in preparation for upcoming
|
||||
significant GUI changes. This release also fixes over fifty of
|
||||
BRL-CAD's command-line utilities so they work properly on Windows.
|
||||
This is likely the last major release of BRL-CAD on Subversion
|
||||
infrastructure with BRL-CAD's imminent migration to Git.
|
||||
|
||||
* added additional pre-defined MGED view key bindings - Cliff Yapp
|
||||
* added basic example to remrt man page - Cliff Yapp, Sean Morrison
|
||||
* added new 'nburst' version of classic burst tool - Cliff Yapp
|
||||
* added 'bot set' command for low level BoT manipulation - Cliff Yapp
|
||||
* report semantic strings for 'bot get' mode/orientation - Cliff Yapp
|
||||
* added new manual page for the libicv library - Sumagna Das
|
||||
* added -size filter to MGED search command - Cliff Yapp
|
||||
* upgraded Tcl/Tk from 8.5.19 to 8.6.10 - Cliff Yapp
|
||||
* bundled zlib & libpng use API prefix and library suffix - Cliff Yapp
|
||||
* extensive improvements to OpenCL ray trace pipeline - Rishabh Suthar
|
||||
* improved rtweight density value warnings - Sean Morrison, Cliff Yapp
|
||||
* added perception-based hdtv and hdr modes for pix-bw - Sean Morrison
|
||||
* fixed semi-transparent DM and FB windows on Linux - Cliff Yapp
|
||||
* improved rtweight manual page - Sean Morrison
|
||||
* added line reporting TCP listening port to remrt output - Cliff Yapp
|
||||
* added help options support (-h,-?) to asc2dsp and g2asc - Cliff Yapp
|
||||
* fixed crash when drawing a VOL with missing data - Cliff Yapp
|
||||
* facetall.sh script is replaced by MGED facetize command - Cliff Yapp
|
||||
* dynamic LIBGED command loading in MGED & Archer - Cliff Yapp
|
||||
* removed MGED "Display Manager" switching menu options - Cliff Yapp
|
||||
* dynamic LIBDM display manager loading in MGED & Archer - Cliff Yapp
|
||||
* fixed 'idents' crash when running in a read-only dir - Sean Morrison
|
||||
* fixed fb tools w/ redirected files and cv on Windows - Sean Morrison
|
||||
* expanded 'bo' command docs with a DSP input example - Sean Morrison
|
||||
* fixed 'in' making joint, superell, & script objects - Sean Morrison
|
||||
* Creo converter always writes out CREO_NAME attribute - Sean Morrison
|
||||
* improved gdiff -F filtering option behavior - Cliff Yapp
|
||||
* improved gdiff command verbosity reporting options - Cliff Yapp
|
||||
* improved Combination Editor button behaviors in MGED - Sean Morrison
|
||||
* added 'asc' geometry import and export support to gcv - Cliff Yapp
|
||||
* consistent usage taxonomy for ident-related commands - Sean Morrison
|
||||
* added units label to the Archer in-scene scale graphic - Cliff Yapp
|
||||
* added framebuffer capture option to screengrab command - Cliff Yapp
|
||||
* added framebuffer writing option to overlay command - Cliff Yapp
|
||||
* added tree search option to 'whichid' and 'whichair' - Cliff Yapp
|
||||
* changed 'whichid' and 'whichair' to print ranges of unused IDs
|
||||
- Nick Reed, Cliff Yapp
|
||||
* improved output path sorting of search command - Cliff Yapp
|
||||
* added "bot extrude" command for making ARB6s from bots - Cliff Yapp
|
||||
* added 3dm-g failure message about supported versions - Cliff Yapp
|
||||
* fixed bw-png writing corrupted png files on Windows - Sean Morrison
|
||||
* added MGED 'dm type' subcommand for reporting DM type - Cliff Yapp
|
||||
* improved vdeck input support for Windows text files - Sean Morrison
|
||||
* fixed MGED 'plot' & 'brep plot' commands on Windows - Sean Morrison
|
||||
* fixed numerous image utilities reading binary input files on Windows
|
||||
- Sean Morrison, Cliff Yapp
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2020-07-24 Release 7.30.10 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* added 3dm-g failure message about supported versions - Cliff Yapp
|
||||
* fixed MGED "in" command support for datums - Sean Morrison
|
||||
* fixed bw-png writing corrupted png files on Windows - Sean Morrison
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
@@ -548,7 +31,7 @@ infrastructure with BRL-CAD's imminent migration to Git.
|
||||
* improved behavior of MGED overlap checker GUI - Nick Reed
|
||||
* fixed startup dimensions of overlap checker window - Nick Reed
|
||||
* fixed rtedge line drawing color when using -W flag - Cliff Yapp
|
||||
* added -F option to lint cmd to test specific solid types - Cliff Yapp
|
||||
* added -F option to lint cmd to test specifc solid types - Cliff Yapp
|
||||
* added support to MGED for zooming with mouse wheel - Cliff Yapp
|
||||
* fixed solid editing wireframe drawing in MGED - Nick Reed
|
||||
* added .r suffixes to region names in 3dm-g conversion - Cliff Yapp
|
||||
@@ -558,22 +41,18 @@ infrastructure with BRL-CAD's imminent migration to Git.
|
||||
--- 2020-03-19 Release 7.30.6 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* fixed comgeom-g GIFT combination conversion - Daniel Roßberg
|
||||
* fixed transparent drawing in MGED - Nick Reed
|
||||
* fixed solid NURBS brep intersection testing - Cliff Yapp
|
||||
* removed extra blank line after commands in MGED GUI - Sean Morrison
|
||||
* minor improvement to NURBS ray tracing performance - Sean Morrison
|
||||
* added "plate" object type filter to search command - Cliff Yapp
|
||||
* fixed latent logging bug during facetize on Windows - Bob Parker
|
||||
* fixed bug closing rt framebuffer windows on Windows - Sean Morrison
|
||||
* added EBM support for reading from database objects - Jeffrey Liu
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2019-12-05 Release 7.30.4 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* improved Creo export plugin handling of color and shader - Nick Reed
|
||||
* enhanced attr list command to support reporting values - Cliff Yapp
|
||||
* updated FAA Generic Twin example FASTGEN model - Cliff Yapp
|
||||
* fixed handling of duplicate FASTGEN object names - Cliff Yapp
|
||||
@@ -582,13 +61,9 @@ infrastructure with BRL-CAD's imminent migration to Git.
|
||||
* changed mged escape key binding to reset mouse mode - Sean Morrison
|
||||
* removed default xXyYzZ0 rate rotation key bindings - Sean Morrison
|
||||
* improved tessellation of nearly coplanar surfaces - John Anderson
|
||||
* fixed annotations display on Windows - Daniel Roßberg, Ali Haydar
|
||||
* fixed display of annotations on Windows - Daniel Roßberg
|
||||
* fixed rtedge and rtwizard occlusion object edge bug - Sean Morrison
|
||||
* rt* tools no longer force outputs to be read-only - Sean Morrison
|
||||
* fixed bug listing annotations with short label strings - Ali Haydar
|
||||
* improved support for label placement in annotations - Ali Haydar
|
||||
* fixed bug in annotation object bounding box calculation - Ali Haydar
|
||||
* fixed an annotation leader line bug affecting display - Ali Haydar
|
||||
* fixed 'burst' crash when run without options - Sean Morrison
|
||||
* changed rtweight to not truncate long pathnames - Sean Morrison
|
||||
* added new ball bearing example geometry model - Sean Morrison
|
||||
@@ -608,10 +83,9 @@ infrastructure with BRL-CAD's imminent migration to Git.
|
||||
- Sean Morrison, Cliff Yapp
|
||||
* added a copy subcommand to MGED's attr command - Cliff Yapp
|
||||
* fixed a locking condition in MGED's rtcheck command - Cliff Yapp
|
||||
* added support for >=< prefixes for mater -d get options - Cliff Yapp
|
||||
* added support for >=< prefixes for mater -d get options Cliff Yapp
|
||||
* fixed brlman lookup location of html manual pages - Cliff Yapp
|
||||
* fixed rtweight infinite loop bug on invalid .density - Cliff Yapp
|
||||
* fixed rt -t top-to-bottom parallel rendering option - Sean Morrison
|
||||
* fixed rt -t top-to-bottom parallel rendering option Sean Morrison
|
||||
* added a 'flip' normals command to MGED's brep command - Cliff Yapp
|
||||
* added rtweight support for in-.g density information - Cliff Yapp
|
||||
* improved usability of vol primitives w/ missing data - Sean Morrison
|
||||
@@ -678,8 +152,8 @@ corrections.
|
||||
This major release of BRL-CAD incorporates a new feature for caching
|
||||
of raytrace acceleration structures used when working with explicit
|
||||
boundary representation (BREP) Non-uniform Rational Basis Spline
|
||||
(NURBS) objects. This will result in significant improvements to run
|
||||
times when repeatedly raytracing BREP objects.
|
||||
(NURBS) solids. This will result in significant improvements to
|
||||
run times when repeatedly raytracing BREP solids.
|
||||
|
||||
Support for terrain import has been significantly expanded with the
|
||||
addition of a new Geospatial Data Abstraction Library (GDAL) based
|
||||
@@ -799,8 +273,6 @@ and address portability issues.
|
||||
* fix rtedge foreground/background color options - Jon Engbert
|
||||
* support rt -C colors specified as 0-255 or 0.0-1.0 - Jon Engbert
|
||||
* fixed xpush bug leaving stray top-level objects - Nick Reed
|
||||
* removed MGED wrapper 'mged.bat' batch script on Windows - Cliff Yapp
|
||||
* fixed png-pix redirected output on Windows - Bob Parker
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
@@ -854,7 +326,7 @@ performance ray tracing pipeline.
|
||||
* fixed patch-g tool and E command infinite loop bug - Sean Morrison
|
||||
* improved NMG ray tracing fault tolerance - Sean Morrison
|
||||
* added 3dm-g support for layers and names - Keith Bowman
|
||||
* fixed issue preserving color/shader info with 3dm-g - Jon Engbert
|
||||
* fixed color/shader preservation issue with 3dm-g importer - Jon Engbert
|
||||
* added 3dm-g support for mesh objects - Jon Engbert
|
||||
* added csg implicit hierarchy conversion to brep command - Cliff Yapp
|
||||
* fixed crash in clone when told to make zero copies - Cliff Yapp
|
||||
@@ -868,7 +340,7 @@ performance ray tracing pipeline.
|
||||
* removed any-png.sh - use pix tools - Sean Morrison
|
||||
* removed librtserver interface - Cliff Yapp
|
||||
* removed MGED per_line command - Sean Morrison
|
||||
* updated MGED tops command: default to -g -u behavior - Sean Morrison
|
||||
* updated MGED tops command: default to -g -u behavior- Sean Morrison
|
||||
* removed MGED -n option; use -c instead - Sean Morrison
|
||||
* removed MGED commands pl, pov and polybinout - Sean Morrison
|
||||
* removed UtahRLE image tools - Cliff Yapp
|
||||
@@ -876,7 +348,7 @@ performance ray tracing pipeline.
|
||||
* added brlman -S option to specify man page section - Cliff Yapp
|
||||
* modified rtg3 to avoid outputting excessive LOS - Nick Gerstner
|
||||
* extended burst and rtg3 to output 5 digit ID numbers - Nick Gerstner
|
||||
* improved draw command manual page documentation - Cliff Yapp
|
||||
* improved draw command manual page documenation - Cliff Yapp
|
||||
* added lc -m option to report multi-material/los regions - Cliff Yapp
|
||||
* added new 'icv' image conversion tool w/ pix, bw, dpix, png, ppm
|
||||
- Mohit Daga, Cliff Yapp, Sean Morrison, Erik Greenwald
|
||||
@@ -885,7 +357,7 @@ performance ray tracing pipeline.
|
||||
* improved datum wireframes (yellow) and fixed arrowheads - Cliff Yapp
|
||||
* added initial manual page for 'burst' ray dispatch tool - Cliff Yapp
|
||||
* improved wireframe display list performance - Keith Bowman
|
||||
* added draw -S for simplified wireframes, no subtractions - Cliff Yapp
|
||||
* added draw -S for simplied wireframes, no subtractions - Cliff Yapp
|
||||
* added draw -L# to draw bounding boxes for large objects - Cliff Yapp
|
||||
* added 3dm-g instance reference and definition import - Jon Engbert
|
||||
* minor rtwizard graphical user interface reorganization - Cliff Yapp
|
||||
@@ -1786,7 +1258,7 @@ undo support and graphical editing, are expanded upon.
|
||||
* pipe now validates independent of parameter order - Daniel Roßberg
|
||||
* added '-r' color randomize option to 3dm-g importer - Cliff Yapp
|
||||
* enhanced '-v' verbosity option in 3dm-g importer - Cliff Yapp
|
||||
* re-added -A & -o attribute options to 'draw' and 'erase' - Bob Parker
|
||||
* readded -A & -o attribute options to 'draw' and 'erase' - Bob Parker
|
||||
* fixed bug in 'E' command to show object names - John Anderson
|
||||
* initial obj-g geometry importer - Erik Greenwald
|
||||
* Pro/E export plugin creates a 'Proe_Name' attribute - Bob Parker
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
BRL-CAD
|
||||
Release 7.42.0
|
||||
Release 7.32.0
|
||||
http://brlcad.org/
|
||||
|
||||
BRL-CAD is a powerful cross-platform open source combinatorial
|
||||
solid modeling system that includes an interactive 3D solid geometry
|
||||
editor, a network-distributed symmetric multiprocessing (SMP)
|
||||
high-performance ray-tracer with support for rendering and geometric
|
||||
analysis, image and signal-processing tools, a system performance
|
||||
analysis benchmark suite, a flexible geometry scripting interface,
|
||||
and a high-performance geometric representation and analysis library.
|
||||
Constructive Solid Geometry (CSG) solid modeling system that includes
|
||||
an interactive 3D solid geometry editor, a network-distributed
|
||||
symmetric multiprocessing high-performance ray-tracer,
|
||||
network-distributed framebuffer support, image and signal-processing
|
||||
tools, ray-tracing support for rendering and geometric analysis,
|
||||
path-tracing and photon mapping support for realistic image synthesis,
|
||||
animation capabilities, ray-tracing and numerical processing
|
||||
libraries, a system performance analysis benchmark suite, an embedded
|
||||
scripting interface, and a robust high-performance geometric
|
||||
representation and analysis library.
|
||||
|
||||
|
||||
TABLE OF CONTENTS
|
||||
@@ -22,6 +26,8 @@ TABLE OF CONTENTS
|
||||
Bug Reports/Feature Requests
|
||||
Distribution Details
|
||||
Background Information
|
||||
Future Events
|
||||
Getting Help
|
||||
|
||||
|
||||
GETTING STARTED
|
||||
@@ -33,34 +39,40 @@ contents of the BRL-CAD distribution.
|
||||
Some platforms have additional platform-specific documentation that
|
||||
should be consulted after reading this file:
|
||||
|
||||
doc/README.Windows -- Microsoft Windows
|
||||
doc/README.MacOSX -- Apple Mac OS X
|
||||
doc/README.AIX -- IBM's Advanced Interactive eXecutive OS
|
||||
doc/README.BSD -- FreeBSD, NetBSD, OpenBSD, etc.
|
||||
doc/README.IRIX -- SGI IRIX and IRIX64
|
||||
doc/README.Linux -- Various Linux distributions
|
||||
doc/README.* -- Other platforms, e.g., BSD, VAX
|
||||
doc/README.MacOSX -- Apple Mac OS X
|
||||
doc/README.Solaris -- Oracle Solaris, OpenIndiana (Illumos), etc.
|
||||
doc/README.Windows -- Microsoft Windows
|
||||
|
||||
Information on how to install and run the software, to get involved
|
||||
with development, or to run the performance benchmark test suite are
|
||||
covered in detail in separate standalone documents. For more details
|
||||
on what BRL-CAD provides, consult the main website.
|
||||
The information on how to install and operate the software, to become
|
||||
involved with the development of the package, or to run the benchmark
|
||||
performance test suite have each become sufficiently large that their
|
||||
details are covered in more detail in standalone documents. For more
|
||||
details on what BRL-CAD provides, see the documentation provided on
|
||||
the website at http://brlcad.org/.
|
||||
|
||||
Information relevant to the source code is contained in the HACKING
|
||||
(developer guide) and COPYING (legal overview) files.
|
||||
Information relevant to those interested in the source code is
|
||||
contained in the HACKING and COPYING files. See doc/benchmark.tr file
|
||||
for benchmark suite information. There is a variety of other
|
||||
documentation and information also available in the doc/ directory.
|
||||
|
||||
Note that only sample geometry models are included in public
|
||||
distributions of BRL-CAD. Detailed models are only available through
|
||||
official U.S. Gov't channels, e.g., via Advanced Joint Effectiveness
|
||||
Model (AJEM) support.
|
||||
Please note that this distribution package does not include the
|
||||
various military-specific model analysis tools such as MUVES, GIFT,
|
||||
SAR, SLAVE, VAST, etc., nor does it include any military geometry
|
||||
databases. If you desire to have access to this material, please
|
||||
contact one of the BRL-CAD developers.
|
||||
|
||||
|
||||
COMPILE AND INSTALL
|
||||
-------------------
|
||||
|
||||
In order to compile and install BRL-CAD from a source distribution,
|
||||
the latest CMake ( http://www.cmake.org ), a recent compiler, and at
|
||||
least 3GB of disk space are recommended. More details are available
|
||||
at https://brlcad.org/wiki/Compiling
|
||||
the CMake ( http://www.cmake.org ) configuration tool is requird.
|
||||
|
||||
Typically, the following steps should result in a successful install:
|
||||
The following steps should result in a successful install:
|
||||
|
||||
tar -xvzf brlcad-VERSION.tar.gz
|
||||
mkdir brlcad-VERSION/build
|
||||
@@ -69,8 +81,17 @@ Typically, the following steps should result in a successful install:
|
||||
make -j4
|
||||
make install
|
||||
|
||||
See the included INSTALL text file for explanation of the various
|
||||
cmake configuration options available for building BRL-CAD.
|
||||
See the INSTALL file for explanation of the various configuration
|
||||
options available when building BRL-CAD.
|
||||
|
||||
Once the build completes and assuming you have proper filesystem
|
||||
permissions, you should be able to begin the installation by running
|
||||
the "make install" . By default, the package is configured to install
|
||||
entirely into /usr/brlcad/.
|
||||
|
||||
You will need to add /usr/brlcad/bin to your path (or whatever path the
|
||||
variable CMAKE_INSTALL_PREFIX was set to during configure) in order for
|
||||
the BRL-CAD binaries to be in your path.
|
||||
|
||||
|
||||
BENCHMARK
|
||||
@@ -97,38 +118,78 @@ comparing the results of the benchmark tests in more detail.
|
||||
COMMUNICATION
|
||||
-------------
|
||||
|
||||
There are various BRL-CAD mailing lists available including three
|
||||
You are invited to participate in the InterNet (aka "ARPANET")
|
||||
electronic mailing list on the BRL-CAD software. There are various
|
||||
BRL-CAD mailing lists available on the project website at
|
||||
http://sourceforge.net/mail/?group_id=105292 including three
|
||||
developer-oriented lists, a user list, and a read-only news
|
||||
announcement list:
|
||||
announcement list. See the posted archives to get a feel for the
|
||||
volume of list traffic for each list and to read/search past
|
||||
discussions.
|
||||
|
||||
http://sourceforge.net/mail/?group_id=105292
|
||||
On-line web forums are likewise available on the project site at
|
||||
http://sourceforge.net/forum/?group_id=105292
|
||||
|
||||
For interactive discussion, please join our Zulip chat:
|
||||
A variety of information on BRL-CAD is available via the
|
||||
World-Wide-Web. Papers, documentation, and the software repository
|
||||
may be found at:
|
||||
|
||||
https://brlcad.zulipchat.com
|
||||
http://brlcad.org
|
||||
|
||||
In addition to the above, there is an official BRL-CAD IRC channel on
|
||||
the Freenode network that may be reached by joining #brlcad on
|
||||
irc.freenode.net connecting via port 6667. For first-time users,
|
||||
there is a web-based IRC client available for certain browsers at:
|
||||
|
||||
http://irc.brlcad.org
|
||||
|
||||
IRC is the preferred method of communication to interact with the
|
||||
BRL-CAD developers, to get involved with the project, obtain support,
|
||||
or provide direct feedback.
|
||||
|
||||
|
||||
BUG REPORTS AND FEATURE REQUESTS
|
||||
--------------------------------
|
||||
|
||||
Please submit all bugs, support requests, and feature requests to:
|
||||
Please report any bugs encountered to the project bug tracker at
|
||||
http://sourceforge.net/tracker/?group_id=105292&atid=640802
|
||||
|
||||
https://github.com/BRL-CAD/brlcad/issues
|
||||
Similarly, please post any request for feature enhancements or support
|
||||
request to http://sourceforge.net/tracker/?group_id=105292&atid=640805
|
||||
and http://sourceforge.net/tracker/?group_id=105292&atid=640803
|
||||
respectively.
|
||||
|
||||
|
||||
DISTRIBUTION DETAILS
|
||||
--------------------
|
||||
|
||||
BRL-CAD releases are available at:
|
||||
BRL-CAD is freely available and distributed in both binary and source
|
||||
code form through the BRL-CAD project website on Sourceforge:
|
||||
|
||||
https://github.com/BRL-CAD/brlcad/releases
|
||||
http://sf.net/projects/brlcad/
|
||||
|
||||
Assets stored for each release will always include source archives,
|
||||
and usually binary compilations for commonly used operating systems.
|
||||
The package is similarly available via a Subversion repository. To
|
||||
obtain the latest, follow the directions for anonymous checkout at:
|
||||
|
||||
For developers, BRL-CAD is available via Git version control cloning:
|
||||
http://sourceforge.net/svn/?group_id=105292
|
||||
|
||||
https://github.com/BRL-CAD/brlcad
|
||||
There is also a paid-for full-service support distribution available
|
||||
for those interested through SURVICE Engineering, Inc., and the
|
||||
Survivability/Vulnerability Information Analysis Center (SURVIAC).
|
||||
|
||||
SURVICE provides their own BRL-CAD distribution that comes with
|
||||
commercial support, documentation, and installation media. Full
|
||||
technical assistance is provided to their commercial distributions by
|
||||
phone, FAX, postal mail, or e-mail. Agencies of the Federal
|
||||
Government may acquire the full service distribution with a MIPR or
|
||||
OGA funds transfer.
|
||||
|
||||
For further details, contact:
|
||||
|
||||
BRL-CAD Distribution
|
||||
SURVIAC Aberdeen Satellite Office
|
||||
4695 Millennium Drive
|
||||
Belcamp, MD 210017-1505 USA
|
||||
|
||||
|
||||
BACKGROUND INFORMATION
|
||||
@@ -171,12 +232,44 @@ Linux, and Windows.
|
||||
|
||||
The BRL-CAD package is intentionally designed to be extensively
|
||||
cross-platform and is actively developed on and maintained for many
|
||||
common operating system environments including various BSD
|
||||
distributions, Linux, Solaris, Mac OS X, and Windows. The entire
|
||||
package is distributed in binary and source code form as free open
|
||||
source software (FOSS), provided under Open Source Initiative (OSI)
|
||||
approved license terms. BRL-CAD was released as open source in
|
||||
December 2004. See the COPYING file for more details.
|
||||
common operating system environments including for BSD, IRIX, Linux,
|
||||
Solaris, Mac OS X, and Windows among others. The entire package is
|
||||
distributed in binary and source code form as free open source
|
||||
software (FOSS), provided under Open Source Initiative (OSI) approved
|
||||
license terms. BRL-CAD was released as open source in December 2004.
|
||||
See the COPYING file for more details.
|
||||
|
||||
|
||||
FUTURE EVENTS
|
||||
-------------
|
||||
|
||||
It is expected that new releases of BRL-CAD will be issued
|
||||
approximately once a month. A new release is scheduled for
|
||||
distribution at the beginning of every month, usually being posted
|
||||
sometime within the first week of every month.
|
||||
|
||||
Depending on need, demand, and activity, additional releases may also
|
||||
be made. The additional releases will be heavily dependent upon the
|
||||
level of user involvement and contributions in particular.
|
||||
Information about new releases will be routinely provided by
|
||||
electronic mail to recipients of this software as well as to the
|
||||
BRL-CAD NEWS mailing list:
|
||||
|
||||
http://sourceforge.net/mail/?group_id=105292
|
||||
|
||||
Periodically, training and user group meetings are provided with
|
||||
announcements similarly posted to the BRL-CAD NEWS mailing list.
|
||||
Several BRL-CAD developers also regularly attend the ACM Siggraph
|
||||
conference, the ACM Solid and Physical Modeling conference, and other
|
||||
similar conferences, conventions, and symposiums as well.
|
||||
|
||||
|
||||
GETTING HELP
|
||||
------------
|
||||
|
||||
Feel free to direct any unanswered questions relating to BRL-CAD via
|
||||
e-mail or to any of the other contact means described above in the
|
||||
COMMUNICATIONS section of this document.
|
||||
|
||||
Best Wishes,
|
||||
The BRL-CAD Development Team
|
||||
|
||||
+45
-70
@@ -1,95 +1,70 @@
|
||||
add_subdirectory(ref)
|
||||
|
||||
include_directories(${BU_INCLUDE_DIRS})
|
||||
|
||||
add_definitions(-DCONSOLE)
|
||||
|
||||
brlcad_addexec(pixcmp pixcmp.c libbu)
|
||||
set(BARK_SOURCES benchmark.c compute.c run.c clean.c)
|
||||
brlcad_addexec(bark "${BARK_SOURCES}" libbu NO_STRICT NO_INSTALL TEST_USESDATA)
|
||||
|
||||
if(BUILD_TESTING)
|
||||
configure_file(run.sh "${CMAKE_CURRENT_BINARY_DIR}/benchmark" COPYONLY)
|
||||
install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/benchmark" DESTINATION ${BIN_DIR})
|
||||
endif(BUILD_TESTING)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/benchmark")
|
||||
|
||||
if(BUILD_TESTING)
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/benchmark-done
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/run.sh $<TARGET_FILE_DIR:bark>/benchmark
|
||||
COMMAND "${CMAKE_COMMAND}" -E touch ${CMAKE_CURRENT_BINARY_DIR}/benchmark-done
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/run.sh
|
||||
)
|
||||
add_custom_target(benchmark_cp ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/benchmark-done)
|
||||
set_target_properties(benchmark_cp PROPERTIES FOLDER "Benchmark")
|
||||
endif(BUILD_TESTING)
|
||||
distclean(${CMAKE_BINARY_DIR}/${BIN_DIR}/benchmark)
|
||||
|
||||
file(WRITE "${CMAKE_BINARY_DIR}/CMakeTmp/benchmsg.cmake" "message(\"---\")\n")
|
||||
file(
|
||||
APPEND
|
||||
"${CMAKE_BINARY_DIR}/CMakeTmp/benchmsg.cmake"
|
||||
"message(\"Run 'make benchmark-clean' in the bench directory to delete the logic\")\n"
|
||||
)
|
||||
file(
|
||||
APPEND
|
||||
"${CMAKE_BINARY_DIR}/CMakeTmp/benchmsg.cmake"
|
||||
"message(\"and image files generated during the benchmark analysis.\")\n"
|
||||
BRLCAD_ADDEXEC(pixcmp pixcmp.c libbu)
|
||||
set(BARK_SOURCES
|
||||
benchmark.c
|
||||
compute.c
|
||||
run.c
|
||||
clean.c
|
||||
)
|
||||
BRLCAD_ADDEXEC(bark "${BARK_SOURCES}" libbu NO_STRICT NO_INSTALL)
|
||||
|
||||
cmakefiles(
|
||||
configure_file(run.sh "${CMAKE_CURRENT_BINARY_DIR}/benchmark" COPYONLY)
|
||||
install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/benchmark" DESTINATION ${BIN_DIR})
|
||||
if(CMAKE_CONFIGURATION_TYPES)
|
||||
foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
|
||||
string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
|
||||
configure_file(run.sh ${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/bin/benchmark COPYONLY)
|
||||
endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
|
||||
else(CMAKE_CONFIGURATION_TYPES)
|
||||
configure_file(run.sh ${CMAKE_BINARY_DIR}/bin/benchmark COPYONLY)
|
||||
endif(CMAKE_CONFIGURATION_TYPES)
|
||||
|
||||
file(WRITE "${CMAKE_BINARY_DIR}/CMakeTmp/benchmsg.cmake" "message(\"---\")\n")
|
||||
file(APPEND "${CMAKE_BINARY_DIR}/CMakeTmp/benchmsg.cmake" "message(\"Run 'make benchmark-clean' in the bench directory to delete the logic\")\n")
|
||||
file(APPEND "${CMAKE_BINARY_DIR}/CMakeTmp/benchmsg.cmake" "message(\"and image files generated during the benchmark analysis.\")\n")
|
||||
|
||||
CMAKEFILES(
|
||||
CMakeLists.txt
|
||||
lgt.sh
|
||||
run.sh
|
||||
try.sh
|
||||
viewdiff.sh
|
||||
)
|
||||
)
|
||||
|
||||
if(SH_EXEC AND TARGET m35.g AND BUILD_TESTING)
|
||||
if(SH_EXEC AND TARGET m35.g)
|
||||
# CTest enabled short run of the benchmark suite
|
||||
brlcad_add_test(NAME benchmark COMMAND ${SH_EXEC} "$<TARGET_FILE_DIR:bark>/benchmark" run TIMEFRAME=1)
|
||||
add_test(NAME benchmark COMMAND ${SH_EXEC} "${CMAKE_BINARY_DIR}/bin/benchmark" run TIMEFRAME=1)
|
||||
set_tests_properties(benchmark PROPERTIES LABELS "Benchmark")
|
||||
add_custom_target(
|
||||
benchmark-check
|
||||
add_custom_target(benchmark-check
|
||||
COMMAND ${CMAKE_CTEST_COMMAND} -L Benchmark --output-on-failure
|
||||
DEPENDS rt pixcmp BENCHMARK_PIX_cp PIX_LOG_cp benchmark_cp
|
||||
)
|
||||
add_dependencies(
|
||||
benchmark-check
|
||||
bldg391.g
|
||||
m35.g
|
||||
moss.g
|
||||
sphflake.g
|
||||
star.g
|
||||
world.g
|
||||
)
|
||||
set_target_properties(benchmark-check PROPERTIES FOLDER "Benchmark")
|
||||
DEPENDS rt pixcmp BENCHMARK_PIX_cp PIX_LOG_cp
|
||||
)
|
||||
add_dependencies(benchmark-check bldg391.g m35.g moss.g sphflake.g star.g world.g)
|
||||
if(TARGET check)
|
||||
add_dependencies(check benchmark-check)
|
||||
endif(TARGET check)
|
||||
|
||||
# Full run of the benchmark suite
|
||||
add_custom_target(
|
||||
benchmark
|
||||
COMMAND ${SH_EXEC} $<TARGET_FILE_DIR:bark>/benchmark run
|
||||
add_custom_target(benchmark
|
||||
COMMAND ${SH_EXEC} ${CMAKE_BINARY_DIR}/bin/benchmark run
|
||||
COMMAND ${CMAKE_COMMAND} -P "${CMAKE_BINARY_DIR}/CMakeTmp/benchmsg.cmake"
|
||||
DEPENDS rt pixcmp BENCHMARK_PIX_cp PIX_LOG_cp benchmark_cp
|
||||
)
|
||||
add_dependencies(
|
||||
benchmark
|
||||
bldg391.g
|
||||
m35.g
|
||||
moss.g
|
||||
sphflake.g
|
||||
star.g
|
||||
world.g
|
||||
)
|
||||
set_target_properties(benchmark PROPERTIES FOLDER "Benchmark")
|
||||
DEPENDS rt pixcmp BENCHMARK_PIX_cp PIX_LOG_cp
|
||||
)
|
||||
add_dependencies(benchmark bldg391.g m35.g moss.g sphflake.g star.g world.g)
|
||||
|
||||
# benchmark cleanup targets
|
||||
add_custom_target(benchmark-clean ${SH_EXEC} ${CMAKE_BINARY_DIR}/bin/benchmark clean)
|
||||
set_target_properties(benchmark-clean PROPERTIES FOLDER "Benchmark")
|
||||
add_custom_target(benchmark-clobber ${SH_EXEC} ${CMAKE_BINARY_DIR}/bin/benchmark clobber)
|
||||
set_target_properties(benchmark-clobber PROPERTIES FOLDER "Benchmark")
|
||||
endif(SH_EXEC AND TARGET m35.g AND BUILD_TESTING)
|
||||
add_custom_target(benchmark-clean
|
||||
${SH_EXEC} ${CMAKE_BINARY_DIR}/bin/benchmark clean
|
||||
)
|
||||
add_custom_target(benchmark-clobber
|
||||
${SH_EXEC} ${CMAKE_BINARY_DIR}/bin/benchmark clobber
|
||||
)
|
||||
endif(SH_EXEC AND TARGET m35.g)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
|
||||
+18
-23
@@ -1,7 +1,7 @@
|
||||
/* B E N C H M A R K . C
|
||||
* BRL-CAD
|
||||
*
|
||||
* Copyright (c) 2011-2025 United States Government as represented by
|
||||
* Copyright (c) 2011-2020 United States Government as represented by
|
||||
* the U.S. Army Research Laboratory.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -97,7 +97,6 @@ record(const char *fmt, ...)
|
||||
if (!BU_STR_EQUAL(LOGFILE, "")) {
|
||||
FILE *fp = fopen(LOGFILE, "a");
|
||||
fprintf(fp, "%s", bu_vls_addr(&str));
|
||||
fclose(fp);
|
||||
}
|
||||
if (bu_str_false(QUIET)) {
|
||||
bu_log("%s", bu_vls_addr(&str));
|
||||
@@ -217,16 +216,14 @@ look_for(void (*verbose)(const char *, ...), look_for_type_t type, const char *l
|
||||
static void
|
||||
set_if_unset(void (*echo)(const char *, ...), void (*verbose)(const char *, ...), const char *var, const char *val)
|
||||
{
|
||||
const char *setval = getenv(var);
|
||||
|
||||
if (!var || !val) {
|
||||
return;
|
||||
}
|
||||
|
||||
const char *setval = getenv(var);
|
||||
|
||||
if (!echo) {
|
||||
echo = sink;
|
||||
}
|
||||
|
||||
if (!verbose) {
|
||||
verbose = sink;
|
||||
}
|
||||
@@ -393,7 +390,7 @@ main(int ac, char *av[])
|
||||
bu_log("well-known datasets into 512x512 images where performance metrics are\n");
|
||||
bu_log("documented and fairly well understood. The local machine's\n");
|
||||
bu_log("performance is compared to the base system (called VGR) and a numeric\n");
|
||||
bu_log("\"VGR\" multiplier of performance is computed. This number is a\n");
|
||||
bu_log("\"VGR\" mulitplier of performance is computed. This number is a\n");
|
||||
bu_log("simplified metric from which one may qualitatively compare cpu and\n");
|
||||
bu_log("cache performance, versions of BRL-CAD, and different compiler\n");
|
||||
bu_log("characteristics.\n");
|
||||
@@ -433,7 +430,7 @@ main(int ac, char *av[])
|
||||
bu_log("effectively performing a multiplier amount of work over the initial\n");
|
||||
bu_log("frame.\n");
|
||||
bu_log("\n");
|
||||
bu_log("Please send your BRL-CAD Benchmark results to the developers along with\n");
|
||||
bu_log("Plese send your BRL-CAD Benchmark results to the developers along with\n");
|
||||
bu_log("detailed system information to <devs@brlcad.org>. Include at least:\n");
|
||||
bu_log("\n");
|
||||
bu_log(" 0) Compiler name and version (e.g. gcc --version)\n");
|
||||
@@ -482,10 +479,6 @@ main(int ac, char *av[])
|
||||
j = bu_argv_from_string(pattern, 4, bu_vls_addr(&pattern_str));
|
||||
while (j > 0) {
|
||||
num = bu_file_glob(pattern[j-1], paths);
|
||||
if (!num || !paths || !paths[0]) {
|
||||
j--;
|
||||
continue;
|
||||
}
|
||||
cnt = num;
|
||||
while (num > 0) {
|
||||
bu_file_delete(paths[num-1]);
|
||||
@@ -506,10 +499,8 @@ main(int ac, char *av[])
|
||||
num = bu_file_glob("benchmark-[0-9]*-run.log", paths);
|
||||
cnt = num;
|
||||
while (num > 0) {
|
||||
if (paths) {
|
||||
bu_log("rm -f %s\n", paths[num-1]);
|
||||
bu_file_delete(paths[num-1]);
|
||||
}
|
||||
bu_log("rm -f %s\n", paths[num-1]);
|
||||
bu_file_delete(paths[num-1]);
|
||||
num--;
|
||||
}
|
||||
bu_argv_free(cnt, paths);
|
||||
@@ -530,8 +521,7 @@ main(int ac, char *av[])
|
||||
bu_log("\nThe following files must be removed manually:\n");
|
||||
printed=1;
|
||||
}
|
||||
if (paths)
|
||||
bu_log("%s ", paths[num-1]);
|
||||
bu_log("%s ", paths[num-1]);
|
||||
num--;
|
||||
}
|
||||
bu_argv_free(cnt, paths);
|
||||
@@ -562,7 +552,7 @@ main(int ac, char *av[])
|
||||
{
|
||||
int fd;
|
||||
const char *logfile;
|
||||
bu_vls_printf(&str, "run-%d-benchmark.log", bu_pid());
|
||||
bu_vls_printf(&str, "run-%d-benchmark.log", bu_process_id());
|
||||
logfile = bu_vls_addr(&str);
|
||||
bu_setenv("LOGFILE", logfile, 1);
|
||||
fd = open(logfile, O_WRONLY|O_CREAT, S_IRUSR | S_IWUSR);
|
||||
@@ -691,6 +681,11 @@ main(int ac, char *av[])
|
||||
look_for(verbose_echo, script, "a time elapsed utility", "ELP", (const char **)argv);
|
||||
bu_vls_trunc(&vp, 0);
|
||||
|
||||
bu_free(root, "strdup root");
|
||||
bu_free(db, "strdup db");
|
||||
bu_free(pix, "strdup pix");
|
||||
|
||||
|
||||
/*********************
|
||||
* output parameters *
|
||||
*********************/
|
||||
@@ -744,10 +739,8 @@ main(int ac, char *av[])
|
||||
/* approximate maximum time in seconds that a given test is allowed to take */
|
||||
set_if_unset(echo, verbose_echo, "MAXTIME", "300");
|
||||
{
|
||||
char *mtimestr = getenv("MAXTIME");
|
||||
MAXTIME = (mtimestr) ? strtol(mtimestr, NULL, 0) : 300;
|
||||
char *timeframestr = getenv("TIMEFRAME");
|
||||
TIMEFRAME = (timeframestr) ? strtol(timeframestr, NULL, 0) : 32;
|
||||
MAXTIME = strtol(getenv("MAXTIME"), NULL, 0);
|
||||
TIMEFRAME = strtol(getenv("TIMEFRAME"), NULL, 0);
|
||||
if (MAXTIME < TIMEFRAME) {
|
||||
bu_exit(1, "ERROR: MAXTIME must be greater or equal to TIMEFRAME\n");
|
||||
}
|
||||
@@ -928,6 +921,8 @@ main(int ac, char *av[])
|
||||
thisp, thisp, thisp, thisp, thisp, thisp);
|
||||
bu_argv_from_string(argv, 32, bu_vls_addr(&vp));
|
||||
|
||||
bu_free(thisp, "dirname this");
|
||||
|
||||
look_for(NULL, file, "BENCHMARK_TR", "benchmark", (const char **)argv);
|
||||
bu_vls_trunc(&vp, 0);
|
||||
|
||||
|
||||
+4
-5
@@ -1,7 +1,7 @@
|
||||
/* C L E A N . C
|
||||
* BRL-CAD
|
||||
*
|
||||
* Copyright (c) 2011-2025 United States Government as represented by
|
||||
* Copyright (c) 2011-2020 United States Government as represented by
|
||||
* the U.S. Army Research Laboratory.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -46,8 +46,7 @@
|
||||
|
||||
|
||||
/* TODO: !!! needed */
|
||||
//int bu_file_move(const char *fn1, const char *fn2) {if (!fn1 || !fn2) return -1; return 0;}
|
||||
|
||||
int bu_file_move(const char *fn1, const char *fn2) {if (!fn1 || !fn2) return -1; return 0;}
|
||||
extern int bu_file_copy(const char *fn1, const char *fn2);
|
||||
|
||||
|
||||
@@ -70,7 +69,7 @@ clean_obstacles(const char *base_filename, int id)
|
||||
if (bu_file_exists(bu_vls_cstr(&vpid), NULL)) {
|
||||
bu_file_delete(bu_vls_cstr(&vp));
|
||||
}
|
||||
//bu_file_move(bu_vls_cstr(&vp), bu_vls_cstr(&vpid));
|
||||
bu_file_move(bu_vls_cstr(&vp), bu_vls_cstr(&vpid));
|
||||
}
|
||||
|
||||
/* look for a log file */
|
||||
@@ -80,7 +79,7 @@ clean_obstacles(const char *base_filename, int id)
|
||||
if (bu_file_exists(bu_vls_cstr(&vpid), NULL)) {
|
||||
bu_file_delete(bu_vls_cstr(&vp));
|
||||
}
|
||||
//bu_file_move(bu_vls_cstr(&vp), bu_vls_cstr(&vpid));
|
||||
bu_file_move(bu_vls_cstr(&vp), bu_vls_cstr(&vpid));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
/* C O M P U T E . C
|
||||
* BRL-CAD
|
||||
*
|
||||
* Copyright (c) 2011-2025 United States Government as represented by
|
||||
* Copyright (c) 2011-2020 United States Government as represented by
|
||||
* the U.S. Army Research Laboratory.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
Executable
+198
@@ -0,0 +1,198 @@
|
||||
#!/bin/sh
|
||||
# L G T . S H
|
||||
# BRL-CAD
|
||||
#
|
||||
# Copyright (c) 2004-2020 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the following
|
||||
# disclaimer in the documentation and/or other materials provided
|
||||
# with the distribution.
|
||||
#
|
||||
# 3. The name of the author may not be used to endorse or promote
|
||||
# products derived from this software without specific prior written
|
||||
# permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
|
||||
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
###
|
||||
# A Shell script to test LGT
|
||||
# @(#)$Header$ (BRL)
|
||||
|
||||
# Ensure /bin/sh
|
||||
export PATH || (echo "This isn't sh."; sh $0 $*; kill $$)
|
||||
path_to_lgt_sh=`dirname $0`
|
||||
|
||||
expected="$path_to_lgt_sh/../src/lgt/lgt"
|
||||
if ! test -f "$expected" ; then
|
||||
echo "Can't find LGT"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# force locale setting to C so things like date output as expected
|
||||
LC_ALL=C
|
||||
|
||||
LGT="$expected"
|
||||
DB="$path_to_lgt_sh/../db"
|
||||
|
||||
CMP="$path_to_lgt_sh/pixcmp"
|
||||
if test ! -f $CMP ; then
|
||||
cake pixcmp
|
||||
fi
|
||||
|
||||
# Alliant NFS hack
|
||||
if test x${MACHINE} = xfx ; then
|
||||
cp ${LGT} /tmp/lgt
|
||||
cp ${CMP} /tmp/pixcmp
|
||||
LGT=/tmp/lgt
|
||||
CMP=/tmp/pixcmp
|
||||
fi
|
||||
|
||||
# This test of LGT assumes a "live" framebuffer here.
|
||||
if test x$FB_FILE = x ; then
|
||||
echo "Environment variable FB_FILE must be set to a real framebuffer"
|
||||
echo "for this test of LGT to operate correctly."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Run the first set of tests
|
||||
|
||||
${LGT} ${DB}/lgt-test.g all.g << EOF
|
||||
# read light source data base
|
||||
v ../db/lgt-test.ldb
|
||||
# read material data base
|
||||
w ../db/lgt-test.mdb
|
||||
# force display window to be 512x512 pixels, should cause 8-to-1 zoom
|
||||
T 512
|
||||
# clear frame buffer
|
||||
E
|
||||
# set maximum bounces to 20
|
||||
K 20
|
||||
# turn hidden-line drawing off
|
||||
k 0
|
||||
# configure grid: 64 rays across
|
||||
G 64 0 0 0.0
|
||||
# turn perspective off
|
||||
p 0
|
||||
# change background to mauve
|
||||
b 111 66 66
|
||||
# read key frame
|
||||
j ../db/lgt-test.key
|
||||
# display view #3
|
||||
R
|
||||
# save image in file
|
||||
H lgt3a.pix
|
||||
# change frame buffer to disk file
|
||||
o lgt3b.pix
|
||||
# save a script of previous commands, to produce the "b" version.
|
||||
S script3
|
||||
# disable reading of key frame file
|
||||
j
|
||||
# change frame buffer back to default
|
||||
o
|
||||
# configure grid: 2.45 mm cells, centered about model origin, view size 225 mm
|
||||
G 2.45 1 1 225.0
|
||||
# change background to firebrick
|
||||
b 142 35 35
|
||||
# force frame buffer size to be 455 pixels across, should cause 4-to-1 zoom
|
||||
T 455
|
||||
# set automatic perspective at 0.25
|
||||
p 0.25
|
||||
# set anti-aliasing over-sampling factor to 2
|
||||
A 2
|
||||
# set maximum bounces to 20
|
||||
K 20
|
||||
# display view #1
|
||||
R
|
||||
# save image in file
|
||||
H lgt1a.pix
|
||||
# change frame buffer to disk file
|
||||
o lgt1b.pix
|
||||
# save a script
|
||||
S script1
|
||||
# change frame buffer back to default
|
||||
o
|
||||
# turn off anti-aliasing
|
||||
A 1
|
||||
# revert to auto-sizing of frame buffer
|
||||
T 0
|
||||
# set automatic perspective at 0.25
|
||||
p 0.25
|
||||
# select hidden-line drawing, reverse video
|
||||
k 2
|
||||
# configure grid: 128 rays across, centered at model RPP, view size 225mm
|
||||
G 128 0 0 225.0
|
||||
# display view #2
|
||||
R
|
||||
# save image in file
|
||||
H lgt2a.pix
|
||||
# change frame buffer to disk file
|
||||
o lgt2b.pix
|
||||
# save a script
|
||||
S script2
|
||||
# change frame buffer back to default
|
||||
o
|
||||
# bye
|
||||
q
|
||||
EOF
|
||||
if test $? = 0 ; then
|
||||
:
|
||||
else
|
||||
echo "Abnormal lgt exit"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Run the second set of tests. The scripts were created above.
|
||||
./script1 < /dev/null &&
|
||||
./script2 < /dev/null &&
|
||||
./script3 < /dev/null || { echo "Script test failed."; exit 1; }
|
||||
|
||||
FAIL=0
|
||||
for i in 1 2 3 ; do
|
||||
if ${CMP} "$path_to_lgt_sh/../pix/lgt${i}.pix" lgt${i}a.pix ; then
|
||||
:
|
||||
else
|
||||
echo "Test $i A failed."
|
||||
FAIL=1
|
||||
fi
|
||||
if ${CMP} "$path_to_lgt_sh/../pix/lgt${i}.pix" lgt${i}b.pix
|
||||
then
|
||||
:
|
||||
else
|
||||
echo "Test $i B failed."
|
||||
FAIL=1
|
||||
fi
|
||||
done
|
||||
if test "$FAIL" -eq 0 ; then
|
||||
echo "LGT Tested OK."
|
||||
exit 0
|
||||
fi
|
||||
echo "*** LGT does NOT work on this platform ***"
|
||||
exit 2
|
||||
|
||||
# Local Variables:
|
||||
# mode: sh
|
||||
# tab-width: 8
|
||||
# sh-indentation: 4
|
||||
# sh-basic-offset: 4
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=4 tabstop=8
|
||||
+118
-295
@@ -1,7 +1,7 @@
|
||||
/* P I X C M P . C
|
||||
* BRL-CAD
|
||||
*
|
||||
* Copyright (c) 2004-2025 United States Government as represented by
|
||||
* Copyright (c) 2004-2020 United States Government as represented by
|
||||
* the U.S. Army Research Laboratory.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -36,16 +36,6 @@
|
||||
#endif
|
||||
#include "bio.h"
|
||||
|
||||
// TODO - replace with std::filesystem::is_fifo
|
||||
#ifndef S_ISFIFO
|
||||
# ifdef S_IFIFO
|
||||
# define S_ISFIFO(mode) (((mode) & S_IFMT) == S_IFIFO)
|
||||
# else
|
||||
# define S_ISFIFO(mode) (0)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include <errno.h>
|
||||
#include "bu/app.h"
|
||||
#include "bu/getopt.h"
|
||||
#include "bu/log.h"
|
||||
@@ -57,59 +47,39 @@
|
||||
#define FILE_ERROR 126
|
||||
|
||||
/* exit codes for normal operation */
|
||||
#define EXIT_OFF_BY_NONE 0
|
||||
#define EXIT_OFF_BY_ONE 1
|
||||
#define EXIT_OFF_BY_MANY 2
|
||||
|
||||
enum diff {
|
||||
MATCHING,
|
||||
OFF_BY_ONE,
|
||||
OFF_BY_MANY,
|
||||
MISSING
|
||||
};
|
||||
#define OFF_BY_NONE 0
|
||||
#define OFF_BY_ONE 1
|
||||
#define OFF_BY_MANY 2
|
||||
|
||||
|
||||
static void
|
||||
HIDDEN void
|
||||
usage(const char *name)
|
||||
{
|
||||
const char *unknown = "pixcmp";
|
||||
if (!name) {
|
||||
name = unknown;
|
||||
}
|
||||
|
||||
/* split to fit within ISO C90 max static string length < 509 chars */
|
||||
bu_log("Usage: %s [OPTIONS] FILE1 [FILE2 [SKIP1 [SKIP2]]]\n"
|
||||
"\n"
|
||||
" Compare two PIX files pixel by pixel (or byte by byte), optionally"
|
||||
" skipping initial pixels (or bytes) in one or both input files.\n"
|
||||
"\n", name);
|
||||
bu_log("Options:"
|
||||
" -b Iterate and print by bytes instead of by pixels.\n"
|
||||
" -s Print all that have the same matching values.\n"
|
||||
" -d Print all that have different values.\n"
|
||||
" -q Quiet. Suppress printing header and summary.\n"
|
||||
/* this must be split, ISO C90 has a max static string length of 509 */
|
||||
bu_log("Usage: %s [OPTIONS] FILE1 [FILE2 [SKIP1 [SKIP2]]]\n%s", name,
|
||||
"Compare two PIX image files pixel by pixel.\n\n"
|
||||
" -l List pixel numbers and values for all pixels that differ.\n"
|
||||
" -b Output and process by bytes instead of pixels.\n"
|
||||
" -i SKIP\n"
|
||||
" Discard initial SKIP pixels (or bytes w/ -b) in FILE1 and FILE2 input.\n"
|
||||
" -i SKIP1:SKIP2\n"
|
||||
" Skip initial SKIP1 pixels (or bytes w/ -b) in FILE1 and SKIP2 in FILE2.\n"
|
||||
" -n COUNT\n"
|
||||
" Compare COUNT pixels (or bytes w/ -b). Stops by default at EOF.\n"
|
||||
"\n");
|
||||
bu_log("If either FILE is `-' or is missing, then input is read from standard input.\n"
|
||||
"If FILE1 and FILE2 are both standard input, then values must be interleaved.\n"
|
||||
"If the `-b' option is used, SKIP and COUNT values are bytes instead of pixels.\n"
|
||||
"Pixel numbers and bytes are indexed linearly from one.\n"
|
||||
"\n");
|
||||
" Skip the first SKIP pixels of input (for FILE1 and FILE2)\n");
|
||||
bu_log(" -i SKIP1:SKIP2\n"
|
||||
" Skip the first SKIP1 pixels in FILE1 and SKIP2 pixels in FILE2.\n"
|
||||
" -s Silent output. Only return an exit status.\n\n"
|
||||
"If FILE is `-' or is missing, then input is read from standard input.\n"
|
||||
"If the `-b' option is used, SKIP values are bytes instead of pixels.\n"
|
||||
"Pixel numbers and bytes are indexed linearly from one.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
handle_range_opt(const char *arg, size_t *skip1, size_t *skip2)
|
||||
HIDDEN void
|
||||
handle_i_opt(const char *arg, size_t *skip1, size_t *skip2)
|
||||
{
|
||||
const char *endptr = arg;
|
||||
long val;
|
||||
|
||||
if ((arg == NULL) || ((skip1 == NULL) && (skip2 == NULL))) {
|
||||
/* nothing to do */
|
||||
return;
|
||||
@@ -121,14 +91,12 @@ handle_range_opt(const char *arg, size_t *skip1, size_t *skip2)
|
||||
/* probably empty string */
|
||||
if (skip2) {
|
||||
endptr++;
|
||||
val = strtol(endptr, NULL, 10);
|
||||
*skip2 = (val < 0) ? 0 : val;
|
||||
*skip2 = strtol(endptr, NULL, 10);
|
||||
}
|
||||
} else if ((endptr == NULL) || (endptr[0] == '\0')) {
|
||||
/* no : found */
|
||||
if (skip2) {
|
||||
val = strtol(arg, NULL, 10);
|
||||
*skip2 = (val < 0) ? 0 : val;
|
||||
*skip2 = strtol(arg, NULL, 10);
|
||||
}
|
||||
if (skip1 && skip2) {
|
||||
*skip1 = *skip2;
|
||||
@@ -136,13 +104,11 @@ handle_range_opt(const char *arg, size_t *skip1, size_t *skip2)
|
||||
} else if (endptr[0] == ':') {
|
||||
/* found : */
|
||||
if (skip1) {
|
||||
val = strtol(arg, NULL, 10);
|
||||
*skip1 = (val < 0) ? 0 : val;
|
||||
*skip1 = strtol(arg, NULL, 10);
|
||||
}
|
||||
if (skip2) {
|
||||
endptr++; /* skip over : */
|
||||
val = strtol(endptr, NULL, 10);
|
||||
*skip2 = (val < 0) ? 0 : val;
|
||||
*skip2 = strtol(endptr, NULL, 10);
|
||||
}
|
||||
} else {
|
||||
bu_exit(OPTS_ERROR, "Unexpected input processing [%s]\n", arg);
|
||||
@@ -150,120 +116,45 @@ handle_range_opt(const char *arg, size_t *skip1, size_t *skip2)
|
||||
}
|
||||
|
||||
|
||||
static enum diff
|
||||
compare_rgb(int r1, int g1, int b1, int r2, int g2, int b2, size_t *matching, size_t *off1, size_t *offmany, size_t *missing)
|
||||
{
|
||||
enum diff result = MISSING;
|
||||
|
||||
if ((r1 == r2 && r1 != -1)
|
||||
&& (g1 == g2 && g1 != -1)
|
||||
&& (b1 == b2 && b1 != -1))
|
||||
{
|
||||
result = MATCHING;
|
||||
(*matching)++;
|
||||
} else if (r1 == -1 || r2 == -1 || g1 == -1 || g2 == -1 || b1 == -1 || b2 == -1) {
|
||||
/* image sizes don't match (or other I/O error) */
|
||||
result = MISSING;
|
||||
(*missing)++;
|
||||
} else if (((r1 != r2) && (g1 == g2) && (b1 == b2))
|
||||
|| ((r1 == r2) && (g1 != g2) && (b1 == b2))
|
||||
|| ((r1 == r2) && (g1 == g2) && (b1 != b2)))
|
||||
{
|
||||
/* off by one channel */
|
||||
if (r1 != r2) {
|
||||
if ((r1 > r2 ? r1 - r2 : r2 - r1) > 1) {
|
||||
result = OFF_BY_MANY;
|
||||
(*offmany)++;
|
||||
} else {
|
||||
result = OFF_BY_ONE;
|
||||
(*off1)++;
|
||||
}
|
||||
} else if (g1 != g2) {
|
||||
if ((g1 > g2 ? g1 - g2 : g2 - g1) > 1) {
|
||||
result = OFF_BY_MANY;
|
||||
(*offmany)++;
|
||||
} else {
|
||||
result = OFF_BY_ONE;
|
||||
(*off1)++;
|
||||
}
|
||||
} else if (b1 != b2) {
|
||||
if ((b1 > b2 ? b1 - b2 : b2 - b1) > 1) {
|
||||
result = OFF_BY_MANY;
|
||||
(*offmany)++;
|
||||
} else {
|
||||
result = OFF_BY_ONE;
|
||||
(*off1)++;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
result = OFF_BY_MANY;
|
||||
(*offmany)++;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
const char *argv0 = argv[0];
|
||||
|
||||
FILE *f1 = NULL;
|
||||
FILE *f2 = NULL;
|
||||
struct stat sf1;
|
||||
struct stat sf2;
|
||||
|
||||
memset(&sf1, 0, sizeof(struct stat));
|
||||
memset(&sf2, 0, sizeof(struct stat));
|
||||
struct stat sf1, sf2;
|
||||
|
||||
size_t matching = 0;
|
||||
size_t off1 = 0;
|
||||
size_t offmany = 0;
|
||||
size_t missing = 0;
|
||||
|
||||
int c;
|
||||
int list_diff = 0;
|
||||
int list_same = 0;
|
||||
int list_pixel_values = 0;
|
||||
int print_bytes = 0;
|
||||
int quiet = 0;
|
||||
|
||||
size_t bytes = 0;
|
||||
int silent = 0;
|
||||
size_t f1_skip = 0;
|
||||
size_t f2_skip = 0;
|
||||
size_t stop_after = 0;
|
||||
size_t bytes = 0;
|
||||
|
||||
bu_setprogname(argv[0]);
|
||||
|
||||
/* process opts */
|
||||
while ((c = bu_getopt(argc, argv, "sdbi:n:q?")) != -1) {
|
||||
while ((c = bu_getopt(argc, argv, "lbi:s")) != -1) {
|
||||
switch (c) {
|
||||
case 's':
|
||||
list_same = 1;
|
||||
break;
|
||||
case 'd':
|
||||
list_diff = 1;
|
||||
case 'l':
|
||||
list_pixel_values = 1;
|
||||
break;
|
||||
case 'b':
|
||||
print_bytes = 1;
|
||||
break;
|
||||
case 'i':
|
||||
handle_range_opt(bu_optarg, &f1_skip, &f2_skip);
|
||||
handle_i_opt(bu_optarg, &f1_skip, &f2_skip);
|
||||
break;
|
||||
case 'n':
|
||||
{
|
||||
long num = strtol(bu_optarg, NULL, 10);
|
||||
stop_after = (num < 0) ? 0 : num;
|
||||
case 's':
|
||||
silent = 1;
|
||||
break;
|
||||
}
|
||||
case 'q':
|
||||
quiet = 1;
|
||||
break;
|
||||
case '?':
|
||||
case 'h':
|
||||
usage(argv0);
|
||||
return 0;
|
||||
default:
|
||||
bu_log("\n");
|
||||
usage(argv[0]);
|
||||
exit(OPTS_ERROR);
|
||||
}
|
||||
}
|
||||
@@ -273,17 +164,17 @@ main(int argc, char *argv[])
|
||||
/* validate what is left over */
|
||||
if (argc < 1 || argc > 4) {
|
||||
bu_log("ERROR: incorrect number of arguments provided\n\n");
|
||||
usage(argv0);
|
||||
usage(argv[0]);
|
||||
exit(OPTS_ERROR);
|
||||
}
|
||||
if ((argc > 0 && !argv[0]) || (argc > 1 && !argv[1])) {
|
||||
bu_log("ERROR: bad filename\n\n");
|
||||
usage(argv0);
|
||||
usage(argv[0]);
|
||||
exit(OPTS_ERROR);
|
||||
}
|
||||
if ((argc > 2 && !argv[2]) || (argc > 3 && !argv[3])) {
|
||||
bu_log("ERROR: bad skip value\n\n");
|
||||
usage(argv0);
|
||||
usage(argv[0]);
|
||||
exit(OPTS_ERROR);
|
||||
}
|
||||
|
||||
@@ -295,25 +186,10 @@ main(int argc, char *argv[])
|
||||
} else {
|
||||
snprintf(range, 64, "%s", argv[2]);
|
||||
}
|
||||
handle_range_opt(range, &f1_skip, &f2_skip);
|
||||
handle_i_opt(range, &f1_skip, &f2_skip);
|
||||
}
|
||||
|
||||
if (!print_bytes) {
|
||||
if ((f1_skip > ((size_t)-1)/3)
|
||||
|| (f2_skip > ((size_t)-1)/3))
|
||||
{
|
||||
bu_log("ERROR: overflow, -i skip value(s) are too big {%zu:%zu}\n", f1_skip, f2_skip);
|
||||
exit(OPTS_ERROR);
|
||||
}
|
||||
f1_skip *= 3;
|
||||
f2_skip *= 3;
|
||||
if (stop_after > ((size_t)-1)/3)
|
||||
{
|
||||
bu_log("ERROR: overflow, -n number is too big {%zu}\n", stop_after);
|
||||
exit(OPTS_ERROR);
|
||||
}
|
||||
stop_after *= 3;
|
||||
}
|
||||
/* printf("Skip from FILE1: %ld and from FILE2: %ld\n", f1_skip, f2_skip); */
|
||||
|
||||
if (BU_STR_EQUAL(argv[0], "-")) {
|
||||
f1 = stdin;
|
||||
@@ -321,7 +197,6 @@ main(int argc, char *argv[])
|
||||
perror(argv[0]);
|
||||
exit(FILE_ERROR);
|
||||
}
|
||||
|
||||
if ((argc < 2) || BU_STR_EQUAL(argv[1], "-")) {
|
||||
f2 = stdin;
|
||||
} else if ((f2 = fopen(argv[1], "rb")) == NULL) {
|
||||
@@ -329,165 +204,108 @@ main(int argc, char *argv[])
|
||||
exit(FILE_ERROR);
|
||||
}
|
||||
|
||||
setmode(fileno(stdin), O_BINARY);
|
||||
/* we're writing out ascii */
|
||||
/* setmode(fileno(stdout), O_BINARY); */
|
||||
stat(argv[0], &sf1);
|
||||
stat(argv[1], &sf2);
|
||||
|
||||
if (f1_skip != f2_skip && f1 == stdin && f2 == stdin) {
|
||||
bu_exit(OPTS_ERROR, "ERROR: cannot skip the same input stream by different amounts\n");
|
||||
if (sf1.st_size != sf2.st_size) {
|
||||
bu_exit(FILE_ERROR, "Different file sizes found: %s(%d) and %s(%d). Cannot perform pixcmp.\n", argv[0], (int)sf1.st_size, argv[1], (int)sf2.st_size);
|
||||
}
|
||||
|
||||
errno = 0;
|
||||
if (fstat(fileno(f1), &sf1)) {
|
||||
bu_log("Warning - f1 fstat failed: %s\n", strerror(errno));
|
||||
if (!print_bytes) {
|
||||
f1_skip *= 3;
|
||||
f2_skip *= 3;
|
||||
}
|
||||
errno = 0;
|
||||
if (fstat(fileno(f2), &sf2)) {
|
||||
bu_log("Warning - f2 fstat failed: %s\n", strerror(errno));
|
||||
}
|
||||
|
||||
bu_log("FILE1_size(%zu) FILE1_skip(%zu) FILE2_size(%zu) FILE2_skip(%zu)\n", (size_t)sf1.st_size, f1_skip, (size_t)sf2.st_size, f2_skip);
|
||||
|
||||
if (!quiet && ((sf1.st_size - f1_skip) != (sf2.st_size - f2_skip))) {
|
||||
bu_log("WARNING: Different image sizes detected\n");
|
||||
if (print_bytes) {
|
||||
bu_log("\t%s: %7zu bytes (%8zu bytes, skipping %7zu)\n",
|
||||
argv[0], (size_t)sf1.st_size - f1_skip, (size_t)sf1.st_size, f1_skip);
|
||||
bu_log("\t%s: %7zu bytes (%8zu bytes, skipping %7zu)\n",
|
||||
argv[1], (size_t)sf2.st_size - f2_skip, (size_t)sf2.st_size, f2_skip);
|
||||
} else {
|
||||
bu_log("\t%s: %7zu pixels (%8zu bytes, skipping %7zu)\n",
|
||||
argv[0], ((size_t)sf1.st_size - f1_skip)/3, (size_t)sf1.st_size, f1_skip);
|
||||
bu_log("\t%s: %7zu pixels (%8zu bytes, skipping %7zu)\n",
|
||||
argv[1], ((size_t)sf2.st_size - f2_skip)/3, (size_t)sf2.st_size, f2_skip);
|
||||
}
|
||||
}
|
||||
|
||||
/* make sure we read all bytes */
|
||||
if (stop_after == 0) {
|
||||
stop_after = FMAX((sf1.st_size - f1_skip), (sf2.st_size - f2_skip));
|
||||
if (f1 == stdin && f2 == stdin) {
|
||||
/* dual stdin is interleaved */
|
||||
stop_after = (stop_after+1)/2;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
bu_log("mode is [%d] and [%d]\n", S_ISFIFO(sf1.st_mode), S_ISFIFO(sf2.st_mode));
|
||||
bu_log("tty is [%d] and [%d]\n", isatty(fileno(f1)), isatty(fileno(f2)));
|
||||
*/
|
||||
|
||||
/* skip requested pixels/bytes in FILE1 */
|
||||
if (f1_skip) {
|
||||
if (S_ISFIFO(sf1.st_mode)) {
|
||||
size_t skipped = 0;
|
||||
for (skipped = 0; skipped < f1_skip; skipped++) {
|
||||
(void)fgetc(f1);
|
||||
}
|
||||
} else if (fseek(f1, (long)f1_skip, SEEK_SET)) {
|
||||
bu_log("ERROR: Unable to seek %zd %s%s in FILE1\n",
|
||||
f1_skip,
|
||||
print_bytes?"byte":"pixel",
|
||||
f1_skip==1?"":"s");
|
||||
perror("FILE1 fseek failure");
|
||||
exit(FILE_ERROR);
|
||||
}
|
||||
if (f1_skip && fseek(f1, f1_skip, SEEK_SET)) {
|
||||
bu_log("ERROR: Unable to seek %zd %s%s in FILE1\n",
|
||||
f1_skip,
|
||||
print_bytes?"byte":"pixel",
|
||||
f1_skip==1?"":"s");
|
||||
perror("FILE1 fseek failure");
|
||||
exit(FILE_ERROR);
|
||||
}
|
||||
|
||||
/* skip requested pixels in FILE2 */
|
||||
if (f2_skip) {
|
||||
if (S_ISFIFO(sf2.st_mode)) {
|
||||
size_t skipped = 0;
|
||||
for (skipped = 0; skipped < f2_skip; skipped++) {
|
||||
(void)fgetc(f2);
|
||||
}
|
||||
} else if (fseek(f2, (long)f2_skip, SEEK_SET)) {
|
||||
bu_log("ERROR: Unable to seek %zd %s%s in FILE2\n",
|
||||
f2_skip,
|
||||
print_bytes?"byte":"pixel",
|
||||
f2_skip==1?"":"s");
|
||||
perror("FILE2 fseek failure");
|
||||
exit(FILE_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
/* print header to stderr, output to stdout */
|
||||
if (!quiet && (list_same || list_diff)) {
|
||||
if (print_bytes) {
|
||||
bu_log("#Byte FILE1 FILE2 LABEL\n");
|
||||
} else {
|
||||
bu_log("#Pixel\t(FILE1 R, G, B) (FILE2 R, G, B)\n");
|
||||
}
|
||||
if (f2_skip && fseek(f2, f2_skip, SEEK_SET)) {
|
||||
bu_log("ERROR: Unable to seek %zd %s%s in FILE2\n",
|
||||
f1_skip,
|
||||
print_bytes?"byte":"pixel",
|
||||
f1_skip==1?"":"s");
|
||||
perror("FILE2 fseek failure");
|
||||
exit(FILE_ERROR);
|
||||
}
|
||||
|
||||
/* iterate over the pixels/bytes in the files */
|
||||
while (bytes < stop_after) {
|
||||
enum diff result;
|
||||
int r1 = -1;
|
||||
int r2 = -1;
|
||||
int g1 = -1;
|
||||
int g2 = -1;
|
||||
int b1 = -1;
|
||||
int b2 = -1;
|
||||
|
||||
/* bu_log("\tbytes[%zu] < stop[%zu\n", bytes, stop_after); */
|
||||
while ((!feof(f1) && !feof(f2)) &&
|
||||
(!ferror(f1) && !ferror(f2))) {
|
||||
register int r1, r2, g1, g2, b1, b2;
|
||||
r1 = r2 = g1 = g2 = b1 = b2 = -1;
|
||||
|
||||
r1 = fgetc(f1);
|
||||
r2 = fgetc(f2);
|
||||
if (feof(f1) || feof(f2)) break;
|
||||
bytes++;
|
||||
|
||||
if (print_bytes) {
|
||||
/* replicate */
|
||||
b1 = g1 = 0;
|
||||
b2 = g2 = 0;
|
||||
} else {
|
||||
if (!print_bytes) {
|
||||
g1 = fgetc(f1);
|
||||
g2 = fgetc(f2);
|
||||
if (feof(f1) || feof(f2)) break;
|
||||
bytes++;
|
||||
b1 = fgetc(f1);
|
||||
b2 = fgetc(f2);
|
||||
if (feof(f1) || feof(f2)) break;
|
||||
bytes++;
|
||||
}
|
||||
|
||||
result = compare_rgb(r1, g1, b1, r2, g2, b2, &matching, &off1, &offmany, &missing);
|
||||
if ((r1 == r2) && (g1 == g2) && (b1 == b2)) {
|
||||
matching++;
|
||||
continue;
|
||||
}
|
||||
|
||||
/* print them? */
|
||||
if ((result==MATCHING && list_same)
|
||||
|| (result!=MATCHING && list_diff))
|
||||
{
|
||||
const char *label = NULL;
|
||||
switch (result) {
|
||||
case MATCHING:
|
||||
label = "MATCHING";
|
||||
break;
|
||||
case OFF_BY_MANY:
|
||||
label = "OFF_BY_MANY";
|
||||
break;
|
||||
case OFF_BY_ONE:
|
||||
label = "OFF_BY_ONE";
|
||||
break;
|
||||
case MISSING:
|
||||
default:
|
||||
label = "MISSING";
|
||||
break;
|
||||
/* tabulate differing pixels */
|
||||
if (((r1 != r2) && (g1 == g2) && (b1 == b2)) ||
|
||||
((r1 == r2) && (g1 != g2) && (b1 == b2)) ||
|
||||
((r1 == r2) && (g1 == g2) && (b1 != b2))) {
|
||||
/* off by one channel */
|
||||
if (r1 != r2) {
|
||||
if ((r1 > r2 ? r1 - r2 : r2 - r1) > 1) {
|
||||
offmany++;
|
||||
} else {
|
||||
off1++;
|
||||
}
|
||||
} else if (g1 != g2) {
|
||||
if ((g1 > g2 ? g1 - g2 : g2 - g1) > 1) {
|
||||
offmany++;
|
||||
} else {
|
||||
off1++;
|
||||
}
|
||||
} else if (b1 != b2) {
|
||||
if ((b1 > b2 ? b1 - b2 : b2 - b1) > 1) {
|
||||
offmany++;
|
||||
} else {
|
||||
off1++;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
/* off by many */
|
||||
offmany++;
|
||||
}
|
||||
|
||||
/* they're different, so print something */
|
||||
if (list_pixel_values) {
|
||||
if (print_bytes) {
|
||||
printf("%zu %3d %3d %s\n", bytes, r1, r2, label);
|
||||
printf("%ld %3d %3d\n", bytes, r1, r2);
|
||||
} else {
|
||||
printf("%zu\t(%3d, %3d, %3d)\t(%3d, %3d, %3d) %s\n", bytes / 3, r1, g1, b1, r2, g2, b2, label);
|
||||
printf("%ld\t(%3d, %3d, %3d)\t(%3d, %3d, %3d)\n", bytes / 3, r1, g1, b1, r2, g2, b2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* print summary */
|
||||
if (!quiet) {
|
||||
printf("pixcmp %s: %8zd matching, %8zd off by 1, %8zd off by many",
|
||||
print_bytes?"bytes":"pixels", matching, off1, offmany);
|
||||
if (missing) {
|
||||
printf(", %8zd missing\n", missing);
|
||||
} else {
|
||||
printf("\n");
|
||||
}
|
||||
if (!silent) {
|
||||
printf("pixcmp %s: %8zd matching, %8zd off by 1, %8zd off by many\n",
|
||||
print_bytes?"bytes":"pixels",
|
||||
matching, off1, offmany);
|
||||
}
|
||||
|
||||
/* check for errors */
|
||||
@@ -496,16 +314,21 @@ main(int argc, char *argv[])
|
||||
return FILE_ERROR;
|
||||
}
|
||||
|
||||
/* if files were of different lengths, consider it an error */
|
||||
if (feof(f1) != feof(f2)) {
|
||||
return FILE_ERROR;
|
||||
}
|
||||
|
||||
/* indicate how many differences there were overall */
|
||||
if (offmany || missing) {
|
||||
return EXIT_OFF_BY_MANY;
|
||||
if (offmany) {
|
||||
return OFF_BY_MANY;
|
||||
}
|
||||
if (off1) {
|
||||
return EXIT_OFF_BY_ONE;
|
||||
return OFF_BY_ONE;
|
||||
}
|
||||
|
||||
/* Success! */
|
||||
return EXIT_OFF_BY_NONE;
|
||||
return OFF_BY_NONE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
+10
-11
@@ -1,29 +1,28 @@
|
||||
set(
|
||||
BENCHMARK_PIX
|
||||
set(BENCHMARK_PIX
|
||||
bldg391.pix
|
||||
m35.pix
|
||||
moss.pix
|
||||
sphflake.pix
|
||||
star.pix
|
||||
world.pix
|
||||
)
|
||||
)
|
||||
|
||||
set(
|
||||
PIX_LOG
|
||||
|
||||
set(PIX_LOG
|
||||
bldg391.log
|
||||
m35.log
|
||||
moss.log
|
||||
sphflake.log
|
||||
star.log
|
||||
world.log
|
||||
)
|
||||
)
|
||||
|
||||
brlcad_adddata(BENCHMARK_PIX pix)
|
||||
brlcad_adddata(PIX_LOG pix)
|
||||
BRLCAD_ADDDATA(BENCHMARK_PIX pix)
|
||||
BRLCAD_ADDDATA(PIX_LOG pix)
|
||||
|
||||
cmakefiles(${BENCHMARK_PIX})
|
||||
cmakefiles(${PIX_LOG})
|
||||
cmakefiles(CMakeLists.txt)
|
||||
CMAKEFILES(${BENCHMARK_PIX})
|
||||
CMAKEFILES(${PIX_LOG})
|
||||
CMAKEFILES(CMakeLists.txt)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
|
||||
+4
-6
@@ -1,7 +1,7 @@
|
||||
/* R U N . C
|
||||
* BRL-CAD
|
||||
*
|
||||
* Copyright (c) 2011-2025 United States Government as represented by
|
||||
* Copyright (c) 2011-2020 United States Government as represented by
|
||||
* the U.S. Army Research Laboratory.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -67,14 +67,12 @@ run(int ac, char *av[])
|
||||
const char *run_geomname = av[0];
|
||||
const char *run_geometry = av[1];
|
||||
long int hypersample = strtod(av[2], NULL);
|
||||
struct bu_vls args = BU_VLS_INIT_ZERO;
|
||||
av += 3;
|
||||
ac -= 3;
|
||||
|
||||
{
|
||||
struct bu_vls args = bu_argv_to_string(ac, (const char **)av);
|
||||
echo("DEBUG: Running %s -B -M -s512 -H%ld -J0 %s -o %s.pix %s/%s.g %s\n", av[0], hypersample, args, run_geomname, run_geomname, run_geometry);
|
||||
bu_vls_free(&args);
|
||||
}
|
||||
args = bu_argv_to_string(ac, (const char **)av);
|
||||
echo("DEBUG: Running %s -B -M -s512 -H%ld -J0 %s -o %s.pix %s/%s.g %s\n", av[0], hypersample, args, run_geomname, run_geomname, run_geometry);
|
||||
|
||||
/* pipe(stdin_for_bu_exec); */
|
||||
retval = bu_exec("program", NULL, NULL, NULL);
|
||||
|
||||
+27
-57
@@ -2,7 +2,7 @@
|
||||
# R U N . S H
|
||||
# BRL-CAD
|
||||
#
|
||||
# Copyright (c) 2004-2025 United States Government as represented by
|
||||
# Copyright (c) 2004-2020 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@@ -70,29 +70,25 @@ LC_ALL=C
|
||||
|
||||
# commands that this script expects
|
||||
for __cmd in echo pwd ; do
|
||||
out=`echo "test" | $__cmd 2>&1`
|
||||
echo "test" | $__cmd > /dev/null 2>&1
|
||||
if test ! x$? = x0 ; then
|
||||
echo "INTERNAL ERROR: $__cmd command is required"
|
||||
echo " (output was [$out])"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
out=`echo "test" | grep "test" 2>&1`
|
||||
echo "test" | grep "test" > /dev/null 2>&1
|
||||
if test ! x$? = x0 ; then
|
||||
echo "INTERNAL ERROR: grep command is required"
|
||||
echo " (output was [$out])"
|
||||
exit 1
|
||||
fi
|
||||
out=`echo "test" | tr "test" "test" 2>&1`
|
||||
echo "test" | tr "test" "test" > /dev/null 2>&1
|
||||
if test ! x$? = x0 ; then
|
||||
echo "INTERNAL ERROR: tr command is required"
|
||||
echo " (output was [$out])"
|
||||
exit 1
|
||||
fi
|
||||
out=`echo "test" | sed "s/test/test/" 2>&1`
|
||||
echo "test" | sed "s/test/test/" > /dev/null 2>&1
|
||||
if test ! x$? = x0 ; then
|
||||
echo "INTERNAL ERROR: sed command is required"
|
||||
echo " (output was [$out])"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -105,13 +101,6 @@ case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
|
||||
*) ECHO_N= ECHO_C='\c' ECHO_T= ;;
|
||||
esac
|
||||
|
||||
# Use a local cache
|
||||
BU_DIR_CACHE="`pwd`/cache-$$-benchmark"
|
||||
rm -rf $BU_DIR_CACHE && mkdir $BU_DIR_CACHE
|
||||
export BU_DIR_CACHE
|
||||
LIBRT_CACHE="`pwd`/rtcache-$$-benchmark"
|
||||
rm -rf $LIBRT_CACHE && mkdir $LIBRT_CACHE
|
||||
export LIBRT_CACHE
|
||||
|
||||
#######################
|
||||
# log to tty and file #
|
||||
@@ -402,14 +391,12 @@ fi
|
||||
|
||||
# where to write results
|
||||
LOGFILE=run-$$-benchmark.log
|
||||
if test -e $LOGFILE ; then
|
||||
echo "WARNING: $LOGFILE already exists. Appending."
|
||||
else
|
||||
touch "$LOGFILE"
|
||||
fi
|
||||
touch "$LOGFILE"
|
||||
if test ! -w "$LOGFILE" ; then
|
||||
echo "WARNING: Unable to log to $LOGFILE"
|
||||
LOGFILE=
|
||||
if test ! "x$LOGFILE" = "x/dev/null" ; then
|
||||
echo "ERROR: Unable to log to $LOGFILE"
|
||||
fi
|
||||
LOGFILE=/dev/null
|
||||
fi
|
||||
|
||||
VERBOSE_ECHO=:
|
||||
@@ -428,13 +415,7 @@ fi
|
||||
$ECHO "B R L - C A D B E N C H M A R K"
|
||||
$ECHO "================================="
|
||||
$ECHO "Running $THIS on `date`"
|
||||
if test "x$LOGFILE" != "x" ; then
|
||||
$ECHO "Logging output to $LOGFILE"
|
||||
elif test "x$QUIET" != "x" ; then
|
||||
$ECHO "Logging output to STDOUT"
|
||||
else
|
||||
$ECHO "Logging output is OFF"
|
||||
fi
|
||||
$ECHO "Logging output to $LOGFILE"
|
||||
$ECHO "`uname -a 2>&1`"
|
||||
$ECHO
|
||||
|
||||
@@ -603,11 +584,8 @@ else
|
||||
$ECHO "Using [$ELP] for ELP"
|
||||
fi
|
||||
|
||||
# stop git shell & msys2 arg manipulation
|
||||
export MSYS_NO_PATHCONV=1 MSYS2_ARG_CONV_EXCL="-F/dev/debug"
|
||||
|
||||
# sanity check: make sure $RT runs
|
||||
out=`eval \"$RT\" -s1 -F/dev/debug \"${DB}/moss.g\" LIGHT 2>&1`
|
||||
# more sanity checks, make sure the binaries and scripts run
|
||||
eval \"$RT\" -s1 -F/dev/debug \"${DB}/moss.g\" LIGHT > /dev/null 2>&1
|
||||
ret=$?
|
||||
if test ! "x${ret}" = "x0" ; then
|
||||
$ECHO
|
||||
@@ -615,27 +593,25 @@ if test ! "x${ret}" = "x0" ; then
|
||||
"$RT"
|
||||
$ECHO
|
||||
$ECHO "ERROR: RT does not seem to work as expected"
|
||||
$ECHO " (returned $ret, output was [$out])"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
# sanity check: make sure $CMP runs
|
||||
out=`eval \"$CMP\" - - 2>&1 <<EOF
|
||||
EOF`
|
||||
# create a temporary file named "null", fopen("/dev/null") does not work on
|
||||
# windows (using cygwin), so punt.
|
||||
> null
|
||||
eval \"$CMP\" null null >/dev/null 2>&1
|
||||
rm -f null
|
||||
|
||||
ret=$?
|
||||
if test ! "x${ret}" = "x0" ; then
|
||||
$ECHO
|
||||
$ECHO "ERROR: CMP does not seem to work as expected"
|
||||
$ECHO " (returned $ret, output was [$out])"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
# sanity check: make sure $ELP runs
|
||||
out=`eval \"$ELP\" 0 2>&1`
|
||||
eval \"$ELP\" 0 > /dev/null 2>&1
|
||||
if test ! "x${ret}" = "x0" ; then
|
||||
$ECHO
|
||||
$ECHO "ERROR: ELP does not seem to work as expected"
|
||||
$ECHO " (returned $ret, output was [$out])"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
@@ -695,8 +671,7 @@ $ECHO
|
||||
|
||||
|
||||
# if expr works, let the user know about how long this might take
|
||||
zero=`expr 1 - 1 2>&1`
|
||||
if test "x$zero" = "x0" ; then
|
||||
if test "x`expr 1 - 1 2>/dev/null`" = "x0" ; then
|
||||
mintime="`expr 6 \* $TIMEFRAME`"
|
||||
if test $mintime -lt 1 ; then
|
||||
mintime=0 # zero is okay
|
||||
@@ -718,7 +693,6 @@ if test "x$zero" = "x0" ; then
|
||||
$ECHO
|
||||
else
|
||||
$ECHO "WARNING: expr is unavailable, unable to compute statistics"
|
||||
$ECHO " (output of 1 - 1 was [$zero])"
|
||||
$ECHO
|
||||
fi
|
||||
|
||||
@@ -885,13 +859,13 @@ sqrt ( ) {
|
||||
if test "x$sqrt_number" = "x" ; then
|
||||
$ECHO "ERROR: cannot compute the square root of nothing" 1>&2
|
||||
exit 1
|
||||
elif test $sqrt_number -lt 0 ; then
|
||||
elif test $sqrt_number -lt 0 > /dev/null 2>&1 ; then
|
||||
$ECHO "ERROR: square root of negative numbers is only in your imagination" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sqrt_have_dc=yes
|
||||
out=`echo "1 1 + p" | dc 2>&1`
|
||||
echo "1 1 + p" | dc >/dev/null 2>&1
|
||||
if test ! x$? = x0 ; then
|
||||
sqrt_have_dc=no
|
||||
fi
|
||||
@@ -901,7 +875,7 @@ sqrt ( ) {
|
||||
sqrt_root=`echo "$sqrt_number v p" | dc`
|
||||
else
|
||||
sqrt_have_bc=yes
|
||||
out=`echo "1 + 1" | bc 2>&1`
|
||||
echo "1 + 1" | bc >/dev/null 2>&1
|
||||
if test ! "x$?" = "x0" ; then
|
||||
sqrt_have_bc=no
|
||||
fi
|
||||
@@ -1148,7 +1122,7 @@ EOF
|
||||
ls -la *.pix*
|
||||
fi
|
||||
$VERBOSE_ECHO "DEBUG: $CMP $PIX/${bench_testname}.pix ${bench_testname}.pix"
|
||||
cmp_result="`eval \\\"${CMP}\\\" \\\"${PIX}/${bench_testname}.pix\\\" ${bench_testname}.pix 2>&1 | grep pixels`"
|
||||
cmp_result="`eval \\\"${CMP}\\\" \\\"${PIX}/${bench_testname}.pix\\\" ${bench_testname}.pix 2>&1`"
|
||||
ret=$?
|
||||
|
||||
$ECHO "$cmp_result"
|
||||
@@ -1251,13 +1225,13 @@ perf ( ) {
|
||||
|
||||
# see if we have a calculator
|
||||
perf_have_dc=yes
|
||||
out=`echo "1 1 + p" | dc 2>&1`
|
||||
echo "1 1 + p" | dc >/dev/null 2>&1
|
||||
if test ! x$? = x0 ; then
|
||||
perf_have_dc=no
|
||||
fi
|
||||
|
||||
perf_have_bc=yes
|
||||
out=`echo "1 + 1" | bc 2>&1`
|
||||
echo "1 + 1" | bc >/dev/null 2>&1
|
||||
if test ! x$? = x0 ; then
|
||||
perf_have_bc=no
|
||||
fi
|
||||
@@ -1622,10 +1596,6 @@ else
|
||||
fi
|
||||
$ECHO
|
||||
|
||||
# Cleanup
|
||||
rm -rf "$BU_DIR_CACHE"
|
||||
rm -rf "$LIBRT_CACHE"
|
||||
|
||||
$ECHO "Output was saved to $LOGFILE from `pwd`"
|
||||
$ECHO "Benchmark testing complete."
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
# T R Y . S H
|
||||
# BRL-CAD
|
||||
#
|
||||
# Copyright (c) 2004-2025 United States Government as represented by
|
||||
# Copyright (c) 2004-2020 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
# V I E W D I F F . S H
|
||||
# BRL-CAD
|
||||
#
|
||||
# Copyright (c) 2004-2025 United States Government as represented by
|
||||
# Copyright (c) 2004-2020 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@@ -0,0 +1,209 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# This is a simple script to translate autotools style
|
||||
# configure options into CMake variables. The resulting
|
||||
# translation is then run as a CMake configure.
|
||||
|
||||
srcpath=$(dirname $0)
|
||||
options="$srcpath"
|
||||
while [ "$1" != "" ]
|
||||
do
|
||||
case $1
|
||||
in
|
||||
--enable-all) options="$options -DBRLCAD_BUNDLED_LIBS=BUNDLED";
|
||||
shift;;
|
||||
--disable-all) options="$options -DBRLCAD_BUNDLED_LIBS=SYSTEM";
|
||||
shift;;
|
||||
--enable-opengl) options="$options -DBRLCAD_ENABLE_OPENGL=ON";
|
||||
shift;;
|
||||
--disable-opengl) options="$options -DBRLCAD_ENABLE_OPENGL=OFF";
|
||||
shift;;
|
||||
--enable-runtime-debug) options="$options -DBRLCAD_ENABLE_RUNTIME_DEBUG=ON";
|
||||
shift;;
|
||||
--disable-runtime-debug) options="$options -DBRLCAD_ENABLE_RUNTIME_DEBUG=OFF";
|
||||
shift;;
|
||||
--enable-run-time-debug) options="$options -DBRLCAD_ENABLE_RUNTIME_DEBUG=ON";
|
||||
shift;;
|
||||
--disable-run-time-debug) options="$options -DBRLCAD_ENABLE_RUNTIME_DEBUG=OFF";
|
||||
shift;;
|
||||
--enable-runtime-debugging) options="$options -DBRLCAD_ENABLE_RUNTIME_DEBUG=ON";
|
||||
shift;;
|
||||
--disable-runtime-debugging) options="$options -DBRLCAD_ENABLE_RUNTIME_DEBUG=OFF";
|
||||
shift;;
|
||||
--enable-run-time-debugging) options="$options -DBRLCAD_ENABLE_RUNTIME_DEBUG=ON";
|
||||
shift;;
|
||||
--disable-run-time-debugging) options="$options -DBRLCAD_ENABLE_RUNTIME_DEBUG=OFF";
|
||||
shift;;
|
||||
--enable-debug) options="$options -DBRLCAD_FLAGS_DEBUG=ON";
|
||||
shift;;
|
||||
--disable-debug) options="$options -DBRLCAD_FLAGS_DEBUG=OFF";
|
||||
shift;;
|
||||
--enable-flags-debug) options="$options -DBRLCAD_FLAGS_DEBUG=ON";
|
||||
shift;;
|
||||
--disable-flags-debug) options="$options -DBRLCAD_FLAGS_DEBUG=OFF";
|
||||
shift;;
|
||||
--enable-debug-flags) options="$options -DBRLCAD_FLAGS_DEBUG=ON";
|
||||
shift;;
|
||||
--disable-debug-flags) options="$options -DBRLCAD_FLAGS_DEBUG=OFF";
|
||||
shift;;
|
||||
--enable-warnings) options="$options -DBRLCAD_ENABLE_COMPILER_WARNINGS=ON";
|
||||
shift;;
|
||||
--disable-warnings) options="$options -DBRLCAD_ENABLE_COMPILER_WARNINGS=OFF";
|
||||
shift;;
|
||||
--enable-compiler-warnings) options="$options -DBRLCAD_ENABLE_COMPILER_WARNINGS=ON";
|
||||
shift;;
|
||||
--disable-compiler-warnings) options="$options -DBRLCAD_ENABLE_COMPILER_WARNINGS=OFF";
|
||||
shift;;
|
||||
--enable-strict) options="$options -DBRLCAD_ENABLE_STRICT=ON";
|
||||
shift;;
|
||||
--disable-strict) options="$options -DBRLCAD_ENABLE_STRICT=OFF";
|
||||
shift;;
|
||||
--enable-strict-compile) options="$options -DBRLCAD_ENABLE_STRICT=ON";
|
||||
shift;;
|
||||
--disable-strict-compile) options="$options -DBRLCAD_ENABLE_STRICT=OFF";
|
||||
shift;;
|
||||
--enable-strict-compile-flags) options="$options -DBRLCAD_ENABLE_STRICT=ON";
|
||||
shift;;
|
||||
--disable-strict-compile-flags) options="$options -DBRLCAD_ENABLE_STRICT=OFF";
|
||||
shift;;
|
||||
--enable-all-cxx) options="$options -DENABLE_ALL_CXX_COMPILE=ON";
|
||||
shift;;
|
||||
--disable-all-cxx) options="$options -DENABLE_ALL_CXX_COMPILE=OFF";
|
||||
shift;;
|
||||
--enable-docs) options="$options -DBRLCAD_EXTRADOCS=ON";
|
||||
shift;;
|
||||
--disable-docs) options="$options -DBRLCAD_EXTRADOCS=OFF";
|
||||
shift;;
|
||||
--enable-extra-docs) options="$options -DBRLCAD_EXTRADOCS=ON";
|
||||
shift;;
|
||||
--disable-extra-docs) options="$options -DBRLCAD_EXTRADOCS=OFF";
|
||||
shift;;
|
||||
--enable-docbook) options="$options -DBRLCAD_EXTRADOCS=ON";
|
||||
shift;;
|
||||
--disable-docbook) options="$options -DBRLCAD_EXTRADOCS=OFF";
|
||||
shift;;
|
||||
--enable-lemon) options="$options -DBRLCAD_LEMON=BUNDLED";
|
||||
shift;;
|
||||
--disable-lemon) options="$options -DBRLCAD_LEMON=SYSTEM";
|
||||
shift;;
|
||||
--enable-re2c) options="$options -DBRLCAD_RE2C=BUNDLED";
|
||||
shift;;
|
||||
--disable-re2c) options="$options -DBRLCAD_RE2C=SYSTEM";
|
||||
shift;;
|
||||
--enable-perplex) options="$options -DBRLCAD_PERPLEX=BUNDLED";
|
||||
shift;;
|
||||
--disable-perplex) options="$options -DBRLCAD_PERPLEX=SYSTEM";
|
||||
shift;;
|
||||
--enable-astyle) options="$options -DBRLCAD_ASTYLE=BUNDLED";
|
||||
shift;;
|
||||
--disable-astyle) options="$options -DBRLCAD_ASTYLE=SYSTEM";
|
||||
shift;;
|
||||
--enable-xsltproc) options="$options -DBRLCAD_XSLTPROC=BUNDLED";
|
||||
shift;;
|
||||
--disable-xsltproc) options="$options -DBRLCAD_XSLTPROC=SYSTEM";
|
||||
shift;;
|
||||
--enable-xmllint) options="$options -DBRLCAD_XMLLINT=BUNDLED";
|
||||
shift;;
|
||||
--disable-xmllint) options="$options -DBRLCAD_XMLLINT=SYSTEM";
|
||||
shift;;
|
||||
--enable-regex) options="$options -DBRLCAD_REGEX=BUNDLED";
|
||||
shift;;
|
||||
--disable-regex) options="$options -DBRLCAD_REGEX=SYSTEM";
|
||||
shift;;
|
||||
--enable-zlib) options="$options -DBRLCAD_ZLIB=BUNDLED";
|
||||
shift;;
|
||||
--disable-zlib) options="$options -DBRLCAD_ZLIB=SYSTEM";
|
||||
shift;;
|
||||
--enable-libz) options="$options -DBRLCAD_ZLIB=BUNDLED";
|
||||
shift;;
|
||||
--disable-libz) options="$options -DBRLCAD_ZLIB=SYSTEM";
|
||||
shift;;
|
||||
--enable-png) options="$options -DBRLCAD_PNG=BUNDLED";
|
||||
shift;;
|
||||
--disable-png) options="$options -DBRLCAD_PNG=SYSTEM";
|
||||
shift;;
|
||||
--enable-netpbm) options="$options -DBRLCAD_NETPBM=BUNDLED";
|
||||
shift;;
|
||||
--disable-netpbm) options="$options -DBRLCAD_NETPBM=SYSTEM";
|
||||
shift;;
|
||||
--enable-utahrle) options="$options -DBRLCAD_UTAHRLE=BUNDLED";
|
||||
shift;;
|
||||
--disable-utahrle) options="$options -DBRLCAD_UTAHRLE=SYSTEM";
|
||||
shift;;
|
||||
--enable-tcl) options="$options -DBRLCAD_TCL=BUNDLED";
|
||||
shift;;
|
||||
--disable-tcl) options="$options -DBRLCAD_TCL=SYSTEM";
|
||||
shift;;
|
||||
--enable-tk) options="$options -DBRLCAD_TK=BUNDLED";
|
||||
shift;;
|
||||
--disable-tk) options="$options -DBRLCAD_TK=SYSTEM";
|
||||
shift;;
|
||||
--enable-itcl) options="$options -DBRLCAD_ITCL=BUNDLED";
|
||||
shift;;
|
||||
--disable-itcl) options="$options -DBRLCAD_ITCL=SYSTEM";
|
||||
shift;;
|
||||
--enable-itk) options="$options -DBRLCAD_ITK=BUNDLED";
|
||||
shift;;
|
||||
--disable-itk) options="$options -DBRLCAD_ITK=SYSTEM";
|
||||
shift;;
|
||||
--enable-iwidgets) options="$options -DBRLCAD_IWIDGETS=BUNDLED";
|
||||
shift;;
|
||||
--disable-iwidgets) options="$options -DBRLCAD_IWIDGETS=SYSTEM";
|
||||
shift;;
|
||||
--enable-tkhtml) options="$options -DBRLCAD_TKHTML=BUNDLED";
|
||||
shift;;
|
||||
--disable-tkhtml) options="$options -DBRLCAD_TKHTML=SYSTEM";
|
||||
shift;;
|
||||
--enable-tktable) options="$options -DBRLCAD_TKTABLE=BUNDLED";
|
||||
shift;;
|
||||
--disable-tktable) options="$options -DBRLCAD_TKTABLE=SYSTEM";
|
||||
shift;;
|
||||
--enable-opennurbs) options="$options -DBRLCAD_OPENNURBS=BUNDLED";
|
||||
shift;;
|
||||
--disable-opennurbs) options="$options -DBRLCAD_OPENNURBS=SYSTEM";
|
||||
shift;;
|
||||
--enable-spsr) options="$options -DBRLCAD_SPSR=BUNDLED";
|
||||
shift;;
|
||||
--disable-spsr) options="$options -DBRLCAD_SPSR=SYSTEM";
|
||||
shift;;
|
||||
--enable-scl) options="$options -DBRLCAD_SC=BUNDLED";
|
||||
shift;;
|
||||
--disable-scl) options="$options -DBRLCAD_SC=SYSTEM";
|
||||
shift;;
|
||||
--enable-step) options="$options -DBRLCAD_SC=BUNDLED";
|
||||
shift;;
|
||||
--disable-step) options="$options -DBRLCAD_SC=SYSTEM";
|
||||
shift;;
|
||||
--enable-step-class-libraries) options="$options -DBRLCAD_SC=BUNDLED";
|
||||
shift;;
|
||||
--disable-step-class-libraries) options="$options -DBRLCAD_SC=SYSTEM";
|
||||
shift;;
|
||||
--enable-vds) options="$options -DBRLCAD_VDS=BUNDLED";
|
||||
shift;;
|
||||
--disable-vds) options="$options -DBRLCAD_VDS=SYSTEM";
|
||||
shift;;
|
||||
--enable-openscenegraph) options="$options -DBRLCAD_OSG=BUNDLED";
|
||||
shift;;
|
||||
--disable-openscenegraph) options="$options -DBRLCAD_OSG=SYSTEM";
|
||||
shift;;
|
||||
--enable-gdiam) options="$options -DBRLCAD_GDIAM=BUNDLED";
|
||||
shift;;
|
||||
--disable-gdiam) options="$options -DBRLCAD_GDIAM=SYSTEM";
|
||||
shift;;
|
||||
--enable-proj4) options="$options -DBRLCAD_PROJ4=BUNDLED";
|
||||
shift;;
|
||||
--disable-proj4) options="$options -DBRLCAD_PROJ4=SYSTEM";
|
||||
shift;;
|
||||
--enable-gdal) options="$options -DBRLCAD_GDAL=BUNDLED";
|
||||
shift;;
|
||||
--disable-gdal) options="$options -DBRLCAD_GDAL=SYSTEM";
|
||||
shift;;
|
||||
--prefix=*) inputstr=$1;
|
||||
options="$options -DCMAKE_INSTALL_PREFIX=${inputstr#--prefix=}";
|
||||
shift;;
|
||||
*) echo "Warning: unknown option $1";
|
||||
shift;;
|
||||
esac
|
||||
done
|
||||
echo cmake $options
|
||||
cmake $options
|
||||
Binary file not shown.
+91
-158
@@ -1,17 +1,28 @@
|
||||
function(G_TARGET in_model folder)
|
||||
# There is quite a bit of shared logic for the various converters when it comes
|
||||
# to building .g outputs, so we use a single function to manage the process and
|
||||
# handle format-specific bits internally. TODO - we probably need to add
|
||||
# optional argument support here later to support (say) specifying a specific
|
||||
# COMGEOM or STEP format version...
|
||||
|
||||
function(ADD_G_TARGET in_model folder)
|
||||
|
||||
# Initialize
|
||||
set(MODEL_TYPE "UNKNOWN")
|
||||
|
||||
# Regardless of what we decide, let CMake know about the file
|
||||
cmakefiles(${CMAKE_CURRENT_SOURCE_DIR}/${in_model})
|
||||
# Get our root path
|
||||
if(CMAKE_CONFIGURATION_TYPES)
|
||||
set(bin_root "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}")
|
||||
else(CMAKE_CONFIGURATION_TYPES)
|
||||
set(bin_root "${CMAKE_BINARY_DIR}")
|
||||
endif(CMAKE_CONFIGURATION_TYPES)
|
||||
|
||||
# Find our conversion type
|
||||
set(model_types "3dm;asc;comgeom;fg4;stp")
|
||||
foreach(mt ${model_types})
|
||||
if("${MODEL_TYPE}" STREQUAL "UNKNOWN")
|
||||
if("${in_model}" MATCHES ".${mt}$")
|
||||
set(MODEL_TYPE "${mt}")
|
||||
string(REGEX REPLACE "([0-9a-z]*).${mt}" "\\1" in_model_root "${in_model}")
|
||||
set(MODEL_TYPE "${mt}")
|
||||
string(REGEX REPLACE "([0-9a-z]*).${mt}" "\\1" in_model_root "${in_model}")
|
||||
endif("${in_model}" MATCHES ".${mt}$")
|
||||
endif("${MODEL_TYPE}" STREQUAL "UNKNOWN")
|
||||
endforeach(mt ${model_types})
|
||||
@@ -19,128 +30,97 @@ function(G_TARGET in_model folder)
|
||||
message(FATAL_ERROR "Unable to identify input model type for file ${in_model}")
|
||||
endif("${MODEL_TYPE}" STREQUAL "UNKNOWN")
|
||||
|
||||
# Make sure variables are set up for configure_file
|
||||
set(in_model_root "${in_model_root}")
|
||||
|
||||
# Find our output file and path
|
||||
string(REPLACE "${CMAKE_SOURCE_DIR}/" "" rel_dir "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
set(output_file ${DATA_DIR}/${rel_dir}/${in_model_root}.g)
|
||||
set(log_file ${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.log)
|
||||
|
||||
# Make sure the output db target directory is there
|
||||
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/${DATA_DIR}/${rel_dir}")
|
||||
# Make sure the output db target directories are there
|
||||
if(CMAKE_CONFIGURATION_TYPES)
|
||||
foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
|
||||
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/${CFG_TYPE}/${DATA_DIR}/${rel_dir}")
|
||||
endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
|
||||
else(CMAKE_CONFIGURATION_TYPES)
|
||||
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/${DATA_DIR}/${rel_dir}")
|
||||
endif(CMAKE_CONFIGURATION_TYPES)
|
||||
|
||||
# Rhino 3DM file
|
||||
#############################################################################
|
||||
# Build logic
|
||||
#############################################################################
|
||||
|
||||
# The 3DM conversion is rather different than the general pattern at the
|
||||
# moment (However, the 3dm approach is probably the "wave of the future" in
|
||||
# the sense that it uses libgcv...)
|
||||
if(${MODEL_TYPE} STREQUAL "3dm")
|
||||
if(NOT TARGET 3dm-g)
|
||||
return()
|
||||
endif(NOT TARGET 3dm-g)
|
||||
set(CONV_ARGS "-o \"${CMAKE_BINARY_DIR}/${output_file}\" \"${CMAKE_CURRENT_SOURCE_DIR}/${in_model}\"")
|
||||
configure_file("${CMAKE_SOURCE_DIR}/db/to_g.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake" @ONLY)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake")
|
||||
# Custom command to generate the output
|
||||
|
||||
set(INPUT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${in_model}")
|
||||
set(OUTPUT_FILE "${output_file}")
|
||||
# Use the model name for the script, since the output file is specific to this input
|
||||
configure_file("${CMAKE_SOURCE_DIR}/db/conv_run.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake" @ONLY)
|
||||
|
||||
# Define the target
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_BINARY_DIR}/${output_file}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove "${CMAKE_BINARY_DIR}/${output_file}"
|
||||
OUTPUT ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file}
|
||||
COMMAND ${CMAKE_COMMAND} -DEXEC=$<TARGET_FILE:3dm-g> -P "${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake"
|
||||
DEPENDS 3dm-g ${CMAKE_CURRENT_SOURCE_DIR}/${in_model}
|
||||
)
|
||||
)
|
||||
|
||||
endif(${MODEL_TYPE} STREQUAL "3dm")
|
||||
|
||||
# BRL-CAD ASCII database
|
||||
# The rest of the conversions follow the simpler/older pattern:
|
||||
|
||||
if(${MODEL_TYPE} STREQUAL "asc")
|
||||
set(CONV_ARGS "\"${CMAKE_CURRENT_SOURCE_DIR}/${in_model}\" \"${CMAKE_BINARY_DIR}/${output_file}\"")
|
||||
configure_file("${CMAKE_SOURCE_DIR}/db/to_g.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake" @ONLY)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake")
|
||||
if(BRLCAD_ENABLE_TCL)
|
||||
if(NOT TARGET asc2g)
|
||||
return()
|
||||
endif(NOT TARGET asc2g)
|
||||
# Custom command to generate the output
|
||||
if (BRLCAD_ENABLE_TCL)
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_BINARY_DIR}/${output_file}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/${output_file}
|
||||
COMMAND ${CMAKE_COMMAND} -DEXEC=$<TARGET_FILE:asc2g> -P "${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake"
|
||||
DEPENDS asc2g "${CMAKE_CURRENT_SOURCE_DIR}/${in_model}"
|
||||
)
|
||||
else(BRLCAD_ENABLE_TCL)
|
||||
if(NOT TARGET gcv)
|
||||
return()
|
||||
endif(NOT TARGET gcv)
|
||||
# Custom command to generate the output
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_BINARY_DIR}/${output_file}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/${output_file}
|
||||
COMMAND ${CMAKE_COMMAND} -DEXEC=$<TARGET_FILE:gcv> -P "${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake"
|
||||
DEPENDS gcv "${CMAKE_CURRENT_SOURCE_DIR}/${in_model}"
|
||||
)
|
||||
endif(BRLCAD_ENABLE_TCL)
|
||||
OUTPUT ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file}
|
||||
COMMAND asc2g "${CMAKE_CURRENT_SOURCE_DIR}/${in_model}" ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file}
|
||||
DEPENDS asc2g "${CMAKE_CURRENT_SOURCE_DIR}/${in_model}"
|
||||
)
|
||||
endif (BRLCAD_ENABLE_TCL)
|
||||
endif(${MODEL_TYPE} STREQUAL "asc")
|
||||
|
||||
# COMGEOM (pre BRL-CAD Geometry Information For Targets (GIFT) files)
|
||||
if(${MODEL_TYPE} STREQUAL "comgeom")
|
||||
if(NOT TARGET comgeom-g)
|
||||
return()
|
||||
endif(NOT TARGET comgeom-g)
|
||||
set(CONV_ARGS "-v 5 \"${CMAKE_CURRENT_SOURCE_DIR}/${in_model}\" \"${CMAKE_BINARY_DIR}/${output_file}\"")
|
||||
configure_file("${CMAKE_SOURCE_DIR}/db/to_g.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake" @ONLY)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake")
|
||||
# Custom command to generate the output
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_BINARY_DIR}/${output_file}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove "${CMAKE_BINARY_DIR}/${output_file}"
|
||||
COMMAND ${CMAKE_COMMAND} -DEXEC=$<TARGET_FILE:comgeom-g> -P "${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake"
|
||||
OUTPUT ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file}
|
||||
COMMAND comgeom-g -v 5 ${CMAKE_CURRENT_SOURCE_DIR}/${in_model} ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file} > ${log_file} 2>&1
|
||||
DEPENDS comgeom-g ${CMAKE_CURRENT_SOURCE_DIR}/${in_model}
|
||||
)
|
||||
)
|
||||
endif(${MODEL_TYPE} STREQUAL "comgeom")
|
||||
|
||||
# FASTGEN 4
|
||||
if(${MODEL_TYPE} STREQUAL "fg4")
|
||||
if(NOT TARGET fast4-g)
|
||||
return()
|
||||
endif(NOT TARGET fast4-g)
|
||||
set(CONV_ARGS "\"${CMAKE_CURRENT_SOURCE_DIR}/${in_model}\" \"${CMAKE_BINARY_DIR}/${output_file}\"")
|
||||
configure_file("${CMAKE_SOURCE_DIR}/db/to_g.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake" @ONLY)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake")
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_BINARY_DIR}/${output_file}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove "${CMAKE_BINARY_DIR}/${output_file}"
|
||||
COMMAND ${CMAKE_COMMAND} -DEXEC=$<TARGET_FILE:fast4-g> -P "${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake"
|
||||
OUTPUT ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file}
|
||||
COMMAND fast4-g ${CMAKE_CURRENT_SOURCE_DIR}/${in_model} ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file} > ${log_file} 2>&1
|
||||
DEPENDS fast4-g ${CMAKE_CURRENT_SOURCE_DIR}/${in_model}
|
||||
)
|
||||
)
|
||||
endif(${MODEL_TYPE} STREQUAL "fg4")
|
||||
|
||||
# STEP AP203
|
||||
if(${MODEL_TYPE} STREQUAL "stp")
|
||||
if(NOT TARGET step-g)
|
||||
return()
|
||||
endif(NOT TARGET step-g)
|
||||
set(CONV_ARGS "-O \"${CMAKE_BINARY_DIR}/${output_file}\" \"${CMAKE_CURRENT_SOURCE_DIR}/${in_model}\"")
|
||||
configure_file("${CMAKE_SOURCE_DIR}/db/to_g.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake" @ONLY)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake")
|
||||
# Custom command to generate the output
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_BINARY_DIR}/${output_file}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove "${CMAKE_BINARY_DIR}/${output_file}"
|
||||
COMMAND ${CMAKE_COMMAND} -DEXEC=$<TARGET_FILE:step-g> -P "${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake"
|
||||
OUTPUT ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file}
|
||||
COMMAND step-g -O ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file} ${CMAKE_CURRENT_SOURCE_DIR}/${in_model} > ${log_file} 2>&1
|
||||
DEPENDS step-g ${CMAKE_CURRENT_SOURCE_DIR}/${in_model}
|
||||
)
|
||||
)
|
||||
endif(${MODEL_TYPE} STREQUAL "stp")
|
||||
|
||||
# If we got this far, do the target, install and clean-up rules
|
||||
add_custom_target(${in_model_root}.g ALL DEPENDS ${CMAKE_BINARY_DIR}/${output_file})
|
||||
set_target_properties(${in_model_root}.g PROPERTIES FOLDER "${folder}")
|
||||
if(NOT ${MODEL_TYPE} STREQUAL "asc" OR BRLCAD_ENABLE_TCL)
|
||||
add_custom_target(${in_model_root}.g ALL DEPENDS ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file})
|
||||
set_target_properties(${in_model_root}.g PROPERTIES FOLDER "${folder}")
|
||||
|
||||
if(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
|
||||
install(FILES ${CMAKE_BINARY_DIR}/${output_file} DESTINATION ${DATA_DIR}/${rel_dir})
|
||||
endif(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
|
||||
# Install logic
|
||||
if(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
|
||||
install(FILES ${CMAKE_CURRENT_BUILD_DIR_INSTALL}/${output_file} DESTINATION ${DATA_DIR}/${rel_dir})
|
||||
endif(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
|
||||
|
||||
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${log_file}")
|
||||
distclean("${log_file}")
|
||||
endfunction(G_TARGET in_model folder)
|
||||
# Clean-up
|
||||
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${log_file}")
|
||||
DISTCLEAN("${log_file}")
|
||||
endif(NOT ${MODEL_TYPE} STREQUAL "asc" OR BRLCAD_ENABLE_TCL)
|
||||
|
||||
set(
|
||||
G_BENCHMARK_MODELS
|
||||
endfunction(ADD_G_TARGET in_model folder)
|
||||
|
||||
set(G_BENCHMARK_MODELS
|
||||
bldg391.asc
|
||||
m35.asc
|
||||
moss.asc
|
||||
@@ -149,10 +129,8 @@ set(
|
||||
world.asc
|
||||
)
|
||||
|
||||
set(
|
||||
G_SAMPLE_MODELS
|
||||
set(G_SAMPLE_MODELS
|
||||
aet.asc
|
||||
annual_gift_man.asc
|
||||
axis.asc
|
||||
bearing.asc
|
||||
boolean-ops.asc
|
||||
@@ -173,15 +151,11 @@ set(
|
||||
operators.asc
|
||||
pic.asc
|
||||
pinewood.asc
|
||||
primitives.asc
|
||||
prim.asc
|
||||
radialgrid.asc
|
||||
rounds.asc
|
||||
shipping_container.asc
|
||||
tank_car.asc
|
||||
terra.asc
|
||||
toyjeep.asc
|
||||
traffic_light.asc
|
||||
truck.asc
|
||||
wave.asc
|
||||
woodsman.asc
|
||||
@@ -193,105 +167,64 @@ add_subdirectory(nist)
|
||||
add_subdirectory(faa)
|
||||
|
||||
foreach(g_input ${G_BENCHMARK_MODELS})
|
||||
g_target(${g_input} "BRL-CAD Geometry Models/Benchmark")
|
||||
ADD_G_TARGET(${g_input} "BRL-CAD Geometry Models/Benchmark")
|
||||
endforeach(g_input ${G_BENCHMARK_MODELS})
|
||||
|
||||
foreach(g_input ${G_SAMPLE_MODELS})
|
||||
g_target(${g_input} "BRL-CAD Geometry Models/Sample")
|
||||
ADD_G_TARGET(${g_input} "BRL-CAD Geometry Models/Sample")
|
||||
endforeach(g_input ${G_SAMPLE_MODELS})
|
||||
|
||||
if(BRLCAD_INSTALL_EXAMPLE_GEOMETRY AND TARGET gcv)
|
||||
brlcad_adddata(1647260.dsp db)
|
||||
brlcad_adddata(ebm_logo.bw db)
|
||||
brlcad_adddata(terra.bin db)
|
||||
brlcad_adddata(vol_data.bw db)
|
||||
endif(BRLCAD_INSTALL_EXAMPLE_GEOMETRY AND TARGET gcv)
|
||||
if(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
|
||||
BRLCAD_ADDDATA(terra.dsp db)
|
||||
endif(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
|
||||
|
||||
if(SH_EXEC)
|
||||
if(TARGET mged OR TARGET gcv)
|
||||
set(conversion_g_files)
|
||||
set(conversion_g_files_fp)
|
||||
set(conversion_deps_list)
|
||||
set(conversion_g_files)
|
||||
set(conversion_g_files_fp)
|
||||
set(conversion_deps_list)
|
||||
|
||||
if (BRLCAD_ENABLE_TCL)
|
||||
macro(Sh_Conversion_Test gfile depends_list)
|
||||
if(TARGET mged)
|
||||
add_custom_target(
|
||||
convert-${gfile}
|
||||
COMMAND
|
||||
${SH_EXEC} ${CMAKE_SOURCE_DIR}/sh/conversion.sh GED=$<TARGET_FILE:mged>
|
||||
${CMAKE_BINARY_DIR}/${DATA_DIR}/db/${gfile}
|
||||
)
|
||||
else()
|
||||
add_custom_target(
|
||||
convert-${gfile}
|
||||
COMMAND
|
||||
${SH_EXEC} ${CMAKE_SOURCE_DIR}/sh/conversion.sh GED=$<TARGET_FILE:gcv>
|
||||
${CMAKE_BINARY_DIR}/${DATA_DIR}/db/${gfile}
|
||||
)
|
||||
endif(TARGET mged)
|
||||
add_custom_target(convert-${gfile} COMMAND ${SH_EXEC} ${CMAKE_SOURCE_DIR}/sh/conversion.sh GED=$<TARGET_FILE:mged> ${CMAKE_BINARY_DIR}/${DATA_DIR}/db/${gfile})
|
||||
set_target_properties(convert-${gfile} PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD 1)
|
||||
set_target_properties(convert-${gfile} PROPERTIES FOLDER "BRL-CAD Conversion Tests")
|
||||
set(conversion_g_files ${conversion_g_files} ${gfile})
|
||||
if(NOT "${depends_list}" STREQUAL "")
|
||||
add_dependencies(convert-${gfile} ${depends_list})
|
||||
set(conversion_deps_list ${conversion_deps_list} ${depends_list})
|
||||
add_dependencies(convert-${gfile} ${depends_list})
|
||||
set(conversion_deps_list ${conversion_deps_list} ${depends_list})
|
||||
endif(NOT "${depends_list}" STREQUAL "")
|
||||
endmacro(Sh_Conversion_Test)
|
||||
|
||||
foreach(g_input ${G_BENCHMARK_MODELS})
|
||||
get_filename_component(GROOT "${g_input}" NAME_WE)
|
||||
if(TARGET mged)
|
||||
sh_conversion_test(${GROOT}.g "mged")
|
||||
else()
|
||||
sh_conversion_test(${GROOT}.g "gcv")
|
||||
endif(TARGET mged)
|
||||
Sh_Conversion_Test(${GROOT}.g "mged")
|
||||
endforeach(g_input ${G_BENCHMARK_MODELS})
|
||||
foreach(g_input ${G_SAMPLE_MODELS})
|
||||
get_filename_component(GROOT "${g_input}" NAME_WE)
|
||||
if(TARGET mged)
|
||||
sh_conversion_test(${GROOT}.g "mged")
|
||||
else()
|
||||
sh_conversion_test(${GROOT}.g "gcv")
|
||||
endif(TARGET mged)
|
||||
Sh_Conversion_Test(${GROOT}.g "mged")
|
||||
endforeach(g_input ${G_SAMPLE_MODELS})
|
||||
|
||||
list(REMOVE_DUPLICATES conversion_deps_list)
|
||||
foreach(gfile ${conversion_g_files})
|
||||
set(conversion_g_files_fp ${conversion_g_files_fp} "${CMAKE_BINARY_DIR}/${DATA_DIR}/db/${gfile}")
|
||||
endforeach(gfile ${conversion_g_files})
|
||||
if(TARGET mged)
|
||||
add_custom_target(
|
||||
convert
|
||||
COMMAND ${SH_EXEC} ${CMAKE_SOURCE_DIR}/sh/conversion.sh GED=$<TARGET_FILE:mged> ${conversion_g_files_fp}
|
||||
)
|
||||
else()
|
||||
add_custom_target(
|
||||
convert
|
||||
COMMAND ${SH_EXEC} ${CMAKE_SOURCE_DIR}/sh/conversion.sh GED=$<TARGET_FILE:gcv> ${conversion_g_files_fp}
|
||||
)
|
||||
endif(TARGET mged)
|
||||
add_custom_target(convert COMMAND ${SH_EXEC} ${CMAKE_SOURCE_DIR}/sh/conversion.sh GED=$<TARGET_FILE:mged> ${conversion_g_files_fp})
|
||||
set_target_properties(convert PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD 1)
|
||||
set_target_properties(convert PROPERTIES FOLDER "BRL-CAD Conversion Tests")
|
||||
add_dependencies(convert ${conversion_deps_list})
|
||||
endif(TARGET mged OR TARGET gcv)
|
||||
endif (BRLCAD_ENABLE_TCL)
|
||||
endif(SH_EXEC)
|
||||
|
||||
cmakefiles(
|
||||
CMAKEFILES(
|
||||
${G_BENCHMARK_MODELS}
|
||||
${G_SAMPLE_MODELS}
|
||||
1647260.dsp
|
||||
CMakeLists.txt
|
||||
aet.rt
|
||||
cornell.rt
|
||||
cube.rt
|
||||
db.php
|
||||
ebm_logo.bw
|
||||
include/ctype.inc
|
||||
include/debug.inc
|
||||
terra.bin
|
||||
to_g.cmake.in
|
||||
traffic_light.rt
|
||||
vol_data.bw
|
||||
)
|
||||
|
||||
# Local Variables:
|
||||
|
||||
@@ -1,191 +0,0 @@
|
||||
title {Annual Gift Man}
|
||||
units in
|
||||
put {body.black.s1} arb8 V1 {228.5999999999999658939487 -228.5999999999999658939487 88.89999999999999147348717} V2 {228.5999999999999658939487 228.5999999999999658939487 88.89999999999999147348717} V3 {228.5999999999999658939487 228.5999999999999658939487 63.49999999999999289457264} V4 {228.5999999999999658939487 -228.5999999999999658939487 63.49999999999999289457264} V5 {-228.5999999999999658939487 -228.5999999999999658939487 88.89999999999999147348717} V6 {-228.5999999999999658939487 228.5999999999999658939487 88.89999999999999147348717} V7 {-228.5999999999999658939487 228.5999999999999658939487 63.49999999999999289457264} V8 {-228.5999999999999658939487 -228.5999999999999658939487 63.49999999999999289457264}
|
||||
put {body.gold.s2} arb8 V1 {228.5999999999999658939487 -38.10000000000000852651283 88.89999999999994884092303} V2 {228.5999999999999658939487 38.10000000000000852651283 88.89999999999994884092303} V3 {228.5999999999999658939487 38.10000000000000852651283 63.49999999999998578914528} V4 {228.5999999999999658939487 -38.10000000000000852651283 63.49999999999998578914528} V5 {177.7999999999999545252649 -38.10000000000000852651283 88.89999999999994884092303} V6 {177.7999999999999545252649 38.10000000000000852651283 88.89999999999994884092303} V7 {177.7999999999999545252649 38.10000000000000852651283 63.49999999999998578914528} V8 {177.7999999999999545252649 -38.10000000000000852651283 63.49999999999998578914528}
|
||||
put {body.gold.s1} arb8 V1 {228.5999999999999943156581 -50.80000000000000426325641 101.5999999999999801048034} V2 {228.5999999999999943156581 50.80000000000000426325641 101.5999999999999801048034} V3 {228.5999999999999943156581 50.80000000000000426325641 50.79999999999999715782906} V4 {228.5999999999999943156581 -50.80000000000000426325641 50.79999999999999715782906} V5 {177.8000000000000113686838 -50.80000000000000426325641 101.5999999999999801048034} V6 {177.8000000000000113686838 50.80000000000000426325641 101.5999999999999801048034} V7 {177.8000000000000113686838 50.80000000000000426325641 50.79999999999999715782906} V8 {177.8000000000000113686838 -50.80000000000000426325641 50.79999999999999715782906}
|
||||
put {body.gold.c} comb region no tree {- {l body.gold.s1} {l body.gold.s2}}
|
||||
put {missile2.s2} tgc V {-117.4750000000000227373675 -277.8124999999999431565811 12.70000000000000284217094} H {-3.110602869834276865189663E-15 0 -25.39999999999999857891453} A {0 9.524999999999998578914528 0} B {-9.524999999999998578914528 0 1.166476076187853824446124E-15} C {0 0.8255000000000000115463195 0} D {-0.8255000000000000115463195 0 1.010945932696140237566435E-16}
|
||||
put {missile1.s2} tgc V {-117.4749999999999943156581 277.8124999999999431565811 12.70000000000000284217094} H {-3.110602869834276865189663E-15 0 -25.39999999999999857891453} A {0 -9.524999999999998578914528 0} B {-9.524999999999998578914528 0 1.166476076187853824446124E-15} C {0 -0.8255000000000000115463195 0} D {-0.8255000000000000115463195 0 1.010945932696140237566435E-16}
|
||||
put {missile2.s1} tgc V {-117.4750000000000227373675 -277.8124999999999431565811 12.70000000000000284217094} H {0 0 101.5999999999999943156581} A {0 9.524999999999998578914528 0} B {9.524999999999998578914528 0 0} C {0 9.524999999999998578914528 0} D {9.524999999999998578914528 0 0}
|
||||
put {missile1.s1} tgc V {-117.4749999999999943156581 277.8124999999999431565811 12.70000000000000284217094} H {0 0 101.5999999999999943156581} A {0 -9.524999999999998578914528 0} B {9.524999999999998578914528 0 0} C {0 -9.524999999999998578914528 0} D {9.524999999999998578914528 0 0}
|
||||
put {rt_leg.s1i2} arb8 V1 {25.40000000000000568434189 -98.42500000000002557953849 -241.2999999999999829469743} V2 {25.40000000000000213162821 -104.7750000000000198951966 -241.2999999999999829469743} V3 {25.40000000000000213162821 -104.7750000000000198951966 -12.7000000000000010658141} V4 {25.40000000000000568434189 -98.42500000000002557953849 -12.7000000000000010658141} V5 {-76.20000000000003126388037 -98.42500000000001136868377 -241.2999999999999829469743} V6 {-76.20000000000003126388037 -104.7750000000000056843419 -241.2999999999999829469743} V7 {-76.20000000000003126388037 -104.7750000000000056843419 -12.7000000000000010658141} V8 {-76.20000000000003126388037 -98.42500000000001136868377 -12.7000000000000010658141}
|
||||
put {lt_leg.s1i2} arb8 V1 {25.40000000000001634248292 98.42500000000002557953849 -241.2999999999999829469743} V2 {25.40000000000001634248292 104.7750000000000198951966 -241.2999999999999829469743} V3 {25.40000000000001634248292 104.7750000000000198951966 -12.7000000000000010658141} V4 {25.40000000000001634248292 98.42500000000002557953849 -12.7000000000000010658141} V5 {-76.20000000000001705302566 98.42500000000002557953849 -241.2999999999999829469743} V6 {-76.20000000000001705302566 104.7750000000000198951966 -241.2999999999999829469743} V7 {-76.20000000000001705302566 104.7750000000000198951966 -12.7000000000000010658141} V8 {-76.20000000000001705302566 98.42500000000002557953849 -12.7000000000000010658141}
|
||||
put {mustache.r} comb region yes tree {n {- {l head.s8} {l head.s1}} {l head.s8i}}
|
||||
attr set {mustache.r} {region} {R} {region_id} {1037} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {button.s6a} tgc V {-228.600000000000051159077 -126.9999999999999715782906 38.10000000000002273736754} H {317.5978069738537215016549 0 328.8821567148312965400692} A {11.41951933037608313270539 0 -11.02770163103658696002185} B {0 -15.87500000000000177635684 0} C {11.41951933037608490906223 0 -11.02770163103658873637869} D {0 -15.87500000000000177635684 0}
|
||||
put {button.r6a} comb region yes tree {- {n {- {l button.s6a} {l button.s6}} {l body.s2a}} {l body.s2}}
|
||||
attr set {button.r6a} {region} {R} {region_id} {1036} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {button.s5a} tgc V {-228.600000000000051159077 -126.9999999999999715782906 38.10000000000002273736754} H {391.8968898810059044990339 0 235.4754078488767561339046} A {8.176229439197108206371922 0 -13.60753089864603637693108} B {0 -15.87500000000000177635684 0} C {8.176229439197108206371922 0 -13.60753089864603637693108} D {0 -15.87500000000000177635684 0}
|
||||
put {button.r5a} comb region yes tree {- {n {- {l button.s5a} {l button.s5}} {l body.s2a}} {l body.s2}}
|
||||
attr set {button.r5a} {region} {R} {region_id} {1035} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {button.s4a} tgc V {-228.600000000000051159077 -126.9999999999999715782906 38.10000000000002273736754} H {439.4888473829994381958386 0 126.0213990795319745075176} A {4.375743023594861114133892 0 -15.26002942302081066827668} B {0 -15.87499999999999822364316 0} C {4.375743023594861114133892 0 -15.26002942302081066827668} D {0 -15.87499999999999822364316 0}
|
||||
put {button.r4a} comb region yes tree {- {n {- {l button.s4a} {l button.s4}} {l body.s2a}} {l body.s2}}
|
||||
attr set {button.r4a} {region} {R} {region_id} {1034} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {button.s3a} tgc V {-228.6000000000000227373675 127 38.10000000000002273736754} H {317.5978069738537215016549 0 328.8821567148312965400692} A {11.41951933037608313270539 0 -11.02770163103658696002185} B {0 15.87500000000000177635684 0} C {11.41951933037608490906223 0 -11.02770163103658873637869} D {0 15.87500000000000177635684 0}
|
||||
put {button.r3a} comb region yes tree {- {n {- {l button.s3a} {l button.s3}} {l body.s2a}} {l body.s2}}
|
||||
attr set {button.r3a} {region} {R} {region_id} {1033} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {button.s2a} tgc V {-228.6000000000000227373675 127 38.10000000000002273736754} H {391.8968898810059044990339 0 235.4754078488767561339046} A {8.176229439197108206371922 0 -13.60753089864603637693108} B {0 15.87500000000000177635684 0} C {8.176229439197108206371922 0 -13.60753089864603637693108} D {0 15.87500000000000177635684 0}
|
||||
put {button.r2a} comb region yes tree {- {n {- {l button.s2a} {l button.s2}} {l body.s2a}} {l body.s2}}
|
||||
attr set {button.r2a} {region} {R} {region_id} {1032} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {button.s1a} tgc V {-228.6000000000000227373675 127 38.10000000000002273736754} H {439.4888473829994381958386 0 126.0213990795319745075176} A {4.375743023594861114133892 0 -15.26002942302081066827668} B {0 15.875 0} C {4.375743023594861114133892 0 -15.26002942302081066827668} D {0 15.875 0}
|
||||
put {button.r1a} comb region yes tree {- {n {- {l button.s1a} {l button.s1}} {l body.s2a}} {l body.s2}}
|
||||
attr set {button.r1a} {region} {R} {region_id} {1031} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {rt_arm.s4i} tgc V {-117.4750000000000227373675 -266.6999999999999886313162 11.11250000000000248689958} H {0 0 114.3000000000000113686838} A {0 23.81249999999999644728632 0} B {23.81249999999999644728632 0 0} C {0 23.81249999999999644728632 0} D {23.81249999999999644728632 0 0}
|
||||
put {lt_arm.s4i} tgc V {-117.4749999999999943156581 266.6999999999999886313162 11.11250000000000248689958} H {0 0 114.3000000000000113686838} A {0 -23.81249999999999644728632 0} B {23.81249999999999644728632 0 0} C {0 -23.81249999999999644728632 0} D {23.81249999999999644728632 0 0}
|
||||
put {missile2.r} comb region yes tree {u {l missile2.s1} {l missile2.s2}}
|
||||
attr set {missile2.r} {region} {R} {region_id} {1024} {material_id} {1} {los} {100} {color} {255/150/50}
|
||||
put {missile1.r} comb region yes tree {u {l missile1.s1} {l missile1.s2}}
|
||||
attr set {missile1.r} {region} {R} {region_id} {1023} {material_id} {1} {los} {100} {color} {255/150/50}
|
||||
put {rt_ear.s2i} arb8 V1 {-104.7750000000000056843419 -152.3999999999999772626325 495.2999999999999545252649} V2 {-104.7750000000000198951966 -203.1999999999999886313162 495.2999999999999545252649} V3 {-104.7750000000000198951966 -203.1999999999999886313162 596.8999999999999772626325} V4 {-104.7750000000000056843419 -152.3999999999999772626325 596.8999999999999772626325} V5 {-130.1750000000000113686838 -152.399999999999948840923 495.2999999999999545252649} V6 {-130.1750000000000113686838 -203.1999999999999602096068 495.2999999999999545252649} V7 {-130.1750000000000113686838 -203.1999999999999602096068 596.8999999999999772626325} V8 {-130.1750000000000113686838 -152.399999999999948840923 596.8999999999999772626325}
|
||||
put {lt_ear.s2i} arb8 V1 {-104.7749999999999914734872 152.3999999999999772626325 495.2999999999999545252649} V2 {-104.7749999999999914734872 203.1999999999999886313162 495.2999999999999545252649} V3 {-104.7749999999999914734872 203.1999999999999886313162 596.8999999999999772626325} V4 {-104.7749999999999914734872 152.3999999999999772626325 596.8999999999999772626325} V5 {-130.1749999999999829469743 152.3999999999999772626325 495.2999999999999545252649} V6 {-130.1749999999999829469743 203.1999999999999886313162 495.2999999999999545252649} V7 {-130.1749999999999829469743 203.1999999999999886313162 596.8999999999999772626325} V8 {-130.1749999999999829469743 152.3999999999999772626325 596.8999999999999772626325}
|
||||
put {rt_leg.s1i} arb8 V1 {25.40000000000000213162821 -123.8250000000000312638804 -241.2999999999999829469743} V2 {25.40000000000000213162821 -130.1750000000000113686838 -241.2999999999999829469743} V3 {25.40000000000000213162821 -130.1750000000000113686838 -12.7000000000000010658141} V4 {25.40000000000000213162821 -123.8250000000000312638804 -12.7000000000000010658141} V5 {-76.20000000000003126388037 -123.8250000000000170530257 -241.2999999999999829469743} V6 {-76.20000000000003126388037 -130.1750000000000113686838 -241.2999999999999829469743} V7 {-76.20000000000003126388037 -130.1750000000000113686838 -12.7000000000000010658141} V8 {-76.20000000000003126388037 -123.8250000000000170530257 -12.7000000000000010658141}
|
||||
put {lt_leg.s1i} arb8 V1 {25.40000000000001634248292 123.8250000000000312638804 -241.2999999999999829469743} V2 {25.40000000000001634248292 130.1750000000000113686838 -241.2999999999999829469743} V3 {25.40000000000001634248292 130.1750000000000113686838 -12.7000000000000010658141} V4 {25.40000000000001634248292 123.8250000000000312638804 -12.7000000000000010658141} V5 {-76.20000000000001705302566 123.8250000000000312638804 -241.2999999999999829469743} V6 {-76.20000000000001705302566 130.1750000000000113686838 -241.2999999999999829469743} V7 {-76.20000000000001705302566 130.1750000000000113686838 -12.7000000000000010658141} V8 {-76.20000000000001705302566 123.8250000000000312638804 -12.7000000000000010658141}
|
||||
put {annual_gift_man} comb region no tree {u {u {u {l body {0.984807753012208 0 -0.17364817766693 75.4019057580597 0 1 0 0 0.17364817766693 0 0.984807753012208 27.1522734574961 0 0 0 1}} {l head {0.984807753012208 0 -0.17364817766693 75.4019057580597 0 1 0 0 0.17364817766693 0 0.984807753012208 27.1522734574961 0 0 0 1}}} {u {l hat {0.984807753012208 0 -0.17364817766693 75.4019057580597 0 1 0 0 0.17364817766693 0 0.984807753012208 27.1522734574961 0 0 0 1}} {l legs {0.984807753012208 0 -0.17364817766693 75.4019057580597 0 1 0 0 0.17364817766693 0 0.984807753012208 27.1522734574961 0 0 0 1}}}} {l arms {0.984807753012208 0 -0.17364817766693 75.4019057580597 0 1 0 0 0.17364817766693 0 0.984807753012208 27.1522734574961 0 0 0 1}}}
|
||||
put {button.s6} tgc V {-228.600000000000051159077 -126.9999999999999715782906 38.10000000000002273736754} H {317.5978069738537215016549 0 328.8821567148312965400692} A {9.135615464300869348335254 0 -8.822161304829272410188423} B {0 -12.69999999999999396038675 0} C {9.135615464300869348335254 0 -8.822161304829272410188423} D {0 -12.69999999999999396038675 0}
|
||||
put {button.r6} comb region yes tree {- {n {l button.s6} {l body.s4i}} {l body.s2}}
|
||||
attr set {button.r6} {region} {R} {region_id} {1010} {material_id} {1} {los} {100}
|
||||
put {button.s5} tgc V {-228.600000000000051159077 -126.9999999999999715782906 38.10000000000002273736754} H {391.8968898810059044990339 0 235.4754078488767561339046} A {6.540983551357687275640274 0 -10.8860247189168308779017} B {0 -12.69999999999999396038675 0} C {6.540983551357687275640274 0 -10.8860247189168308779017} D {0 -12.69999999999999396038675 0}
|
||||
put {button.r5} comb region yes tree {- {n {l button.s5} {l body.s4i}} {l body.s2}}
|
||||
attr set {button.r5} {region} {R} {region_id} {1009} {material_id} {1} {los} {100}
|
||||
put {button.s4} tgc V {-228.600000000000051159077 -126.9999999999999715782906 38.10000000000002273736754} H {439.4888473829994381958386 0 126.0213990795319745075176} A {3.500594418875888624853587 0 -12.20802353841664888989271} B {0 -12.69999999999999396038675 0} C {3.500594418875888624853587 0 -12.20802353841664888989271} D {0 -12.69999999999999396038675 0}
|
||||
put {button.r4} comb region yes tree {- {n {l button.s4} {l body.s4i}} {l body.s2}}
|
||||
attr set {button.r4} {region} {R} {region_id} {1008} {material_id} {1} {los} {100}
|
||||
put {button.s3} tgc V {-228.6000000000000227373675 127 38.10000000000002273736754} H {317.5978069738537215016549 0 328.8821567148312965400692} A {9.135615464300869348335254 0 -8.822161304829272410188423} B {0 12.69999999999999928945726 0} C {9.135615464300869348335254 0 -8.822161304829272410188423} D {0 12.69999999999999928945726 0}
|
||||
put {button.r3} comb region yes tree {- {n {l button.s3} {l body.s4i}} {l body.s2}}
|
||||
attr set {button.r3} {region} {R} {region_id} {1007} {material_id} {1} {los} {100}
|
||||
put {button.s2} tgc V {-228.6000000000000227373675 127 38.10000000000002273736754} H {391.8968898810059044990339 0 235.4754078488767561339046} A {6.540983551357687275640274 0 -10.8860247189168308779017} B {0 12.69999999999999928945726 0} C {6.540983551357687275640274 0 -10.8860247189168308779017} D {0 12.69999999999999928945726 0}
|
||||
put {button.r2} comb region yes tree {- {n {l button.s2} {l body.s4i}} {l body.s2}}
|
||||
attr set {button.r2} {region} {R} {region_id} {1006} {material_id} {1} {los} {100}
|
||||
put {button.s1} tgc V {-228.6000000000000227373675 127 38.10000000000002273736754} H {439.4888473829994381958386 0 126.0213990795319745075176} A {3.500594418875888624853587 0 -12.20802353841664888989271} B {0 12.69999999999999928945726 0} C {3.500594418875888624853587 0 -12.20802353841664888989271} D {0 12.69999999999999928945726 0}
|
||||
put {button.r1} comb region yes tree {- {n {l button.s1} {l body.s4i}} {l body.s2}}
|
||||
attr set {button.r1} {region} {R} {region_id} {1005} {material_id} {1} {los} {100}
|
||||
put {rt_arm.s5} tgc V {-117.4750000000000227373675 -228.5999999999999658939487 304.7999999999999545252649} H {0 -41.27499999999999857891453 0} A {0 0 50.79999999999999715782906} B {50.79999999999999715782906 0 0} C {0 0 50.79999999999999715782906} D {50.79999999999999715782906 0 0}
|
||||
put {lt_arm.s5} tgc V {-117.4749999999999943156581 228.5999999999999943156581 304.7999999999999545252649} H {0 41.27499999999999857891453 0} A {0 0 50.79999999999999715782906} B {50.79999999999999715782906 0 0} C {0 0 50.79999999999999715782906} D {50.79999999999999715782906 0 0}
|
||||
put {rt_arm.s4} tgc V {-117.4750000000000227373675 -266.6999999999999886313162 12.70000000000000284217094} H {0 0 114.2999999999999971578291} A {0 25.39999999999999502620085 0} B {25.39999999999999857891453 0 0} C {0 25.39999999999999502620085 0} D {25.39999999999999857891453 0 0}
|
||||
put {lt_arm.s4} tgc V {-117.4749999999999943156581 266.6999999999999886313162 12.70000000000000284217094} H {0 0 114.2999999999999971578291} A {0 -25.39999999999999502620085 0} B {25.39999999999999857891453 0 0} C {0 -25.39999999999999502620085 0} D {25.39999999999999857891453 0 0}
|
||||
put {rt_arm.s3} arb8 V1 {-79.37500000000002842170943 -228.5999999999999943156581 -101.5999999999999943156581} V2 {-79.37500000000002842170943 -203.1999999999999886313162 -101.5999999999999943156581} V3 {-79.37500000000002842170943 -203.1999999999999886313162 -38.10000000000001563194019} V4 {-79.37500000000002842170943 -228.5999999999999943156581 -25.4000000000000198951966} V5 {-155.5750000000000170530257 -228.5999999999999658939487 -101.5999999999999943156581} V6 {-155.5749999999999602096068 -203.1999999999999602096068 -101.5999999999999801048034} V7 {-155.5750000000000454747351 -203.1999999999999602096068 -38.10000000000001563194019} V8 {-155.5750000000000738964445 -228.5999999999999658939487 -25.400000000000037658765}
|
||||
put {rt_eye.s2} tgc V {-76.19999999999998863131623 -44.44999999999998863131623 603.25} H {50.79999999999999715782906 0 0} A {0 0 -6.349999999999998756550212} B {0 -6.349999999999996980193373 0} C {0 0 -6.349999999999998756550212} D {0 -6.349999999999996980193373 0}
|
||||
put {lt_arm.s3} arb8 V1 {-79.375 228.5999999999999943156581 -101.5999999999999943156581} V2 {-79.375 203.1999999999999886313162 -101.5999999999999943156581} V3 {-79.375 203.1999999999999886313162 -38.10000000000001563194019} V4 {-79.375 228.5999999999999943156581 -25.4000000000000198951966} V5 {-155.5749999999999886313162 228.5999999999999943156581 -101.5999999999999943156581} V6 {-155.5749999999999317878974 203.1999999999999886313162 -101.5999999999999801048034} V7 {-155.5750000000000170530257 203.1999999999999886313162 -38.10000000000001563194019} V8 {-155.5750000000000454747351 228.5999999999999943156581 -25.400000000000037658765}
|
||||
put {rt_arm.r3} comb region yes tree {l rt_arm.gray.s2}
|
||||
attr set {rt_arm.r3} {region} {R} {region_id} {1022} {material_id} {1} {los} {100} {color} {50/50/50}
|
||||
put {rt_arm.s2} arb8 V1 {-79.37500000000002842170943 -228.5999999999999943156581 -101.5999999999999943156581} V2 {-79.37500000000002842170943 -266.6999999999999886313162 -101.5999999999999943156581} V3 {-79.37500000000002842170943 -266.6999999999999886313162 304.7999999999999545252649} V4 {-79.37500000000002842170943 -228.5999999999999943156581 304.7999999999999545252649} V5 {-155.5750000000000170530257 -228.5999999999999658939487 -101.5999999999999943156581} V6 {-155.5750000000000170530257 -266.6999999999999886313162 -101.5999999999999943156581} V7 {-155.5750000000000170530257 -266.6999999999999886313162 304.7999999999999545252649} V8 {-155.5750000000000170530257 -228.5999999999999658939487 304.7999999999999545252649}
|
||||
put {lt_eye.s2} tgc V {-76.19999999999998863131623 44.44999999999999573674359 603.25} H {50.79999999999999715782906 0 0} A {0 0 -6.349999999999998756550212} B {0 6.349999999999999644728632 0} C {0 0 -6.349999999999998756550212} D {0 6.349999999999999644728632 0}
|
||||
put {rt_eye.r2} comb region yes tree {n {l rt_eye.s1} {l rt_eye.s2}}
|
||||
attr set {rt_eye.r2} {region} {R} {region_id} {1030} {material_id} {1} {los} {100} {color} {0/0/0}
|
||||
put {lt_arm.r3} comb region yes tree {l lt_arm.gray.s2}
|
||||
attr set {lt_arm.r3} {region} {R} {region_id} {1021} {material_id} {1} {los} {100} {color} {50/50/50}
|
||||
put {lt_arm.s2} arb8 V1 {-79.375 228.5999999999999943156581 -101.5999999999999943156581} V2 {-79.375 266.6999999999999886313162 -101.5999999999999943156581} V3 {-79.375 266.6999999999999886313162 304.7999999999999545252649} V4 {-79.375 228.5999999999999943156581 304.7999999999999545252649} V5 {-155.5749999999999886313162 228.5999999999999943156581 -101.5999999999999943156581} V6 {-155.5749999999999886313162 266.6999999999999886313162 -101.5999999999999943156581} V7 {-155.5749999999999886313162 266.6999999999999886313162 304.7999999999999545252649} V8 {-155.5749999999999886313162 228.5999999999999943156581 304.7999999999999545252649}
|
||||
put {rt_eye.s1} ell V {-50.80000000000000426325641 -44.44999999999998863131623 603.25} A {19.04999999999999715782906 0 0} B {0 -19.04999999999999715782906 0} C {0 0 19.04999999999999715782906}
|
||||
put {rt_arm.r2} comb region yes tree {n {l rt_arm.c} {l rt_arm.gray.s}}
|
||||
attr set {rt_arm.r2} {region} {R} {region_id} {1019} {material_id} {1} {los} {100} {color} {50/50/50}
|
||||
put {rt_arm.s1} tgc V {-117.4750000000000227373675 -228.5999999999999658939487 304.7999999999999545252649} H {0 -38.09999999999999431565811 0} A {0 0 76.19999999999998863131623} B {76.19999999999998863131623 0 0} C {0 0 76.19999999999998863131623} D {76.19999999999998863131623 0 0}
|
||||
put {lt_eye.r2} comb region yes tree {n {l lt_eye.s1} {l lt_eye.s2}}
|
||||
attr set {lt_eye.r2} {region} {R} {region_id} {1028} {material_id} {1} {los} {100} {color} {0/0/0}
|
||||
put {lt_eye.s1} ell V {-50.79999999999999715782906 44.44999999999999573674359 603.25} A {19.04999999999999715782906 0 0} B {0 19.04999999999999715782906 0} C {0 0 19.04999999999999715782906}
|
||||
put {rt_eye.r1} comb region yes tree {- {l rt_eye.s1} {l rt_eye.s2}}
|
||||
attr set {rt_eye.r1} {region} {R} {region_id} {1029} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {lt_arm.r2} comb region yes tree {n {l lt_arm.c} {l lt_arm.gray.s}}
|
||||
attr set {lt_arm.r2} {region} {R} {region_id} {1020} {material_id} {1} {los} {100} {color} {50/50/50}
|
||||
put {lt_arm.s1} tgc V {-117.4749999999999943156581 228.5999999999999943156581 304.7999999999999545252649} H {0 38.09999999999999431565811 0} A {0 0 76.19999999999998863131623} B {76.19999999999998863131623 0 0} C {0 0 76.19999999999998863131623} D {76.19999999999998863131623 0 0}
|
||||
put {rt_arm.r1} comb region yes tree {- {- {l rt_arm.c} {l rt_arm.gray.s}} {l rt_arm.gray.s2}}
|
||||
attr set {rt_arm.r1} {region} {R} {region_id} {1018} {material_id} {1} {los} {100} {color} {255/0/0}
|
||||
put {lt_eye.r1} comb region yes tree {- {l lt_eye.s1} {l lt_eye.s2}}
|
||||
attr set {lt_eye.r1} {region} {R} {region_id} {1027} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {lt_arm.r1} comb region yes tree {- {- {l lt_arm.c} {l lt_arm.gray.s}} {l lt_arm.gray.s2}}
|
||||
attr set {lt_arm.r1} {region} {R} {region_id} {1017} {material_id} {1} {los} {100} {color} {255/0/0}
|
||||
put {rt_ear.s2} tgc V {-130.1750000000000113686838 -152.3999999999999772626325 546.1000000000000227373675} H {25.39999999999999857891453 0 0} A {0 0 -50.7999999999999900524017} B {0 -50.79999999999997584154698 0} C {0 0 -50.7999999999999900524017} D {0 -50.79999999999997584154698 0}
|
||||
put {lt_ear.s2} tgc V {-130.1749999999999829469743 152.4000000000000056843419 546.1000000000000227373675} H {25.39999999999999857891453 0 0} A {0 0 -50.7999999999999900524017} B {0 50.79999999999999715782906 0} C {0 0 -50.7999999999999900524017} D {0 50.79999999999999715782906 0}
|
||||
put {rt_ear.s1} arb8 V1 {-104.7750000000000056843419 -76.19999999999997442046151 533.3999999999999772626325} V2 {-104.7750000000000056843419 -152.4000000000000056843419 533.3999999999999772626325} V3 {-104.7750000000000056843419 -152.4000000000000056843419 558.7999999999999545252649} V4 {-104.7750000000000056843419 -76.19999999999997442046151 558.7999999999999545252649} V5 {-130.1749999999999829469743 -76.19999999999997442046151 533.3999999999999772626325} V6 {-130.1750000000000113686838 -152.3999999999999772626325 533.3999999999999772626325} V7 {-130.1750000000000113686838 -152.3999999999999772626325 558.7999999999999545252649} V8 {-130.1749999999999829469743 -76.19999999999997442046151 558.7999999999999545252649}
|
||||
put {rt_leg.s3} tgc V {-25.40000000000001278976924 -101.5999999999999943156581 -12.69999999999999928945726} H {0 -25.39999999999998792077349 0} A {0 0 76.19999999999997442046151} B {76.19999999999998863131623 0 0} C {0 0 76.19999999999997442046151} D {76.19999999999998863131623 0 0}
|
||||
put {lt_ear.s1} arb8 V1 {-104.7749999999999914734872 76.19999999999998863131623 533.3999999999999772626325} V2 {-104.7749999999999914734872 152.4000000000000056843419 533.3999999999999772626325} V3 {-104.7749999999999914734872 152.4000000000000056843419 558.7999999999999545252649} V4 {-104.7749999999999914734872 76.19999999999998863131623 558.7999999999999545252649} V5 {-130.1749999999999829469743 76.19999999999998863131623 533.3999999999999772626325} V6 {-130.1749999999999829469743 152.4000000000000056843419 533.3999999999999772626325} V7 {-130.1749999999999829469743 152.4000000000000056843419 558.7999999999999545252649} V8 {-130.1749999999999829469743 76.19999999999998863131623 558.7999999999999545252649}
|
||||
put {lt_leg.s3} tgc V {-25.39999999999999857891453 101.5999999999999943156581 -12.69999999999999928945726} H {0 25.39999999999999857891453 0} A {0 0 76.19999999999997442046151} B {76.19999999999998863131623 0 0} C {0 0 76.19999999999997442046151} D {76.19999999999998863131623 0 0}
|
||||
put {rt_leg.r3} comb region yes tree {n {l rt_leg.c} {l rt_leg.black.s}}
|
||||
attr set {rt_leg.r3} {region} {R} {region_id} {1014} {material_id} {1} {los} {100} {color} {0/0/0}
|
||||
put {rt_leg.s2} arb8 V1 {76.19999999999998863131623 -76.20000000000000284217094 -317.4999999999999431565811} V2 {76.19999999999994599875208 -152.3999999999999772626325 -317.4999999999999431565811} V3 {101.5999999999999801048034 -165.100000000000051159077 -355.5999999999999090505298} V4 {101.6000000000000369482223 -63.50000000000000710542736 -355.5999999999999090505298} V5 {-126.9999999999999857891453 -76.19999999999990336618794 -317.4999999999998863131623} V6 {-126.9999999999999857891453 -152.399999999999948840923 -317.4999999999999431565811} V7 {-127.0000000000000284217094 -165.0999999999999943156581 -355.5999999999999090505298} V8 {-127.0000000000000426325641 -63.49999999999993605115378 -355.5999999999999090505298}
|
||||
put {lt_leg.r3} comb region yes tree {n {l lt_leg.c} {l lt_leg.black.s}}
|
||||
attr set {lt_leg.r3} {region} {R} {region_id} {1013} {material_id} {1} {los} {100} {color} {0/0/0}
|
||||
put {lt_leg.s2} arb8 V1 {76.20000000000000284217094 76.19999999999998863131623 -317.4999999999999431565811} V2 {76.1999999999999602096068 152.3999999999999772626325 -317.4999999999999431565811} V3 {101.5999999999999943156581 165.100000000000051159077 -355.5999999999999090505298} V4 {101.600000000000051159077 63.49999999999999289457264 -355.5999999999999090505298} V5 {-126.9999999999999715782906 76.19999999999991757704265 -317.4999999999998863131623} V6 {-126.9999999999999715782906 152.3999999999999772626325 -317.4999999999999431565811} V7 {-127.0000000000000142108547 165.1000000000000227373675 -355.5999999999999090505298} V8 {-127.0000000000000284217094 63.4999999999999502620085 -355.5999999999999090505298}
|
||||
put {rt_leg.r2} comb region yes tree {n {l rt_leg.c} {l rt_leg.white.s}}
|
||||
attr set {rt_leg.r2} {region} {R} {region_id} {1015} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {rt_leg.s1} arb8 V1 {50.79999999999998294697434 -101.5999999999999943156581 -317.5} V2 {50.79999999999998294697434 -127 -317.5} V3 {50.79999999999998294697434 -127 -12.69999999999999928945726} V4 {50.79999999999998294697434 -101.5999999999999943156581 -12.69999999999999928945726} V5 {-101.6000000000000085265128 -101.5999999999999801048034 -317.5} V6 {-101.6000000000000085265128 -126.9999999999999857891453 -317.5} V7 {-101.6000000000000085265128 -126.9999999999999857891453 -12.69999999999999928945726} V8 {-101.6000000000000085265128 -101.5999999999999801048034 -12.69999999999999928945726}
|
||||
put {lt_leg.r2} comb region yes tree {n {l lt_leg.c} {l lt_leg.white.s}}
|
||||
attr set {lt_leg.r2} {region} {R} {region_id} {1012} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {lt_leg.s1} arb8 V1 {50.79999999999999715782906 101.5999999999999943156581 -317.5} V2 {50.79999999999999715782906 127 -317.5} V3 {50.79999999999999715782906 127 -12.69999999999999928945726} V4 {50.79999999999999715782906 101.5999999999999943156581 -12.69999999999999928945726} V5 {-101.5999999999999943156581 101.5999999999999943156581 -317.5} V6 {-101.5999999999999943156581 127 -317.5} V7 {-101.5999999999999943156581 127 -12.69999999999999928945726} V8 {-101.5999999999999943156581 101.5999999999999943156581 -12.69999999999999928945726}
|
||||
put {rt_leg.r1} comb region yes tree {- {- {- {- {l rt_leg.c} {l rt_leg.white.s}} {l rt_leg.black.s}} {l rt_leg.s1i}} {l rt_leg.s1i2}}
|
||||
attr set {rt_leg.r1} {region} {R} {region_id} {1016} {material_id} {1} {los} {100} {color} {255/0/0}
|
||||
put {lt_leg.r1} comb region yes tree {- {- {- {- {l lt_leg.c} {l lt_leg.white.s}} {l lt_leg.black.s}} {l lt_leg.s1i}} {l lt_leg.s1i2}}
|
||||
attr set {lt_leg.r1} {region} {R} {region_id} {1011} {material_id} {1} {los} {100} {color} {255/0/0}
|
||||
put {body.s3i2} arb8 V1 {-6.151326253166899959978764 231.3729373086425198380311 390.9270626913569799398829} V2 {-6.151326253166907065406122 175.6740115273925368910568 446.6259884726068776217289} V3 {-6.151326253166899959978764 222.1160604959457600671158 493.068037441160242906335} V4 {-6.151326253166892854551406 277.8149862771957714357995 437.369111659910345224489} V5 {-231.13999999999995793587 231.37293730864257668145 390.9270626913569799398829} V6 {-231.13999999999995793587 175.6740115273925653127662 446.6259884726068776217289} V7 {-231.13999999999995793587 222.1160604959457884888252 493.068037441160242906335} V8 {-231.13999999999995793587 277.8149862771958282792184 437.369111659910345224489}
|
||||
put {body.s3i1} arb8 V1 {-6.151326253166928381688194 -231.37293730864257668145 390.9270626913570367833017} V2 {-6.151326253166928381688194 -175.6740115273925368910568 446.6259884726068776217289} V3 {-6.151326253166928381688194 -222.1160604959457600671158 493.068037441160242906335} V4 {-6.151326253166928381688194 -277.8149862771958282792184 437.369111659910345224489} V5 {-231.1399999999999863575795 -231.37293730864257668145 390.9270626913570367833017} V6 {-231.1399999999999863575795 -175.6740115273925368910568 446.6259884726068776217289} V7 {-231.1399999999999863575795 -222.1160604959457600671158 493.068037441160242906335} V8 {-231.1399999999999863575795 -277.8149862771958282792184 437.369111659910345224489}
|
||||
put {rt_ear.r} comb region yes tree {u {l rt_ear.s1} {n {l rt_ear.s2} {l rt_ear.s2i}}}
|
||||
attr set {rt_ear.r} {region} {R} {region_id} {1026} {material_id} {1} {los} {100} {color} {50/50/50}
|
||||
put {lt_ear.r} comb region yes tree {u {l lt_ear.s1} {n {l lt_ear.s2} {l lt_ear.s2i}}}
|
||||
attr set {lt_ear.r} {region} {R} {region_id} {1025} {material_id} {1} {los} {100} {color} {50/50/50}
|
||||
put {rt_arm.c} comb region no tree {u {u {u {u {l rt_arm.s1} {l rt_arm.s2}} {l rt_arm.s3}} {- {l rt_arm.s4} {l rt_arm.s4i}}} {l rt_arm.s5}}
|
||||
put {lt_arm.c} comb region no tree {u {u {u {u {l lt_arm.s1} {l lt_arm.s2}} {l lt_arm.s3}} {- {l lt_arm.s4} {l lt_arm.s4i}}} {l lt_arm.s5}}
|
||||
put {rt_leg.c} comb region no tree {u {u {l rt_leg.s1} {l rt_leg.s2}} {l rt_leg.s3}}
|
||||
put {lt_leg.c} comb region no tree {u {u {l lt_leg.s1} {l lt_leg.s2}} {l lt_leg.s3}}
|
||||
put {body.s4i} tgc V {-228.6000000000000227373675 -228.5999999999999943156581 38.09999999999999431565811} H {0 457.1999999999999886313162 0} A {0 0 381.0000000000000568434189} B {457.1999999999999886313162 0 0} C {0 0 381.0000000000000568434189} D {457.1999999999999886313162 0 0}
|
||||
put {body.s2i} arb8 V1 {228.5999999999999943156581 -228.5999999999999943156581 342.8999999999999772626325} V2 {228.5999999999999943156581 228.5999999999999943156581 342.8999999999999772626325} V3 {228.5999999999999943156581 228.5999999999999943156581 38.09999999999999431565811} V4 {228.5999999999999943156581 -228.5999999999999943156581 38.09999999999999431565811} V5 {-228.5999999999999943156581 -228.5999999999999943156581 342.8999999999999772626325} V6 {-228.5999999999999943156581 228.5999999999999943156581 342.8999999999999772626325} V7 {-228.5999999999999943156581 228.5999999999999943156581 38.09999999999999431565811} V8 {-228.5999999999999943156581 -228.5999999999999943156581 38.09999999999999431565811}
|
||||
put {buttons} comb region no tree {u {u {u {u {l button.r1} {l button.r1a}} {u {l button.r2} {l button.r2a}}} {u {u {l button.r3} {l button.r3a}} {u {l button.r4} {l button.r4a}}}} {u {u {l button.r5} {l button.r5a}} {u {l button.r6} {l button.r6a}}}}
|
||||
attr set {buttons} {color} {0/255/0}
|
||||
put {head.s9i} arb8 V1 {-98.42500000000002557953849 -76.1999999999999602096068 514.3499999999996816768544} V2 {-98.42500000000002557953849 76.1999999999999602096068 514.3499999999996816768544} V3 {-98.42500000000002557953849 76.1999999999999602096068 457.2000000000000454747351} V4 {-98.42500000000002557953849 -76.1999999999999602096068 457.2000000000000454747351} V5 {-9.525000000000012789769244 -76.1999999999999602096068 514.3499999999996816768544} V6 {-9.525000000000012789769244 76.1999999999999602096068 514.3499999999996816768544} V7 {-9.525000000000012789769244 76.1999999999999602096068 457.2000000000000454747351} V8 {-9.525000000000012789769244 -76.1999999999999602096068 457.2000000000000454747351}
|
||||
put {body.s2a} tgc V {-228.6000000000000227373675 -228.5999999999999943156581 38.09999999999999431565811} H {0 457.1999999999999886313162 0} A {0 0 361.9499999999999886313162} B {438.1499999999999772626325 0 0} C {0 0 361.9500000000000454747351} D {438.1499999999999772626325 0 0}
|
||||
put {head.s8i} arb8 V1 {-98.42500000000001136868377 -69.84999999999999431565811 514.3499999999997953636921} V2 {-98.42500000000001136868377 69.84999999999999431565811 514.3499999999997953636921} V3 {-98.42500000000001136868377 25.39999999999999857891453 546.1000000000000227373675} V4 {-98.42500000000001136868377 -25.39999999999999857891453 546.1000000000000227373675} V5 {-9.525000000000019895196601 -69.85000000000027853275242 514.3499999999994543031789} V6 {-9.525000000000019895196601 69.85000000000027853275242 514.3499999999995679900167} V7 {-9.525000000000019895196601 25.40000000000017266188479 546.1000000000000227373675} V8 {-9.525000000000019895196601 -25.40000000000007673861546 546.1000000000000227373675}
|
||||
put {head.s7i} arb8 V1 {-98.42500000000001136868377 -63.49999999999999289457264 514.3499999999997953636921} V2 {-98.42500000000001136868377 63.49999999999999289457264 514.3499999999997953636921} V3 {-98.42500000000001136868377 63.49999999999999289457264 463.5499999999998408384272} V4 {-98.42500000000001136868377 -63.49999999999999289457264 463.5499999999998408384272} V5 {-9.525000000000019895196601 -63.49999999999999289457264 514.3499999999997953636921} V6 {-9.525000000000019895196601 63.49999999999999289457264 514.3499999999997953636921} V7 {-9.525000000000019895196601 63.49999999999999289457264 463.5499999999998408384272} V8 {-9.525000000000019895196601 -63.49999999999999289457264 463.5499999999998408384272}
|
||||
put {head.s4i} arb8 V1 {-3.110602869834276076328758E-15 -25.39999999999999502620085 587.3749999999998863131623} V2 {-7.776507174585689796391442E-15 -63.49999999999998578914528 587.3749999999998863131623} V3 {-7.776507174585689796391442E-15 -63.49999999999998578914528 619.125} V4 {-3.110602869834276076328758E-15 -25.39999999999999502620085 619.125} V5 {-50.7999999999999900524017 -25.39999999999998792077349 587.3749999999998863131623} V6 {-50.79999999999999715782906 -63.49999999999997868371793 587.3749999999998863131623} V7 {-50.79999999999999715782906 -63.49999999999997868371793 619.125} V8 {-50.7999999999999900524017 -25.39999999999998792077349 619.125}
|
||||
put {head.s3i} arb8 V1 {0 25.39999999999999502620085 587.3749999999998863131623} V2 {0 63.49999999999998578914528 587.3749999999998863131623} V3 {0 63.49999999999998578914528 619.125} V4 {0 25.39999999999999502620085 619.125} V5 {-50.7999999999999900524017 25.39999999999999502620085 587.3749999999998863131623} V6 {-50.7999999999999900524017 63.49999999999998578914528 587.3749999999998863131623} V7 {-50.7999999999999900524017 63.49999999999998578914528 619.125} V8 {-50.7999999999999900524017 25.39999999999999502620085 619.125}
|
||||
put {head.s2i} arb8 V1 {-98.42500000000001136868377 -107.9499999999999886313162 527.0499999999998408384272} V2 {-98.42500000000001136868377 107.9499999999999886313162 527.0499999999998408384272} V3 {-98.42500000000001136868377 107.9499999999999886313162 565.1499999999998635757947} V4 {-98.42500000000001136868377 -107.9499999999999886313162 565.1499999999998635757947} V5 {-136.5249999999999772626325 -107.9499999999999886313162 527.0499999999998408384272} V6 {-136.5249999999999772626325 107.9499999999999886313162 527.0499999999998408384272} V7 {-136.5249999999999772626325 107.9499999999999886313162 565.1499999999998635757947} V8 {-136.5249999999999772626325 -107.9499999999999886313162 565.1499999999998635757947}
|
||||
put {head.s1i} tgc V {-117.4749999999999943156581 0 444.5} H {0 0 203.2000000000000454747351} A {0 -100.0125000000000028421709 0} B {100.0125000000000170530257 0 0} C {0 -100.0125000000000028421709 0} D {100.0125000000000170530257 0 0}
|
||||
put {beard.r} comb region yes tree {- {n {- {l head.s8} {l head.s1}} {l head.s9}} {l head.s9i}}
|
||||
attr set {beard.r} {region} {R} {region_id} {1038} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {body.s5} arb8 V1 {31.75 -25.39999999999999857891453 444.5} V2 {31.75 25.39999999999999857891453 444.5} V3 {31.75 25.39999999999999857891453 342.8999999999999772626325} V4 {31.75 -25.39999999999999857891453 342.8999999999999772626325} V5 {-228.5999999999999943156581 -25.39999999999999857891453 444.5} V6 {-228.5999999999999943156581 25.39999999999999857891453 444.5} V7 {-228.5999999999999943156581 25.39999999999999857891453 342.8999999999999772626325} V8 {-228.5999999999999943156581 -25.39999999999999857891453 342.8999999999999772626325}
|
||||
put {body.s4} arb8 V1 {228.5999999999999943156581 -25.39999999999999857891453 38.09999999999999431565811} V2 {228.5999999999999943156581 25.39999999999999857891453 38.09999999999999431565811} V3 {228.5999999999999943156581 25.39999999999999857891453 342.8999999999999772626325} V4 {228.5999999999999943156581 -25.39999999999999857891453 342.8999999999999772626325} V5 {-228.5999999999999943156581 -25.39999999999999857891453 38.09999999999999431565811} V6 {-228.5999999999999943156581 25.39999999999999857891453 38.09999999999999431565811} V7 {-228.5999999999999943156581 25.39999999999999857891453 342.8999999999999772626325} V8 {-228.5999999999999943156581 -25.39999999999999857891453 342.8999999999999772626325}
|
||||
put {body.r4} comb region yes tree {u {- {n {l body.c} {l body.white.s1}} {l body.gold.s1}} {- {n {l body.c} {l body.white.s2}} {l body.gold.s1}}}
|
||||
attr set {body.r4} {region} {R} {region_id} {1000} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {body.s3} arb8 V1 {-6.349999999999999644728632 -228.600000000000051159077 342.8999999999998635757947} V2 {-6.349999999999999644728632 228.600000000000051159077 342.8999999999998635757947} V3 {-6.349999999999999644728632 228.600000000000051159077 444.5000000000000568434189} V4 {-6.349999999999999644728632 -228.600000000000051159077 444.5000000000000568434189} V5 {-228.6000000000000795807864 -228.600000000000051159077 342.8999999999998635757947} V6 {-228.6000000000000795807864 228.600000000000051159077 342.8999999999998635757947} V7 {-228.6000000000000795807864 228.600000000000051159077 444.5000000000000568434189} V8 {-228.6000000000000795807864 -228.600000000000051159077 444.5000000000000568434189}
|
||||
put {body.r3} comb region yes tree {n {l body.c} {l body.gold.c}}
|
||||
attr set {body.r3} {region} {R} {region_id} {1000} {material_id} {1} {los} {100} {color} {255/215/0}
|
||||
put {body.s2} tgc V {-228.6000000000000227373675 -228.5999999999999943156581 38.09999999999999431565811} H {0 457.1999999999999886313162 0} A {0 0 355.5999999999999658939487} B {431.7999999999998976818461 0 0} C {0 0 355.5999999999999658939487} D {431.7999999999998976818461 0 0}
|
||||
put {body.r2} comb region yes tree {- {n {l body.c} {l body.black.s1}} {l body.gold.c}}
|
||||
attr set {body.r2} {region} {R} {region_id} {1000} {material_id} {1} {los} {100} {color} {0/0/0}
|
||||
put {body.s1} arb8 V1 {228.5999999999999658939487 -228.5999999999999658939487 -12.69999999999999928945726} V2 {228.5999999999999658939487 228.5999999999999658939487 -12.69999999999999928945726} V3 {228.5999999999999658939487 228.5999999999999658939487 38.09999999999999431565811} V4 {228.5999999999999658939487 -228.5999999999999658939487 38.09999999999999431565811} V5 {-228.5999999999999658939487 -228.5999999999999658939487 -12.69999999999999928945726} V6 {-228.5999999999999658939487 228.5999999999999658939487 -12.69999999999999928945726} V7 {-228.5999999999999658939487 228.5999999999999658939487 38.09999999999999431565811} V8 {-228.5999999999999658939487 -228.5999999999999658939487 38.09999999999999431565811}
|
||||
put {body.r1} comb region yes tree {- {- {- {- {l body.c} {l body.white.s1}} {l body.white.s2}} {l body.black.s1}} {l body.gold.s1}}
|
||||
attr set {body.r1} {region} {R} {region_id} {1000} {material_id} {1} {los} {100} {color} {255/0/0}
|
||||
put {head.s9} arb8 V1 {-98.42500000000001136868377 -88.89999999999997726263246 514.3499999999996816768544} V2 {-98.42500000000001136868377 88.89999999999997726263246 514.3499999999996816768544} V3 {-98.42500000000001136868377 88.89999999999997726263246 444.4999999999998863131623} V4 {-98.42500000000001136868377 -88.89999999999997726263246 444.4999999999998863131623} V5 {-9.525000000000016342482922 -88.89999999999997726263246 514.3499999999996816768544} V6 {-9.525000000000016342482922 88.89999999999997726263246 514.3499999999996816768544} V7 {-9.525000000000016342482922 88.89999999999997726263246 444.4999999999998863131623} V8 {-9.525000000000016342482922 -88.89999999999997726263246 444.4999999999998863131623}
|
||||
put {head.s8} tgc V {-117.4749999999999943156581 0 444.5} H {0 0 203.1999999999999886313162} A {0 -107.9499999999999886313162 0} B {107.9499999999999744204615 0 0} C {0 -107.9499999999999886313162 0} D {107.9499999999999744204615 0 0}
|
||||
put {head.s6} ell V {-15.875 0 546.1000000000000227373675} A {25.39999999999999857891453 0 0} B {0 25.39999999999999857891453 0} C {0 0 6.349999999999999644728632}
|
||||
put {head.s5} tgc V {-15.875 0 546.1000000000000227373675} H {0 0 69.84999999999999431565811} A {0 -25.39999999999999857891453 0} B {25.39999999999999857891453 0 0} C {0 -1.587499999999999911182158 0} D {1.587499999999999911182158 0 0}
|
||||
put {head.s1} tgc V {-117.4749999999999943156581 0 444.5} H {0 0 203.1999999999999886313162} A {0 -101.6000000000000085265128 0} B {101.6000000000000227373675 0 0} C {0 -101.6000000000000085265128 0} D {101.6000000000000227373675 0 0}
|
||||
put {head.r1} comb region yes tree {u {u {- {- {- {- {- {l head.s1} {l head.s1i}} {l head.s2i}} {l head.s3i}} {l head.s4i}} {l head.s7i}} {l head.s5}} {l head.s6}}
|
||||
attr set {head.r1} {region} {R} {region_id} {1002} {material_id} {1} {los} {100} {color} {50/50/50}
|
||||
put {rt_arm} comb region no tree {u {u {l rt_arm.r1} {l rt_arm.r2}} {u {l rt_arm.r3} {l missile2.r}}}
|
||||
put {lt_arm} comb region no tree {u {u {l lt_arm.r1} {l lt_arm.r2}} {u {l lt_arm.r3} {l missile1.r}}}
|
||||
put {rt_leg} comb region no tree {u {u {l rt_leg.r1} {l rt_leg.r2}} {l rt_leg.r3}}
|
||||
put {lt_leg} comb region no tree {u {u {l lt_leg.r1} {l lt_leg.r2}} {l lt_leg.r3}}
|
||||
put {rt_leg.white.s} arb8 V1 {127 -1.555301434917138590367013E-14 -253.9999999999999147348717} V2 {126.9999999999999715782906 -203.2000000000001023181539 -253.9999999999999147348717} V3 {126.9999999999999715782906 -203.2000000000001023181539 -279.3999999999999204192136} V4 {127 -1.555301434917138590367013E-14 -279.3999999999999204192136} V5 {-152.3999999999999772626325 1.866361721900566119113798E-14 -253.9999999999999147348717} V6 {-152.4000000000000056843419 -203.2000000000000454747351 -253.9999999999999147348717} V7 {-152.4000000000000056843419 -203.2000000000000454747351 -279.3999999999999204192136} V8 {-152.3999999999999772626325 1.866361721900566119113798E-14 -279.3999999999999204192136}
|
||||
put {lt_leg.white.s} arb8 V1 {127 0 -253.9999999999999147348717} V2 {127 203.2000000000000738964445 -253.9999999999999147348717} V3 {127 203.2000000000000738964445 -279.3999999999999204192136} V4 {127 0 -279.3999999999999204192136} V5 {-152.3999999999999772626325 0 -253.9999999999999147348717} V6 {-152.3999999999999772626325 203.2000000000000738964445 -253.9999999999999147348717} V7 {-152.3999999999999772626325 203.2000000000000738964445 -279.3999999999999204192136} V8 {-152.3999999999999772626325 0 -279.3999999999999204192136}
|
||||
put {body.c} comb region no tree {u {u {u {u {l body.s1} {n {l body.s2} {l body.s2i}}} {- {- {l body.s3} {l body.s3i1}} {l body.s3i2}}} {n {l body.s4} {l body.s4i}}} {l body.s5}}
|
||||
put {hat.s3} ell V {-117.4749999999999943156581 0 889} A {38.09999999999999431565811 0 0} B {0 38.09999999999999431565811 0} C {0 0 38.09999999999999431565811}
|
||||
put {hat.r3} comb region yes tree {l hat.s3}
|
||||
attr set {hat.r3} {region} {R} {region_id} {1004} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {hat.s2} tgc V {-117.4749999999999943156581 0 685.8000000000000682121026} H {0 0 203.1999999999999886313162} A {0 -101.5999999999999943156581 0} B {101.5999999999999943156581 0 0} C {0 -12.69999999999999928945726 0} D {12.69999999999999928945726 0 0}
|
||||
put {hat.r2} comb region yes tree {l hat.s2}
|
||||
attr set {hat.r2} {region} {R} {region_id} {1003} {material_id} {1} {los} {100} {color} {255/0/0}
|
||||
put {hat.s1} tgc V {-117.4749999999999943156581 0 647.7000000000000454747351} H {0 0 38.09999999999999431565811} A {0 -114.2999999999999829469743 0} B {114.2999999999999829469743 0 0} C {0 -114.2999999999999829469743 0} D {114.2999999999999829469743 0 0}
|
||||
put {hat.r1} comb region yes tree {l hat.s1}
|
||||
attr set {hat.r1} {region} {R} {region_id} {1001} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {rt_leg.black.s} arb8 V1 {127 -1.555301434917138590367013E-14 -355.5999999999999090505298} V2 {126.9999999999999715782906 -203.2000000000001023181539 -355.5999999999999090505298} V3 {126.9999999999999715782906 -203.2000000000001023181539 -279.3999999999999204192136} V4 {127 -1.555301434917138590367013E-14 -279.3999999999999204192136} V5 {-152.3999999999999772626325 1.866361721900566119113798E-14 -355.5999999999999090505298} V6 {-152.4000000000000056843419 -203.2000000000000454747351 -355.5999999999999090505298} V7 {-152.4000000000000056843419 -203.2000000000000454747351 -279.3999999999999204192136} V8 {-152.3999999999999772626325 1.866361721900566119113798E-14 -279.3999999999999204192136}
|
||||
put {lt_leg.black.s} arb8 V1 {127 0 -355.5999999999999090505298} V2 {127 203.2000000000000738964445 -355.5999999999999090505298} V3 {127 203.2000000000000738964445 -279.3999999999999204192136} V4 {127 0 -279.3999999999999204192136} V5 {-152.3999999999999772626325 0 -355.5999999999999090505298} V6 {-152.3999999999999772626325 203.2000000000000738964445 -355.5999999999999090505298} V7 {-152.3999999999999772626325 203.2000000000000738964445 -279.3999999999999204192136} V8 {-152.3999999999999772626325 0 -279.3999999999999204192136}
|
||||
put {rt_arm.gray.s2} tgc V {-117.4750000000000227373675 -228.5999999999999658939487 304.7999999999999545252649} H {0 -41.27499999999999857891453 0} A {0 0 25.39999999999999857891453} B {25.39999999999999857891453 0 0} C {0 0 25.39999999999999857891453} D {25.39999999999999857891453 0 0}
|
||||
put {lt_arm.gray.s2} tgc V {-117.4749999999999943156581 228.5999999999999943156581 304.7999999999999545252649} H {0 41.27499999999999857891453 0} A {0 0 25.39999999999999857891453} B {25.39999999999999857891453 0 0} C {0 0 25.39999999999999857891453} D {25.39999999999999857891453 0 0}
|
||||
put {arms} comb region no tree {u {l lt_arm {-0.5 0 -0.866025403784439 87.752043073497 0 1 0 0 0.866025403784439 0 -0.5 558.936334309577 0 0 0 1}} {l rt_arm {-0.17364817766693 0 -0.984807753012208 162.295083446698 0 1 0 0 0.984807753012208 0 -0.17364817766693 473.418255337989 0 0 0 1}}}
|
||||
put {eyes} comb region no tree {u {u {l lt_eye.r1} {l lt_eye.r2}} {u {l rt_eye.r1} {l rt_eye.r2}}}
|
||||
put {body} comb region no tree {u {u {u {l body.r1} {l body.r2}} {u {l body.r3} {l body.r4}}} {l buttons}}
|
||||
put {legs} comb region no tree {u {l lt_leg {0.707106781186548 0 -0.707106781186547 -16.4197438789308 0 1 0 0 0.707106781186547 0 0.707106781186548 14.2407683632075 0 0 0 1}} {l rt_leg {0.984807753012208 0 0.17364817766693 1.8194487828801 0 1 0 0 -0.17364817766693 0 0.984807753012208 -4.60360524948499 0 0 0 1}}}
|
||||
put {head} comb region no tree {u {u {u {l head.r1} {l lt_ear.r}} {u {l rt_ear.r} {l eyes}}} {u {l mustache.r} {l beard.r}}}
|
||||
put {hat} comb region no tree {u {u {l hat.r1} {l hat.r2}} {l hat.r3}}
|
||||
put {rt_arm.gray.s} arb8 V1 {-76.20000000000001705302566 -177.7999999999999545252649 -12.69999999999999928945726} V2 {-76.20000000000001705302566 -279.3999999999999772626325 -12.69999999999999928945726} V3 {-76.20000000000001705302566 -279.3999999999999772626325 -114.2999999999999971578291} V4 {-76.20000000000001705302566 -177.7999999999999545252649 -114.2999999999999971578291} V5 {-165.1000000000000227373675 -177.7999999999999261035555 -12.69999999999999928945726} V6 {-165.1000000000000227373675 -279.3999999999999772626325 -12.69999999999999928945726} V7 {-165.1000000000000227373675 -279.3999999999999772626325 -114.2999999999999971578291} V8 {-165.1000000000000227373675 -177.7999999999999261035555 -114.2999999999999971578291}
|
||||
put {lt_arm.gray.s} arb8 V1 {-76.19999999999998863131623 177.7999999999999545252649 -12.69999999999999928945726} V2 {-76.19999999999998863131623 279.3999999999999772626325 -12.69999999999999928945726} V3 {-76.19999999999998863131623 279.3999999999999772626325 -114.2999999999999971578291} V4 {-76.19999999999998863131623 177.7999999999999545252649 -114.2999999999999971578291} V5 {-165.0999999999999943156581 177.7999999999999545252649 -12.69999999999999928945726} V6 {-165.0999999999999943156581 279.3999999999999772626325 -12.69999999999999928945726} V7 {-165.0999999999999943156581 279.3999999999999772626325 -114.2999999999999971578291} V8 {-165.0999999999999943156581 177.7999999999999545252649 -114.2999999999999971578291}
|
||||
put {body.white.s2} arb8 V1 {228.6000000000000227373675 -25.39999999999999857891453 38.09999999999999431565811} V2 {228.6000000000000227373675 25.39999999999999857891453 38.09999999999999431565811} V3 {228.6000000000000227373675 25.39999999999999857891453 444.5000000000000568434189} V4 {228.6000000000000227373675 -25.39999999999999857891453 444.5000000000000568434189} V5 {-228.6000000000000227373675 -25.39999999999999857891453 38.09999999999999431565811} V6 {-228.6000000000000227373675 25.39999999999999857891453 38.09999999999999431565811} V7 {-228.6000000000000227373675 25.39999999999999857891453 444.5000000000000568434189} V8 {-228.6000000000000227373675 -25.39999999999999857891453 444.5000000000000568434189}
|
||||
put {body.white.s1} arb8 V1 {228.5999999999999658939487 -228.5999999999999658939487 -12.69999999999999928945726} V2 {228.5999999999999658939487 228.5999999999999658939487 -12.69999999999999928945726} V3 {228.5999999999999658939487 228.5999999999999658939487 63.49999999999999289457264} V4 {228.5999999999999658939487 -228.5999999999999658939487 63.49999999999999289457264} V5 {-228.5999999999999658939487 -228.5999999999999658939487 -12.69999999999999928945726} V6 {-228.5999999999999658939487 228.5999999999999658939487 -12.69999999999999928945726} V7 {-228.5999999999999658939487 228.5999999999999658939487 63.49999999999999289457264} V8 {-228.5999999999999658939487 -228.5999999999999658939487 63.49999999999999289457264}
|
||||
@@ -1,5 +1,4 @@
|
||||
set(
|
||||
CHESS_PARTS
|
||||
set(CHESS_PARTS
|
||||
bishop.asc
|
||||
chessboard.asc
|
||||
king.asc
|
||||
@@ -7,16 +6,16 @@ set(
|
||||
pawn.asc
|
||||
queen.asc
|
||||
rook.asc
|
||||
)
|
||||
)
|
||||
|
||||
foreach(piece ${CHESS_PARTS})
|
||||
g_target(${piece} "BRL-CAD Geometry Models/Sample/Chess")
|
||||
ADD_G_TARGET(${piece} "BRL-CAD Geometry Models/Sample/Chess")
|
||||
endforeach(piece ${CHESS_PARTS})
|
||||
|
||||
cmakefiles(
|
||||
CMAKEFILES(
|
||||
${CHESS_PARTS}
|
||||
CMakeLists.txt
|
||||
)
|
||||
)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
set(COMGEOM_V5_MODELS ADA073408.comgeom)
|
||||
set(COMGEOM_V5_MODELS
|
||||
ADA073408.comgeom
|
||||
)
|
||||
|
||||
foreach(comgeom_input ${COMGEOM_V5_MODELS})
|
||||
g_target(${comgeom_input} "BRL-CAD Geometry Models/Sample")
|
||||
ADD_G_TARGET(${comgeom_input} "BRL-CAD Geometry Models/Sample")
|
||||
endforeach(comgeom_input ${COMGEOM_V5_MODELS})
|
||||
|
||||
cmakefiles(
|
||||
CMAKEFILES(
|
||||
${COMGEOM_V5_MODELS}
|
||||
CMakeLists.txt
|
||||
README_ADA073408
|
||||
|
||||
Executable
+41
@@ -0,0 +1,41 @@
|
||||
string(REPLACE "\\" "" GCV_EXEC "${EXEC}")
|
||||
set(INPUT_FILE "@INPUT_FILE@")
|
||||
set(OUTPUT_FILE "@OUTPUT_FILE@")
|
||||
set(BIN_DIR "@BIN_DIR@")
|
||||
|
||||
# NOTE: OUTPUT_FILE needs to be defined in terms of a path relative to the root
|
||||
# of the build diretory, not as an absolute path. Since that root may change
|
||||
# at runtime in multiconfig builds, the full output path cannot be encoded
|
||||
# directly into the generated script.
|
||||
get_filename_component(OF_ABS "${OUTPUT_FILE}" ABSOLUTE)
|
||||
if ("${OF_ABS}" STREQUAL "${OUTPUT_FILE}")
|
||||
message(FATAL_ERROR "Absoute output file path \"${OUTPUT_FILE}\" supplied for conversion of \"${INPUT_FILE}\" - path must be relative.")
|
||||
endif ("${OF_ABS}" STREQUAL "${OUTPUT_FILE}")
|
||||
|
||||
# Because the build directory changes at runtime in multiconfig builds, we
|
||||
# need to deduce its current value from GCV_EXEC.
|
||||
get_filename_component(CBDIR "${GCV_EXEC}" DIRECTORY)
|
||||
string(REGEX REPLACE "${BIN_DIR}$" "" CROOT "${CBDIR}")
|
||||
|
||||
# BRLCAD_ROOT is the hammer that makes certain we are running
|
||||
# things found in the build directory.
|
||||
set(ENV{BRLCAD_ROOT} "${CROOT}")
|
||||
|
||||
# Now that we know the root, finalize the full path output file location
|
||||
set(OUTPUT_FILE "${CROOT}/${OUTPUT_FILE}")
|
||||
|
||||
execute_process(
|
||||
COMMAND "${GCV_EXEC}" -o "${OUTPUT_FILE}" "${INPUT_FILE}"
|
||||
RESULT_VARIABLE conv_result OUTPUT_VARIABLE conv_log ERROR_VARIABLE conv_log
|
||||
)
|
||||
|
||||
if(conv_result)
|
||||
message(FATAL_ERROR "[geometry conversion] Failure: ${conv_result}\n${GCV_EXEC} -o \"${OUTPUT_FILE}\" \"${INPUT_FILE}\"\n\n${conv_log}")
|
||||
endif(conv_result)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
Regular → Executable
+1
-1
@@ -2,7 +2,7 @@
|
||||
# C U B E . R T
|
||||
# BRL-CAD
|
||||
#
|
||||
# Copyright (c) 2004-2025 United States Government as represented by
|
||||
# Copyright (c) 2004-2020 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/* D B . P H P
|
||||
* BRL-CAD
|
||||
*
|
||||
* Copyright (c) 2004-2025 United States Government as represented by
|
||||
* Copyright (c) 2004-2020 United States Government as represented by
|
||||
* the U.S. Army Research Laboratory.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
|
||||
Binary file not shown.
@@ -1,14 +1,17 @@
|
||||
set(FAA_SAMPLE_MODELS Business_Jet.fg4 Generic_Twin.fg4)
|
||||
set(FAA_SAMPLE_MODELS
|
||||
Business_Jet.fg4
|
||||
Generic_Twin.fg4
|
||||
)
|
||||
|
||||
foreach(faa_input ${FAA_SAMPLE_MODELS})
|
||||
g_target(${faa_input} "BRL-CAD Geometry Models/Sample")
|
||||
ADD_G_TARGET(${faa_input} "BRL-CAD Geometry Models/Sample")
|
||||
endforeach(faa_input ${FAA_SAMPLE_MODELS})
|
||||
|
||||
cmakefiles(
|
||||
CMAKEFILES(
|
||||
${FAA_SAMPLE_MODELS}
|
||||
CMakeLists.txt
|
||||
README
|
||||
)
|
||||
)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
|
||||
@@ -64920,7 +64920,7 @@ CQUAD 12 13 4 12 16 8 0.000 2
|
||||
CCONE2 1 4 17 18 2.250 +
|
||||
+ 2.250 0.000 0.000
|
||||
SECTION 3 168 2 1
|
||||
$NAME 3 168 Horizontal Stabilator Vector Pulley left forward
|
||||
$NAME 3 168 Horiztonal Stabilator Vector Pulley left forward
|
||||
$COMMENT12345678123456781234567812345678123456781234567812345678123456781234567812345678
|
||||
$COMMENT 2 3 4 5 6 7 8 9 10
|
||||
GRID 1 -280.990 6.010 208.570
|
||||
@@ -64992,7 +64992,7 @@ CQUAD 12 13 4 12 16 8 0.000 2
|
||||
CCONE2 1 4 17 18 0.500 +
|
||||
+ 0.500 0.000 0.000
|
||||
SECTION 3 170 2 1
|
||||
$NAME 3 170 Horizontal Stabilator Vector Pulley left aft
|
||||
$NAME 3 170 Horiztonal Stabilator Vector Pulley left aft
|
||||
$COMMENT12345678123456781234567812345678123456781234567812345678123456781234567812345678
|
||||
$COMMENT 2 3 4 5 6 7 8 9 10
|
||||
GRID 1 -1239.68 7.150 204.800
|
||||
@@ -65064,7 +65064,7 @@ CQUAD 12 13 4 12 16 8 0.000 2
|
||||
CCONE2 1 4 17 18 0.500 +
|
||||
+ 0.500 0.000 0.000
|
||||
SECTION 3 172 2 1
|
||||
$NAME 3 172 Horizontal Stabilator Vector Pulley right forward
|
||||
$NAME 3 172 Horiztonal Stabilator Vector Pulley right forward
|
||||
$COMMENT12345678123456781234567812345678123456781234567812345678123456781234567812345678
|
||||
$COMMENT 2 3 4 5 6 7 8 9 10
|
||||
GRID 1 -280.990 -6.010 208.570
|
||||
@@ -65136,7 +65136,7 @@ CQUAD 12 13 4 12 16 8 0.000 2
|
||||
CCONE2 1 4 17 18 0.500 +
|
||||
+ 0.500 0.000 0.000
|
||||
SECTION 3 174 2 1
|
||||
$NAME 3 174 Horizontal Stabilator Vector Pulley right aft
|
||||
$NAME 3 174 Horiztonal Stabilator Vector Pulley right aft
|
||||
$COMMENT12345678123456781234567812345678123456781234567812345678123456781234567812345678
|
||||
$COMMENT 2 3 4 5 6 7 8 9 10
|
||||
GRID 1 -1239.68 -7.150 204.800
|
||||
@@ -209761,7 +209761,7 @@ CTRI 10 1 4 6 8 0.100 2
|
||||
CTRI 11 1 5 7 1 0.100 2
|
||||
CTRI 12 1 7 2 1 0.100 2
|
||||
SECTION 9 639 2 0
|
||||
$NAME 9 639 Standby power control unit
|
||||
$NAME 9 639 Standby power contol unit
|
||||
GRID 1 -217.100 -43.700 249.434
|
||||
GRID 2 -217.100 -44.700 247.434
|
||||
GRID 3 -217.000 -43.700 249.434
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
set(
|
||||
NIST_SAMPLE_MODELS
|
||||
set(NIST_SAMPLE_MODELS
|
||||
NIST_MBE_PMI_1.stp
|
||||
NIST_MBE_PMI_2.stp
|
||||
NIST_MBE_PMI_3.stp
|
||||
@@ -11,10 +10,10 @@ set(
|
||||
)
|
||||
|
||||
foreach(im ${NIST_SAMPLE_MODELS})
|
||||
g_target(${im} "BRL-CAD Geometry Models/Sample")
|
||||
ADD_G_TARGET(${im} "BRL-CAD Geometry Models/Sample")
|
||||
endforeach(im ${NIST_SAMPLE_MODELS})
|
||||
|
||||
cmakefiles(
|
||||
CMAKEFILES(
|
||||
${NIST_SAMPLE_MODELS}
|
||||
CMakeLists.txt
|
||||
README
|
||||
@@ -30,7 +29,7 @@ cmakefiles(
|
||||
pdf/9.pdf
|
||||
pdf/10.pdf
|
||||
pdf/11.pdf
|
||||
)
|
||||
)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
|
||||
+63
-25513
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,36 +0,0 @@
|
||||
title {Sample geometry with a radial gridlines and a shadow-casting light}
|
||||
units m
|
||||
put {cylinder.r} comb region yes tree {- {- {- {- {- {l c1.tgc} {l c1i.tgc}} {l c1c1.arb8}} {l c1c2.arb8}} {l c1c3.tgc}} {l c1c4.tgc}}
|
||||
attr set {cylinder.r} {region} {R} {region_id} {1003} {material_id} {1} {los} {100}
|
||||
put {50m_ring.s} tor V {0 0 0} H {6.12323399573676603586882E-17 0 -1} r_a 50000 r_h 100
|
||||
put {40m_ring.s} tor V {0 0 0} H {6.12323399573676603586882E-17 0 -1} r_a 40000 r_h 100
|
||||
put {30m_ring.s} tor V {0 0 0} H {6.12323399573676603586882E-17 0 -1} r_a 30000 r_h 100
|
||||
put {20m_ring.s} tor V {0 0 0} H {6.12323399573676603586882E-17 0 -1} r_a 20000 r_h 100
|
||||
put {10m_ring.s} tor V {0 0 0} H {6.12323399573676603586882E-17 0 -1} r_a 10000 r_h 100
|
||||
put {c1c2.arb8} arb8 V1 {-1449.999999999999545252649 -99.99999999999998578914528 0} V2 {-1449.999999999999545252649 100 0} V3 {-1449.999999999999545252649 100 1900} V4 {-1449.999999999999545252649 -99.99999999999998578914528 1900} V5 {-449.9999999999999431565811 -99.99999999999998578914528 0} V6 {-449.9999999999999431565811 100 0} V7 {-449.9999999999999431565811 100 1900} V8 {-449.9999999999999431565811 -99.99999999999998578914528 1900}
|
||||
put {c1c1.arb8} arb8 V1 {1450 -500 1250} V2 {1450 500 1250} V3 {1450 500 1750} V4 {1450 -500 1750} V5 {450 -500 1250} V6 {450 500 1250} V7 {450 500 1750} V8 {450 -500 1750}
|
||||
put {ground.s} arb8 V1 {60000.00000000002182787284 -60000.00000000002182787284 -100} V2 {60000.00000000002182787284 60000.00000000002182787284 -100} V3 {60000.00000000002182787284 60000.00000000002182787284 0} V4 {60000.00000000002182787284 -60000.00000000002182787284 0} V5 {-60000.00000000001455191523 -60000.00000000002182787284 -100} V6 {-60000.00000000001455191523 60000.00000000002182787284 -100} V7 {-60000.00000000001455191523 60000.00000000002182787284 0} V8 {-60000.00000000001455191523 -60000.00000000002182787284 0}
|
||||
put {ground.r} comb region yes tree {l ground.s}
|
||||
attr set {ground.r} {region} {R} {region_id} {1000} {material_id} {1} {los} {100} {color} {0/255/0}
|
||||
put {c1c4.tgc} tgc V {-6.123233995736766242944808E-14 -500 1000} H {0 -1000 6.123233995736767505122256E-14} A {200 0 0} B {0 1.224646799147353374806706E-14 -200} C {200 0 0} D {0 1.224646799147353374806706E-14 -200}
|
||||
put {c1c3.tgc} tgc V {0 500 1500} H {0 1000 6.123233995736764980767359E-14} A {200 0 0} B {0 1.224646799147353374806706E-14 -200} C {200 0 0} D {0 1.224646799147353374806706E-14 -200}
|
||||
put {165deg.s} tgc V {53125.92044589875149540603 -14235.04748063865554286167 0} H {-106251.8408917975175427273 28470.09496127731472370215 6.735557395310443447840915E-12} A {-5.91458985689334876413324E-15 1.584809575715884060677382E-15 -100} B {-25.88190451025210236934981 -96.59258262890682544821175 0} C {-5.91458985689334876413324E-15 1.584809575715884060677382E-15 -100} D {-25.88190451025210236934981 -96.59258262890682544821175 0}
|
||||
put {135deg.s} tgc V {38890.87296526011050445959 -38890.8729652601177804172 0} H {-77781.74593052023556083441 77781.74593052025011274964 6.735557395310443447840915E-12} A {-4.329780281177466281177668E-15 4.329780281177467070038573E-15 -100} B {-70.71067811865475505328504 -70.71067811865474084243033 0} C {-4.329780281177466281177668E-15 4.329780281177467070038573E-15 -100} D {-70.71067811865475505328504 -70.71067811865474084243033 0}
|
||||
put {105deg.s} tgc V {14235.04748063864644791465 -53125.92044589875877136365 0} H {-28470.09496127729653380811 106251.8408917975320946425 6.735557395310443447840915E-12} A {-1.58480957571588307460125E-15 5.914589856893349552994145E-15 -100} B {-96.59258262890682544821175 -25.88190451025208460578142 0} C {-1.58480957571588307460125E-15 5.914589856893349552994145E-15 -100} D {-96.59258262890682544821175 -25.88190451025208460578142 0}
|
||||
put {150deg.s} tgc V {47631.39720814413158223033 -27499.99999999999636202119 0} H {-95262.79441628826316446066 55000 6.735557395310443447840915E-12} A {-5.302876193624534820650073E-15 3.061616997868382648155861E-15 -100} B {-49.99999999999999289457264 -86.60254037844387653422018 0} C {-5.302876193624534820650073E-15 3.061616997868382648155861E-15 -100} D {-49.99999999999999289457264 -86.60254037844387653422018 0}
|
||||
put {120deg.s} tgc V {27499.99999999998908606358 -47631.39720814413158223033 0} H {-54999.99999999998544808477 95262.79441628826316446066 6.735557395310443447840915E-12} A {-3.061616997868381859294956E-15 5.302876193624534820650073E-15 -100} B {-86.60254037844387653422018 -49.99999999999997868371793 0} C {-3.061616997868381859294956E-15 5.302876193624534820650073E-15 -100} D {-86.60254037844387653422018 -49.99999999999997868371793 0}
|
||||
put {light.s} ell V {0 0 1500} A {10 0 0} B {0 10 0} C {0 0 10}
|
||||
put {light.r} comb region yes tree {l light.s}
|
||||
attr set {light.r} {oshader} {light {f 10 s 32 v 0}} {region} {R} {shader} {light {f 10.0 s 32 v 0}} {region_id} {1002} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {c1i.tgc} tgc V {0 0 0} H {0 0 1900} A {900 0 0} B {0 900 0} C {900 0 0} D {0 900 0}
|
||||
put {75deg.s} tgc V {-14235.04748063864099094644 -53125.92044589875877136365 0} H {28470.09496127728561987169 106251.8408917975320946425 6.735557395310443447840915E-12} A {1.584809575715882482955572E-15 5.914589856893349552994145E-15 -100} B {-96.59258262890682544821175 25.88190451025207394764038 0} C {1.584809575715882482955572E-15 5.914589856893349552994145E-15 -100} D {-96.59258262890682544821175 25.88190451025207394764038 0}
|
||||
put {45deg.s} tgc V {-38890.8729652601177804172 -38890.8729652601177804172 0} H {77781.74593052025011274964 77781.74593052025011274964 6.735557395310443447840915E-12} A {4.329780281177467070038573E-15 4.329780281177467070038573E-15 -100} B {-70.71067811865475505328504 70.71067811865475505328504 0} C {4.329780281177467070038573E-15 4.329780281177467070038573E-15 -100} D {-70.71067811865475505328504 70.71067811865475505328504 0}
|
||||
put {15deg.s} tgc V {-53125.92044589875877136365 -14235.04748063864099094644 0} H {106251.8408917975320946425 28470.09496127728561987169 6.735557395310443447840915E-12} A {5.914589856893349552994145E-15 1.584809575715882482955572E-15 -100} B {-25.88190451025207394764038 96.59258262890682544821175 0} C {5.914589856893349552994145E-15 1.584809575715882482955572E-15 -100} D {-25.88190451025207394764038 96.59258262890682544821175 0}
|
||||
put {90deg.s} tgc V {-3.367778697655221320023674E-12 -55000 0} H {6.735557395310443447840915E-12 110000.0000000000145519152 6.735557395310443447840915E-12} A {3.749399456654643800636173E-31 6.123233995736766085172627E-15 -100} B {-100 6.123233995736766085172627E-15 0} C {3.749399456654643800636173E-31 6.123233995736766085172627E-15 -100} D {-100 6.123233995736766085172627E-15 0}
|
||||
put {60deg.s} tgc V {-27500.00000000000727595761 -47631.39720814412430627272 0} H {55000.00000000002182787284 95262.79441628826316446066 6.735557395310443447840915E-12} A {3.061616997868383437016766E-15 5.302876193624534031789167E-15 -100} B {-86.60254037844386232336547 50.00000000000001421085472 0} C {3.061616997868383437016766E-15 5.302876193624534031789167E-15 -100} D {-86.60254037844386232336547 50.00000000000001421085472 0}
|
||||
put {30deg.s} tgc V {-47631.39720814413158223033 -27499.99999999999636202119 0} H {95262.79441628826316446066 55000 6.735557395310443447840915E-12} A {5.302876193624534820650073E-15 3.061616997868382253725408E-15 -100} B {-49.99999999999999289457264 86.60254037844387653422018 0} C {5.302876193624534820650073E-15 3.061616997868382253725408E-15 -100} D {-49.99999999999999289457264 86.60254037844387653422018 0}
|
||||
put {grid.r} comb region yes tree {u {u {u {u {u {l 50m_ring.s} {l 40m_ring.s}} {u {l 30m_ring.s} {l 20m_ring.s}}} {u {u {l 10m_ring.s} {l 0deg.s}} {u {l 15deg.s} {l 30deg.s}}}} {u {u {u {l 45deg.s} {l 60deg.s}} {u {l 75deg.s} {l 90deg.s}}} {u {u {l 105deg.s} {l 120deg.s}} {u {l 135deg.s} {l 150deg.s}}}}} {l 165deg.s}}
|
||||
attr set {grid.r} {region} {R} {shader} {plastic} {region_id} {1001} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {c1.tgc} tgc V {0 0 0} H {0 0 2000} A {1000 0 0} B {0 1000 0} C {1000 0 0} D {0 1000 0}
|
||||
put {0deg.s} tgc V {-55000 0 0} H {110000.0000000000145519152 0 6.735557395310443447840915E-12} A {6.123233995736766085172627E-15 0 -100} B {0 100 0} C {6.123233995736766085172627E-15 0 -100} D {0 100 0}
|
||||
put {all.g} comb region no tree {u {u {u {- {l ground.r} {l grid.r}} {- {l grid.r} {l c1.tgc}}} {l cylinder.r}} {l light.r}}
|
||||
File diff suppressed because one or more lines are too long
+2
-2
@@ -4,14 +4,14 @@ C Y ground.r 1000 0 1 0 1 100 0 0 0 0 1 1 0
|
||||
stack
|
||||
camo o=2 s=100000; turbump s=20000; plastic sp=.1 di=.7
|
||||
M u terra.s 1.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0
|
||||
s dsp terra.no_sm file="terra.bin" sm=0 w=256 n=256 stom=100000,0,0,0,0,100000,0,0,0,0,25,0,0,0,0,1
|
||||
s dsp terra.no_sm file="terra.dsp" sm=0 w=256 n=256 stom=100000,0,0,0,0,100000,0,0,0,0,25,0,0,0,0,1
|
||||
S 20 water.s 0 2.560000000000e+07 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 2.560000000000e+07 0.000000000000e+00 0.000000000000e+00 2.560000000000e+07 1.187252625000e+06 0.000000000000e+00 0.000000000000e+00 1.187252625000e+06 -2.560000000000e+07 0.000000000000e+00 0.000000000000e+00 -2.560000000000e+07 2.560000000000e+07 0.000000000000e+00 -2.560000000000e+07 2.560000000000e+07 1.187252625000e+06 -2.560000000000e+07 0.000000000000e+00 1.187252625000e+06
|
||||
C Y water.r 1001 0 2 0 1 100 1 114 147 163 1 1 0
|
||||
stack
|
||||
turbump s=100000; glass tr=0 re=0.4
|
||||
M u water.s 1.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0
|
||||
M - terra.s 1.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0
|
||||
s dsp terra.s file="terra.bin" sm=1 w=256 n=256 stom=100000,0,0,0,0,100000,0,0,0,0,25,0,0,0,0,1
|
||||
s dsp terra.s file="terra.dsp" sm=1 w=256 n=256 stom=100000,0,0,0,0,100000,0,0,0,0,25,0,0,0,0,1
|
||||
S 19 light.s 0 3.869340800000e+07 5.792957000000e+06 1.000000000000e+07 1.000000000000e+06 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+06 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+06 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00
|
||||
C Y light.r 1002 0 1 0 1 100 1 250 253 191 1 0 0
|
||||
light
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
# Make sure the converter executable exists
|
||||
string(REPLACE "\\" "" CONV_EXEC "${EXEC}")
|
||||
if(NOT EXISTS "${CONV_EXEC}")
|
||||
message(FATAL_ERROR "Invalid geometry converter executable specified: ${CONV_EXEC}")
|
||||
endif(NOT EXISTS "${CONV_EXEC}")
|
||||
|
||||
# Use local cache directories for the conversion
|
||||
set(CBDIR "@CMAKE_CURRENT_BINARY_DIR@")
|
||||
set(CSDIR "@CMAKE_CURRENT_SOURCE_DIR@")
|
||||
set(BU_DIR_CACHE ${CBDIR}/cache_@in_model_root@)
|
||||
set(LIBRT_CACHE ${CBDIR}/rtcache_@in_model_root@)
|
||||
set(ENV{BU_DIR_CACHE} ${BU_DIR_CACHE})
|
||||
set(ENV{LIBRT_CACHE} ${LIBRT_CACHE})
|
||||
file(REMOVE_RECURSE "${BU_DIR_CACHE}")
|
||||
file(REMOVE_RECURSE "${LIBRT_CACHE}")
|
||||
file(MAKE_DIRECTORY "${BU_DIR_CACHE}")
|
||||
file(MAKE_DIRECTORY "${LIBRT_CACHE}")
|
||||
|
||||
# Deduce the current BRLCAD_ROOT value from the conversion executable path.
|
||||
# Setting BRLCAD_ROOT is the hammer that makes certain we are running things
|
||||
# found in the build directory.
|
||||
get_filename_component(CEDIR "${CONV_EXEC}" DIRECTORY)
|
||||
set(BIN_DIR "@BIN_DIR@")
|
||||
string(REGEX REPLACE "${BIN_DIR}$" "" CROOT "${CEDIR}")
|
||||
set(ENV{BRLCAD_ROOT} "${CROOT}")
|
||||
|
||||
# Now that we know the root, finalize the full path output file location and
|
||||
# run the conversion.
|
||||
execute_process(
|
||||
COMMAND "${CONV_EXEC}" @CONV_ARGS@
|
||||
RESULT_VARIABLE conv_result
|
||||
OUTPUT_VARIABLE conv_log
|
||||
ERROR_VARIABLE conv_log
|
||||
)
|
||||
|
||||
if(conv_result)
|
||||
set(CARGS @CONV_ARGS@)
|
||||
message(FATAL_ERROR "[@in_model_root@] Failure: ${conv_result}\n${CONV_EXEC} ${CARGS}\"\n\n${conv_log}")
|
||||
endif(conv_result)
|
||||
|
||||
# Cleanup
|
||||
execute_process(
|
||||
COMMAND "@CMAKE_COMMAND@" -E rm -rf ${BU_DIR_CACHE}
|
||||
)
|
||||
execute_process(
|
||||
COMMAND "@CMAKE_COMMAND@" -E rm -rf ${LIBRT_CACHE}
|
||||
)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
-184496
File diff suppressed because it is too large
Load Diff
@@ -1,89 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Ensure /bin/sh
|
||||
export PATH || (echo "This isn't sh."; sh $0 $*; kill $$)
|
||||
path_to_this="`dirname $0`"
|
||||
LC_ALL=C
|
||||
|
||||
echo Looking for RT...
|
||||
# find the raytracer
|
||||
# RT environment variable overrides
|
||||
if test "x${RT}" = "x" ; then
|
||||
# see if we find the rt binary
|
||||
if test -x "$path_to_this/../src/rt/rt" ; then
|
||||
echo ...found $path_to_this/../src/rt/rt
|
||||
RT="$path_to_this/../src/rt/rt"
|
||||
elif test -x "$path_to_this/rt" ; then
|
||||
echo ...found $path_to_this/rt
|
||||
RT="$path_to_this/rt"
|
||||
elif test -x "$path_to_this/../bin/rt" ; then
|
||||
echo ...found $path_to_this/../bin/rt
|
||||
RT="$path_to_this/../bin/rt"
|
||||
elif test -x "$path_to_this/../build/bin/rt" ; then
|
||||
echo ...found $path_to_this/../build/bin/rt
|
||||
RT="$path_to_this/../build/bin/rt"
|
||||
elif test -x "/usr/brlcad/bin/rt" ; then
|
||||
echo ...found /usr/brlcad/bin/rt
|
||||
RT="/usr/brlcad/bin/rt"
|
||||
fi
|
||||
else
|
||||
echo ...using $RT from RT environment variable setting
|
||||
fi
|
||||
|
||||
echo Looking for DB...
|
||||
# find the geometry directory
|
||||
# DB environment variable overrides
|
||||
if test "x${DB}" = "x" ; then
|
||||
# see if we find the db dir
|
||||
if test -d "$path_to_this/../build/share/db" ; then
|
||||
echo ...found $path_to_this/../build/share/db
|
||||
DB="$path_to_this/../build/share/db"
|
||||
elif test -d "$path_to_this/../db" ; then
|
||||
echo ...found $path_to_this/../db
|
||||
DB="$path_to_this/../db"
|
||||
elif test -d "$path_to_this/db" ; then
|
||||
echo ...found $path_to_this/db
|
||||
DB="$path_to_this/db"
|
||||
fi
|
||||
else
|
||||
echo ...using $DB from DB environment variable setting
|
||||
fi
|
||||
|
||||
# print results or choke
|
||||
if test "x${RT}" = "x" ; then
|
||||
echo "ERROR: Could not find the BRL-CAD raytracer"
|
||||
exit 1
|
||||
else
|
||||
echo "Using [$RT] for RT"
|
||||
fi
|
||||
if test "x${DB}" = "x" ; then
|
||||
echo "ERROR: Could not find the BRL-CAD database directory"
|
||||
exit 1
|
||||
else
|
||||
echo "Using [$DB] for DB"
|
||||
fi
|
||||
|
||||
if test -f traffic_light.png ; then mv traffic_light.png traffic_light.png.$$ ; fi
|
||||
if test -f traffic_light.log ; then mv traffic_light.log traffic_light.log.$$ ; fi
|
||||
|
||||
echo "Ray-tracing to file: traffic_light.png"
|
||||
|
||||
$RT -M -s1024 $*\
|
||||
-o traffic_light.png\
|
||||
${DB}/traffic_light.g\
|
||||
'scene.c' \
|
||||
2> traffic_light.log\
|
||||
<<EOF
|
||||
viewsize 1.60626398444471e+03;
|
||||
orientation 5.25794963790780e-01 4.41938505076552e-01 4.69062489119843e-01 5.55166997473420e-01;
|
||||
eye_pt 3.17305150328335e+04 -5.45678517872137e+03 5.82070858116997e+03;
|
||||
start 0; clean;
|
||||
end;
|
||||
|
||||
EOF
|
||||
|
||||
if test x$? != x0 ; then
|
||||
echo "ERROR: Ray-trace failed."
|
||||
fi
|
||||
|
||||
echo "Done. See traffic_light.log for details."
|
||||
Binary file not shown.
+3
-94
@@ -645,7 +645,7 @@
|
||||
volume = {Proceedings SPIE, 1098},
|
||||
pages = {42-54},
|
||||
year = {1989},
|
||||
url = {http://dx.doi.org/10.1117/12.960423},
|
||||
url = { http://dx.doi.org/10.1117/12.960423},
|
||||
owner = {morrison},
|
||||
timestamp = {2008.02.05}
|
||||
}
|
||||
@@ -1298,7 +1298,7 @@
|
||||
|
||||
@TECHREPORT{Ross92,
|
||||
author = {Ross, Adam},
|
||||
title = {3D Geometric Target Analysis of The Advanced Field Artillery System (AFAS)},
|
||||
title = {3D Geometric Target Analysis of The Advanced Field Artillary System (AFAS)},
|
||||
year = {1992},
|
||||
month = aug,
|
||||
publisher = {The U.S. Army Ballistic Research Laboratory},
|
||||
@@ -1847,21 +1847,6 @@
|
||||
timestamp = {2008.02.07}
|
||||
}
|
||||
|
||||
@INPROCEEDINGS{Moulton02a,
|
||||
author = {Moulton, Jr., Russ and Fink, Christopher E.},
|
||||
title = {Ray-tracing approach for realistic hyperspectral forest canopies},
|
||||
booktitle = {Targets and Backgrounds VIII: Characterization and Representation, Proceedings of SPIE},
|
||||
volume = {4178},
|
||||
pages = {46-64},
|
||||
year = {2002},
|
||||
month = aug,
|
||||
doi = {10.1117/12.478828},
|
||||
location = {Orlando, FL, United States},
|
||||
note = {Society of Photo-Optical Instrumentation Engineers (SPIE). Presented at AeroSense 2002.},
|
||||
owner = {morrison},
|
||||
timestamp = {2022.01.10}
|
||||
}
|
||||
|
||||
@ARTICLE{Mathy03a,
|
||||
author = {Mathy, F. and Guillemaud, R. and Picone, M.},
|
||||
title = {Experimental validation of a coupled photon Monte Carlo and CAD software},
|
||||
@@ -1887,7 +1872,7 @@
|
||||
pages = {175-193},
|
||||
number = {2},
|
||||
month = feb,
|
||||
eid = {10.1016/S0010-4485(03)00060-5},
|
||||
eid = {10.1016/S0010-4485(03)00060-5 },
|
||||
owner = {cyapp},
|
||||
timestamp = {2008.02.08}
|
||||
}
|
||||
@@ -2261,82 +2246,6 @@
|
||||
timestamp = {2018.06.06}
|
||||
}
|
||||
|
||||
@TECHREPORT{Dean18a,
|
||||
author = {Dean, Allen and Thomas, Jr., John},
|
||||
title = {Development of Large and Small Missile Target Models},
|
||||
institution = {United States Air Force Research Laboratory, Munitions Directorate},
|
||||
year = {2018},
|
||||
month = dec,
|
||||
number = {AFRL-RW-EG-TR-2018-100},
|
||||
address = {Air Force Research Laboratory, Eglin Air Force Base, FL 32542-6810},
|
||||
note = {Distribution authorized to Department of Defense and U.S. DoD contractors only; critical technology; distribution limitations applied November 2018. Other requests must be referred to AFRL/RWML, Eglin AFB FL 32542-5910.},
|
||||
owner = {morrison},
|
||||
timestamp = {2020.10.30}
|
||||
}
|
||||
|
||||
@TECHREPORT{Velykodniy19a,
|
||||
author = {Velykodniy, Stanislav and Burlachenko, Zh and Zaitseva-Velykodna, Svitlana},
|
||||
title = {Graphic Databases Reengineering in BRL-CAD Open Source Computer-aided Design Environment. Modeling of the Structural Part},
|
||||
institution = {Odessa State Environmental University},
|
||||
year = {2019},
|
||||
month = {06},
|
||||
pages = {130-139},
|
||||
doi = {10.30929/1995-0519.2019.3.130-139},
|
||||
note = {Ukrainian title: РЕИНЖИНИРИНГ ГРАФИЧЕСКИХ БАЗ ДАННЫХ В СРЕДЕ ОТКРЫТОЙ СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ BRL-CAD. МОДЕЛИРОВАНИЕ СТРУКТУРНОЙ ЧАСТИ},
|
||||
owner = {morrison},
|
||||
timestamp = {2021.10.02}
|
||||
}
|
||||
|
||||
@ARTICLE{Velykodniy19b,
|
||||
author = {Velykodniy, Stanislav Sergeyevich},
|
||||
title = {ANALYSIS AND SYNTHESIS OF THE RESULTS OF COMPLEX EXPERIMENTAL RESEARCH ON REENGINEERING OF OPEN CAD SYSTEMS},
|
||||
journal = {Applied Aspects of Information Technology},
|
||||
institution = {Ministry of Education and Science of Ukraine, Odessa National Polytechnic University},
|
||||
year = {2019},
|
||||
month = {06},
|
||||
pages = {186-205},
|
||||
volume = {2}
|
||||
number = {3},
|
||||
issn = {2617-4316},
|
||||
doi = {10.15276/aait.03.2019.2},
|
||||
address = {Odessa National Polytechnic University 1, Shevchenko Avenue 65044, Odessa, Ukraine},
|
||||
note = {Web Site: https://aait.opu.ua},
|
||||
owner = {morrison},
|
||||
timestamp = {2021.10.02}
|
||||
}
|
||||
|
||||
@ARTICLE{Velykodniy19c,
|
||||
author = {Velykodniy, Stanislav Sergeyevich},
|
||||
title = {Reengineering of Open Software System of 3D Modeling BRL-CAD},
|
||||
journal = {Innovative Technologies and Scientific Solutions for Industries},
|
||||
institution = {Kharkov National University of Radio Electronics, State Enterprise "Southern National Design & Research Institute of Aerospace Industries"},
|
||||
year = {2019},
|
||||
month = sep,
|
||||
day = {23},
|
||||
pages = {62-71},
|
||||
number = {3 (9)},
|
||||
issn = {2522-9818},
|
||||
doi = {10.30837/2522-9818.2019.9.062},
|
||||
url = {https://itssi-journal.com/index.php/ittsi/article/view/145},
|
||||
address = {Ukraine, 61166, Kharkiv, Nauka Ave, 14},
|
||||
note = {Affiliation: Odessa State Environmental University. Information site: http://itssi-journal.com},
|
||||
owner = {morrison},
|
||||
timestamp = {2021.10.02}
|
||||
}
|
||||
|
||||
@TECHREPORT{Yapp20,
|
||||
author = {Yapp, Cliff},
|
||||
title = {Methodology Improvements to Non-Uniform Rational B-Splines (NURBS) Geometry Conversion in BRL-CAD},
|
||||
institution = {United States Army, Data and Analysis Center},
|
||||
year = {2020},
|
||||
month = mar,
|
||||
number = {CCDC DAC-TR-2020-021, JASPO-V-19-03-001},
|
||||
address = {Data and Analysis Center, Aberdeen Proving Ground, MD 21005-5068},
|
||||
note = {Approved for Public Release, distribution unlimited.},
|
||||
owner = {morrison},
|
||||
timestamp = {2021.08.05}
|
||||
}
|
||||
|
||||
@comment{jabref-meta: selector_journal:}
|
||||
|
||||
@comment{jabref-meta: selector_author:}
|
||||
|
||||
+20
-40
@@ -2,39 +2,35 @@ verbose_add_subdirectory(doc docbook)
|
||||
verbose_add_subdirectory(doc html)
|
||||
verbose_add_subdirectory(doc legal)
|
||||
|
||||
set(
|
||||
documentation_DATA
|
||||
set(documentation_DATA
|
||||
BRL-CAD.bib
|
||||
GITHUB
|
||||
IDEAS
|
||||
PROJECTS
|
||||
README.Linux
|
||||
README.MacOSX
|
||||
README.Windows
|
||||
README.BSD
|
||||
README.Solaris
|
||||
README.VAX
|
||||
README.other/README.AIX
|
||||
README.other/README.BSD
|
||||
README.other/README.IRIX
|
||||
README.other/README.Solaris
|
||||
README.other/README.VAX
|
||||
checklist.txt
|
||||
description.txt
|
||||
notes/TODO.BREP
|
||||
notes/TODO.shaded_displays
|
||||
notes/apitrace.txt
|
||||
notes/brep.txt
|
||||
notes/bu_opt_design_notes.txt
|
||||
notes/cvs.txt
|
||||
notes/debugging_example.txt
|
||||
notes/debugging_notes.txt
|
||||
notes/editors.txt
|
||||
notes/history.txt
|
||||
notes/hypot.txt
|
||||
notes/mater.txt
|
||||
notes/matrix.txt
|
||||
pre_BRL-CAD.bib
|
||||
)
|
||||
add_doc(documentation_DATA ".")
|
||||
)
|
||||
ADD_DOC(documentation_DATA ".")
|
||||
|
||||
set(
|
||||
documentation_mged_old_DATA
|
||||
set(documentation_mged_old_DATA
|
||||
mged/a.tex
|
||||
mged/adc.ps
|
||||
mged/all.tex
|
||||
@@ -204,33 +200,17 @@ set(
|
||||
notes/rounding.txt
|
||||
notes/tool_categories.txt
|
||||
old-mged.tr
|
||||
)
|
||||
add_doc(documentation_mged_old_DATA mged_old REQUIRED "mged")
|
||||
)
|
||||
ADD_DOC(documentation_mged_old_DATA mged_old)
|
||||
|
||||
if(TARGET mged)
|
||||
configure_file(pad_file.xml.in "${CMAKE_CURRENT_BINARY_DIR}/pad_file.xml" @ONLY)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/pad_file.xml")
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/pad_file.xml" DESTINATION ${DOC_DIR})
|
||||
endif(TARGET mged)
|
||||
configure_file(pad_file.xml.in "${CMAKE_CURRENT_BINARY_DIR}/pad_file.xml" @ONLY)
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/pad_file.xml" DESTINATION ${DOC_DIR})
|
||||
|
||||
cmakefiles(
|
||||
CMAKEFILES(
|
||||
CMakeLists.txt
|
||||
README.adoc
|
||||
README.other/README.OSCON-2014
|
||||
STARTERS
|
||||
STRATEGY
|
||||
git/bisect.txt
|
||||
git/check.yml
|
||||
git/diffing.txt
|
||||
git/git2gource.cpp
|
||||
git/gitconfig
|
||||
git/gitk
|
||||
git/gitstats.txt
|
||||
git/gource.sh
|
||||
git/gource.txt
|
||||
git/history.txt
|
||||
git/merging.txt
|
||||
git/mime_types.txt
|
||||
git/usability.txt
|
||||
notes/bsd_semaphore_bug.txt
|
||||
notes/cmake_paths/CMakeLists.txt
|
||||
notes/cmake_paths/README.txt
|
||||
@@ -241,10 +221,10 @@ cmakefiles(
|
||||
notes/implicit_constraints.txt
|
||||
notes/lcov.txt
|
||||
pad_file.xml.in
|
||||
)
|
||||
)
|
||||
|
||||
# Generic C/C++ examples
|
||||
cmakefiles(
|
||||
CMAKEFILES(
|
||||
notes/c_cxx_patterns/01_basic_C/CMakeLists.txt
|
||||
notes/c_cxx_patterns/01_basic_C/main.c
|
||||
notes/c_cxx_patterns/01_basic_C/nlib.c
|
||||
@@ -267,10 +247,10 @@ cmakefiles(
|
||||
notes/c_cxx_patterns/05_PImpl_CXX/nlib.h
|
||||
notes/c_cxx_patterns/CMakeLists.txt
|
||||
notes/c_cxx_patterns/README
|
||||
)
|
||||
)
|
||||
|
||||
# Notes about parser generators
|
||||
cmakefiles(
|
||||
CMAKEFILES(
|
||||
notes/parsers/bison_to_lemon.txt
|
||||
notes/parsers/flex_to_re2c.txt
|
||||
notes/parsers/templates/CMakeLists.txt
|
||||
@@ -279,7 +259,7 @@ cmakefiles(
|
||||
notes/parsers/templates/parser.lemon
|
||||
notes/parsers/templates/scanner.perplex
|
||||
notes/parsers/writing_perplex_lemon_parsers.txt
|
||||
)
|
||||
)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
|
||||
-104
@@ -1,104 +0,0 @@
|
||||
BRL-CAD has migrated from the Sourceforge hosting solution
|
||||
(https://sf.net/projects/brlcad) to Github (https://github.com/BRL-CAD/brlcad).
|
||||
As with other large projects that have undertaken large scale hosting and VCS
|
||||
migration(1) the BRL-CAD project is adjusting to working in the new
|
||||
environment. The following notes are intended to capture practical tips and
|
||||
information related to working with BRL-CAD on the Github platform.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
For those wishing to direct Github emails to different addresses on a
|
||||
per-project basis, the following information may be useful:
|
||||
|
||||
https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#customizing-email-routes-per-organization
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Using Github Actions to iteratively debug problems.
|
||||
|
||||
Github's runners (build platforms for it's Actions CI system) offer a way to
|
||||
test platforms we don't otherwise have access to. Sometimes, if we need to
|
||||
iteratively test inputs being supplied to tools on those platforms to diagnose
|
||||
a problem, the full configure/build/test cycle can be a very slow way to
|
||||
proceed.
|
||||
|
||||
A way forward in this case is to create a temporary local repository with a
|
||||
checking of the binary version of BRL-CAD used for the specific platform in
|
||||
question, along with test inputs and an action defined to run the specific test
|
||||
in question. (REMEMBER - github repos are public, so only define and use inputs
|
||||
suitable for public consumption!)
|
||||
|
||||
For the below example, we created a repository with the Windows binary install
|
||||
and a README file explaining what the test is doing:
|
||||
|
||||
-rw-rw-r-- 1 user user 72 Sep 23 17:52 README
|
||||
drwxrwxr-x 3 user user 12288 Sep 24 07:41 bin
|
||||
drwxrwxr-x 4 user user 4096 Sep 23 17:49 libexec
|
||||
drwxrwxr-x 13 user user 4096 Sep 23 17:50 lib
|
||||
drwxrwxr-x 5 user user 4096 Sep 23 17:49 include
|
||||
drwxrwxr-x 16 user user 4096 Sep 23 17:50 share
|
||||
drwxrwxr-x 8 user user 4096 Sep 24 07:42 .git
|
||||
drwxrwxr-x 3 user user 4096 Sep 23 17:53 .github
|
||||
|
||||
Then, in the .github/workflows directory we create a .yml file to trigger the
|
||||
test whenever we push a change. For this example we were wanting to test the
|
||||
benchmark script, so we create a .github/workflows/benchmark.yml file with the
|
||||
following contents:
|
||||
|
||||
name: benchhmark
|
||||
on: [push]
|
||||
jobs:
|
||||
bench:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
# https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#adding-a-system-path
|
||||
- run: echo '::add-path::{C:\Program Files\Git\bin}'
|
||||
- run: sh.exe ./bin/benchmark run
|
||||
|
||||
This allowed developers to iteratively adjust the bin/benchmark shell script
|
||||
and test the results in the compilation Windows environment, *without* having
|
||||
to perform the full compilation cycle on Windows each time. Once a working
|
||||
benchmark script was identified it was added back to the primary repository and
|
||||
the test repo deleted.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Debugging flags can be added to the actions environment for a given repo:
|
||||
|
||||
https://github.community/t/ci-access-to-shell-session/17250
|
||||
|
||||
(Note: the "Secrets" label is misleading in this particular case - that is
|
||||
the mechanism by which the values are introduced into the runner environment,
|
||||
but there are no actual secrets contained in the values of the debugging
|
||||
variables.)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Git provides a stats page, but that page reports only commits to the "main"
|
||||
branch. To prepare a more comprehensive stats page, one alternative that has
|
||||
been tested is:
|
||||
|
||||
https://github.com/tomgi/git_stats
|
||||
|
||||
After installing, statistics pages can be generated by running:
|
||||
the following in a clone of the repository.
|
||||
|
||||
user@machine:~/brlcad$ git_stats generate
|
||||
|
||||
Note - on Ubuntu, per https://github.com/rails/rails/issues/34822 I had to add the line:
|
||||
to the git_stats file
|
||||
|
||||
user@machine:~$ echo "gem 'bigdecimal', '1.4.2'" >> /var/lib/gems/2.7.0/gems/git_stats-1.0.17/bin/git_stats
|
||||
|
||||
and install the older version of bigdecimal (per https://stackoverflow.com/a/17026442):
|
||||
|
||||
user@machine:~$ gem install bigdecimal -v 1.4.2
|
||||
|
||||
|
||||
---------------------------------------------------------------------------------
|
||||
(1) Other large scale git conversions:
|
||||
https://web.archive.org/web/20130327012743/https://techbase.kde.org/Projects/MovetoGit
|
||||
https://techbase.kde.org/Projects/MovetoGit
|
||||
https://blog.runtux.com/posts/2014/04/18/233/
|
||||
https://blogs.ed.ac.uk/timc/2017/11/24/migrating-from-svn-to-git-while-splitting-repository/
|
||||
http://esr.ibiblio.org/?p=5634
|
||||
http://esr.ibiblio.org/?p=6792
|
||||
http://esr.ibiblio.org/?p=8607
|
||||
https://gitlab.com/ideasman42/blender-git-migration/
|
||||
+10
-72
@@ -34,17 +34,6 @@ cmake ../brlcad -DBRLCAD_WORD_SIZE=64BIT
|
||||
* Note that in both of the above situations you need both a compiler that
|
||||
works in the alternate mode and system libraries of the correct type.
|
||||
|
||||
Alpine Linux
|
||||
------------
|
||||
|
||||
Alpine is an interesting test platform in that it does not use
|
||||
glibc but instead relies on mucl.
|
||||
|
||||
At a minimum, will need the following packages:
|
||||
apk add cmake git gcc g++ make linux-headers
|
||||
|
||||
TODO - look into setup-xorg-base
|
||||
|
||||
|
||||
Arch Linux
|
||||
----------
|
||||
@@ -64,10 +53,10 @@ you will be able to compile BRL-CAD.
|
||||
|
||||
Following the build instructions in the INSTALL file. You will need:
|
||||
|
||||
gcc (8+, e.g. 8.0.3)
|
||||
g++ (8+, e.g. 8.0.3)
|
||||
gcc (3+, e.g. 4.0.3)
|
||||
g++ (3+, e.g. 4.0.3)
|
||||
make (e.g. gnu make 3.8.0)
|
||||
cmake (3.20 or newer)
|
||||
cmake (2.8.8 or newer)
|
||||
|
||||
All three of those have implicit dependencies on other packages.
|
||||
|
||||
@@ -100,14 +89,10 @@ should be deleted and recreated for each new attempt at package
|
||||
generation.
|
||||
|
||||
|
||||
Redhat/Rocky (should also apply to other Redhat derivatives)
|
||||
------------------------------------------------------------
|
||||
Redhat/Fedora
|
||||
-------------
|
||||
|
||||
If you don't already have the necessary development tools:
|
||||
|
||||
yum install git cmake gcc gcc-c++
|
||||
|
||||
Development packages for building on Redhat-based platforms:
|
||||
Development packages for building on Redhat/Fedora platforms:
|
||||
|
||||
yum install libX11-devel
|
||||
yum install libXext-devel # optional
|
||||
@@ -116,53 +101,14 @@ Development packages for building on Redhat-based platforms:
|
||||
yum install fontconfig-devel # optional
|
||||
yum install mesa-libGL-devel # optional
|
||||
|
||||
If you wish to create rpm packages, you'll need rpmbuild
|
||||
|
||||
yum install rpm-build # optional
|
||||
|
||||
When setting up older OS versions for building BRL-CAD, it is sometimes
|
||||
necessary to install some non-default compilation tools in addition to the
|
||||
usual dependencies. (The default toolchain can be too old to properly build
|
||||
BRL-CAD, if the compilers don't support sufficiently modern standards.) The
|
||||
following example is for Rocky Linux 8:
|
||||
|
||||
yum install scl-utils
|
||||
yum install gcc-toolset-11
|
||||
|
||||
Then to run within that environment:
|
||||
|
||||
scl enable gcc-toolset-11 bash
|
||||
|
||||
|
||||
The CMake version may be too old as well. One way to deal with this is to
|
||||
download the source code and bootstrap it (do this within the gcc-toolset-11
|
||||
enabled bash):
|
||||
|
||||
sudo yum install openssl-devel
|
||||
|
||||
curl -L -O -J https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3.tar.gz
|
||||
tar -xvf cmake-3.28.3.tar.gz
|
||||
cd cmake-3.28.3
|
||||
./bootstrap --prefix=/opt/cmake
|
||||
make -j3 && make install
|
||||
export PATH=/opt/cmake/bin
|
||||
|
||||
From there, with the gcc-toolset enabled and the PATH set to include the new
|
||||
CMake, it should be possible to proceed normally with the build.
|
||||
|
||||
-------
|
||||
|
||||
To determine what particular version of Redhat or Redhat-like system you are
|
||||
To determine what particular version of Redhat or Fedora you are
|
||||
using, check these files:
|
||||
|
||||
cat /etc/redhat-release (Redhat)
|
||||
cat /etc/fedora-release (Fedora)
|
||||
cat /etc/rocky-release (Rocky)
|
||||
|
||||
-------
|
||||
cat /etc/redhat-release
|
||||
cat /etc/fedora-release
|
||||
|
||||
Note there is a supported rpm package generation script in file
|
||||
'sh/make_rpm.sh' which can only function on a Redhat-derived
|
||||
'sh/make_rpm.sh' which can only function on a Fedora or openSUSE
|
||||
system. It can be used like so:
|
||||
|
||||
$ cd <BRL-CAD source directory>
|
||||
@@ -173,14 +119,6 @@ system. It can be used like so:
|
||||
It is also possible to create an RPM package using CPack with the
|
||||
make package build target, on systems with the proper RPM tools.
|
||||
|
||||
-------
|
||||
|
||||
One issue encountered running Rocky Linux 8 in VirtualBox - networking is off
|
||||
by default. To enable, look for a file in /etc/sysconfig/network-scripts/
|
||||
called something like enp0s3 and set ONBOOT=yes (see
|
||||
https://unix.stackexchange.com/a/79273)
|
||||
|
||||
|
||||
PPC64 Linux
|
||||
-----------
|
||||
|
||||
|
||||
+9
-14
@@ -28,8 +28,9 @@ http://www.cmake.org/cmake/resources/software.html
|
||||
X11 Window Server
|
||||
-----------------
|
||||
You'll need to install an X11 server if you would like to build Tk and
|
||||
have a graphical user interface. Apple no longer supports X11, so the
|
||||
recommended X Window Server is now XQuartz: http://www.xquartz.org
|
||||
have a graphical user interface. Apple's X11 is the recommended X
|
||||
Window Server, but XQuartz should work too and is often newer than the
|
||||
official Apple version: http://xquartz.macosforge.org
|
||||
|
||||
Supported Versions
|
||||
------------------
|
||||
@@ -81,20 +82,14 @@ online may prove fruitful.
|
||||
|
||||
So far, if parallel building doesn't work due to the above issue a
|
||||
non-parallel build will still succeed. Another workaround is to build
|
||||
just subdirectories (e.g. src, doc, etc.) individually and then
|
||||
just subdirectories (e.g. src/other, doc, etc.) individually and then
|
||||
do a toplevel make in non-parallel mode to finalize the build.
|
||||
|
||||
|
||||
Debugging
|
||||
---------
|
||||
|
||||
Apple now employs code signing and we do not yet. To debug apps using
|
||||
Instruments, they will need to be signed with permissions in order to
|
||||
debug them. Here's an example that signs them all with a
|
||||
get-task-allow permission that lets them be introspected:
|
||||
|
||||
echo "<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>com.apple.security.get-task-allow</key><true/></dict></plist>" >> debug.plist
|
||||
codesign -s - -v -f --entitlements debug.plist bin/*
|
||||
OpenSceneGraph and OSX
|
||||
----------------------
|
||||
For 32bit OSX builds of an X11+OpenSceneGraph BRL-CAD:
|
||||
cmake .. -DBRLCAD_BUNDLED_LIBS=BUNDLED -DBRLCAD_ENABLE_OSG=ON
|
||||
-DBRLCAD_REGEX=SYSTEM -DBRLCAD_WORD_SIZE=32BIT -DOSG_WINDOWING_SYSTEM=X11
|
||||
|
||||
|
||||
Tips
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
BRL-CAD on Solaris README
|
||||
=========================
|
||||
There have been a variety of Solaris-style operating systems that appeared
|
||||
following Sun's open-source release of OpenSolaris.
|
||||
|
||||
Kitware does not provide a pre-compiled binary for CMake on Solaris
|
||||
type systems. To bootstrap from the source code, try the following:
|
||||
|
||||
(You probably want to use gmake and gcc/g++ for this...)
|
||||
|
||||
1. Download the source from http://www.cmake.org/cmake/resources/software.html
|
||||
2. unzip the tarball: gunzip cmake-X.Y.Z.tar.gz
|
||||
3. open the tarball: tar -xvf cmake-X.Y.Z.tar
|
||||
4. cd cmake-X.Y.Z
|
||||
5. CXX=g++ ./bootstrap -prefix=/home/user/cmake-install (or your preferred directory)
|
||||
6. gmake
|
||||
7. gmake install
|
||||
|
||||
Then (if you installed to somewhere other than a system dir) add the
|
||||
bin directory to your path:
|
||||
|
||||
csh: setenv PATH /home/user/cmake-install/bin:$PATH
|
||||
bash: export PATH=/home/user/cmake-install/bin:$PATH
|
||||
|
||||
From there, you can proceed with building BRL-CAD. The most recent tests
|
||||
of the Sun Studio compiler suggest that there are issues to resolve,
|
||||
so (unless you want to fix those issues, which would be welcome!) you
|
||||
probably want to use the GCC compiler suite to build BRL-CAD as well:
|
||||
|
||||
CC=gcc CXX=g++ cmake ../brlcad
|
||||
|
||||
If while compiling you encounter an error "Text relocation remains against
|
||||
symbol" along with some number of lines following, it usually means that the
|
||||
build has attempted to link a static system library into a shared library being
|
||||
compiled. If this happens, it likely indicates a problem with the CMake build
|
||||
logic and should be reported as a bug - you may also need to install a shared
|
||||
version of the library. Another possibility would be to add -mipure-text to
|
||||
the linker flags.
|
||||
|
||||
OpenIndiana
|
||||
-----------
|
||||
|
||||
To build with gcc and CMake on OpenIndiana, you need to install the
|
||||
following packages:
|
||||
|
||||
pkg install pkg:/developer/gcc-7
|
||||
pkg install pkg:/developer/build/cmake
|
||||
pkg install pkg:/developer/versioning/subversion
|
||||
pkg install pkg:/system/header
|
||||
pkg install pkg:/developer/lexer/flex
|
||||
|
||||
(Note that gcc-7 building doesn't work as of 2017-08-23 - the above install
|
||||
list is a starting point, but the repo currently doesn't build and isn't close
|
||||
to building. UPDATE - as of 2024 a *much* newer compiler will be needed...
|
||||
C++17 support is now required.)
|
||||
+45
-131
@@ -3,23 +3,57 @@ BRL-CAD on Windows README
|
||||
|
||||
The usual way to build BRL-CAD for Windows is to use the CMake build
|
||||
system generator and the Microsoft Visual Studio C++ (MSVC) compiler.
|
||||
Recent versions of both are recommended. If generating an installer,
|
||||
the following options are available and supported:
|
||||
Recent versions of both (as of this writing, MSVC 2013 and CMake
|
||||
2.8.12+) are recommended. If generating an installer, the Nullsoft
|
||||
Scriptable Install System (NSIS) tool is also required.
|
||||
|
||||
Nullsoft Scriptable Install System (NSIS) - generates a. .exe installer
|
||||
|
||||
WiX Toolset - generates an MSI installer.
|
||||
|
||||
These tools must be installed separately - they are not included with
|
||||
CMake or Visual Studio.
|
||||
|
||||
Note: In principle BRL-CAD can be built using CMake and environments
|
||||
like Cygwin and/or Mingw/Msys, but they are largely untested and
|
||||
In principle, BRL-CAD can be built using CMake and environments like
|
||||
Cygwin and/or Mingw/Msys, but the latter is largely untested and
|
||||
infrequently supported. Enhancements or bug reports are welcome.
|
||||
|
||||
Visual Studio
|
||||
-------------
|
||||
|
||||
=== Notes on Windows 10 with latest SDK ===
|
||||
Because Tk before 8.6.8 cannot be built with the latest Windows SDK
|
||||
(naming conflicts; see [1]), an earlier one (10.0.15063.0 is the
|
||||
last working version) is needed (available at [2]).
|
||||
|
||||
Targets `tk`, `tkstub` and `libfb` need to be changed to use this SDK
|
||||
(right click on a target -> Configuration Properties -> General;
|
||||
select the SDK in Windows SDK Version).
|
||||
|
||||
Compilation is then unchanged from the below.
|
||||
|
||||
[1]: https://core.tcl.tk/tk/tktview?name=3d34589aa0
|
||||
[2]: https://developer.microsoft.com/en-us/windows/downloads/sdk-archive
|
||||
|
||||
===========================================
|
||||
|
||||
=== Notes on Visual Studio 14 2015 ===
|
||||
|
||||
In order to build this version (required to build the Creo 3 converter)
|
||||
with CMake, you must ensure that Microsoft's "rc.exe" program is
|
||||
installed and findable by CMake.
|
||||
|
||||
To install "rc.exe", run or re-run the Visual Studio installer and enable
|
||||
Visual C++ components and "Visual Studio Extensibility Tools Update 1" under
|
||||
the "Common Tools" section.
|
||||
|
||||
The extensibility tools can become unselected by default in some
|
||||
configurations. Verify "rc.exe" is installed in:
|
||||
|
||||
"C:\Program Files (x86)\Windows Kits\8.1\bin\x64"
|
||||
|
||||
Add that directory to your "Path" user variable so CMake will be able to
|
||||
locate the rc executable.
|
||||
|
||||
See:
|
||||
https://stackoverflow.com/questions/43847542/rc-exe-no-longer-found-in-vs-2015-command-prompt
|
||||
|
||||
======================================
|
||||
|
||||
|
||||
To build with CMake and Visual Studio, the first step is to obtain the
|
||||
BRL-CAD sources and create a build directory. In principle, it is not
|
||||
*required* to have a separate build directory, but with Windows and
|
||||
@@ -59,126 +93,6 @@ You may want to produce an NSIS installer. If so, locate a target
|
||||
named PACKAGE and run it. The end result should be an .exe file
|
||||
capable of installing BRL-CAD.
|
||||
|
||||
Debugging with Visual Studio
|
||||
----------------------------
|
||||
|
||||
For most compilation environments, BRL-CAD defines a Debug build
|
||||
configuration which disables optimizations and a Release build that
|
||||
enables them - although Debug builds are generally easier to use when
|
||||
tracking down problems, both configurations keep debugging information.
|
||||
This allows for easier diagnosis of problems in real-world use, as
|
||||
well as diagnosis of issues that occur only when optimizations are
|
||||
enabled.
|
||||
|
||||
MSVC and Windows present a more complicated situation. On that platform,
|
||||
Debug versions of applications are not redistributable:
|
||||
https://docs.microsoft.com/en-us/cpp/windows/determining-which-dlls-to-redistribute
|
||||
|
||||
As a consequence the default BRL-CAD build configuration for Release
|
||||
(unlike other platforms) does not support debugging.
|
||||
|
||||
If it is necessary to debug a Release mode specific issue on Windows,
|
||||
extra steps are needed. Users of CMake may be familiar with the build
|
||||
configuration RelWithDebInfo, which is normally disabled for BRL-CAD
|
||||
builds - debugging a Release-mode-only problem is exactly the situation
|
||||
in which this build configuration is needed.
|
||||
|
||||
To re-enable the availability of RelWithDebInfo for BRL-CAD builds, set
|
||||
the compilation variable ENABLE_ALL_CONFIG_TYPES to ON - once set,
|
||||
BRL-CAD's configure will no longer eliminate CMake build types other
|
||||
than Debug and Release.
|
||||
|
||||
Working with MSI files
|
||||
----------------------
|
||||
|
||||
The WiX Toolset's MSI file, in addition to the standard interactive
|
||||
graphical install, also supports a command line based silent
|
||||
install. (See, for example, https://stackoverflow.com/a/25230485)
|
||||
|
||||
msiexec.exe /i c:\BRL-CAD-7.32.0_win64.msi /QN /L*V "C:\Temp\brlcad_install.log"
|
||||
|
||||
The logging step is not required but is recommended to allow for
|
||||
easier understanding of any issues that might arise.
|
||||
|
||||
===========================================
|
||||
|
||||
=== Setting a specific SDK version ===
|
||||
|
||||
If a particular version of the Windows SDK is needed, it is specified
|
||||
with CMAKE_SYSTEM_VERSION (for example, to use 10.0.15063.0 the user
|
||||
would define a New Entry in the CMake GUI before running configure,
|
||||
make the variable CMAKE_SYSTEM_VERSION as a string type, and assign the
|
||||
value of 10.0.15063.0.)
|
||||
|
||||
Note that for this to work the SDK version in question must be
|
||||
installed on the system. To see what versions are installed,
|
||||
look for Windows SDK installs in the "Apps & Features" Setup
|
||||
interface.
|
||||
|
||||
=======================================================
|
||||
|
||||
=== Tracking down the source of a header inclusion ===
|
||||
|
||||
If a Windows system header is reporting an error, it can be helpful to identify
|
||||
where the header is being included from. By default MSVC doesn't report this,
|
||||
but in Visual Studio there is a "ShowIncludes" setting that may be enabled to
|
||||
find this information:
|
||||
|
||||
https://stackoverflow.com/a/1138045
|
||||
|
||||
This setting may also be added to the compilation flags directly
|
||||
in CMake as "/showIncludes":
|
||||
|
||||
https://docs.microsoft.com/en-us/cpp/build/reference/showincludes-list-include-files
|
||||
|
||||
Note that the output of this can be very verbose, especially if applied
|
||||
globally to all targets - you may want to consider applying it specifically to
|
||||
an individual target with target_compile_options. This flag is a very useful
|
||||
tool when trying to determine *why* a particular header is present in an error
|
||||
message.
|
||||
|
||||
=========================================================
|
||||
|
||||
=== Debugging build outputs from a Ninja compilation ===
|
||||
|
||||
Normally, Visual Studio is used to debug Windows executables. However,
|
||||
another alternative is available called WinDbg:
|
||||
|
||||
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools
|
||||
|
||||
This has been used successfully to debug Ninja produced executables.
|
||||
Note that if debugging an issue unique to Release builds, you will
|
||||
want to set the CMake variable ENABLE_ALL_CONFIG_TYPES to ON
|
||||
and the specific build type to RelWithDebInfo
|
||||
|
||||
cmake.exe -G Ninja -ENABLE_ALL_CONFIG_TYPES=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
||||
|
||||
===========================================
|
||||
|
||||
=== Notes on Visual Studio 14 2015 ===
|
||||
|
||||
In order to build this version (required to build the Creo 3 converter)
|
||||
with CMake, you must ensure that Microsoft's "rc.exe" program is
|
||||
installed and findable by CMake.
|
||||
|
||||
To install "rc.exe", run or re-run the Visual Studio installer and enable
|
||||
Visual C++ components and "Visual Studio Extensibility Tools Update 1" under
|
||||
the "Common Tools" section.
|
||||
|
||||
The extensibility tools can become unselected by default in some
|
||||
configurations. Verify "rc.exe" is installed in:
|
||||
|
||||
"C:\Program Files (x86)\Windows Kits\8.1\bin\x64"
|
||||
|
||||
Add that directory to your "Path" user variable so CMake will be able to
|
||||
locate the rc executable.
|
||||
|
||||
See:
|
||||
https://stackoverflow.com/questions/43847542/rc-exe-no-longer-found-in-vs-2015-command-prompt
|
||||
|
||||
======================================
|
||||
|
||||
|
||||
MINGW (WORK IN PROGRESS - THIS DOES NOT YET WORK!!!)
|
||||
-----
|
||||
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
= BRL-CAD: Open Source Solid Modeling
|
||||
:toc: macro
|
||||
:toc-title:
|
||||
:icons: font
|
||||
:experimental:
|
||||
|
||||
// Attributes for easy maintenance
|
||||
:project-url: https://brlcad.org
|
||||
:docs-url: https://brl-cad.github.io/docs
|
||||
:repo-url: https://github.com/BRL-CAD/brlcad
|
||||
:chat-url: https://brlcad.zulipchat.com
|
||||
|
||||
image:https://img.shields.io/badge/license-BSD/LGPL-blue.svg["License"]
|
||||
image:https://img.shields.io/badge/status-active-brightgreen.svg["Status"]
|
||||
|
||||
BRL-CAD is a powerful open-source cross-platform solid modeling system that includes interactive geometry editing, high-performance ray-tracing for rendering and geometric analysis, image and signal-processing tools, a system performance analysis benchmark suite, and libraries for robust geometric manipulation.
|
||||
|
||||
For more than 40 years, BRL-CAD has been a primary solid modeling system used by the U.S. military to model weapons systems for vulnerability and lethality analyses.
|
||||
|
||||
---
|
||||
|
||||
toc::[]
|
||||
|
||||
== Key Features
|
||||
|
||||
* **CSG Modeling:** Constructive Solid Geometry (CSG) provides precise Boolean operations on primitives.
|
||||
* **High Performance:** Multi-threaded ray-tracing and a high-performance memory allocator.
|
||||
* **Hybrid Representation:** Supports both CSG and B-Rep (NURBS) geometry.
|
||||
* **Extensive Toolset:** Over 400 specialized command-line utilities for geometry processing.
|
||||
* **Legacy of Stability:** Proven in production environments since 1979.
|
||||
|
||||
== Getting Started
|
||||
|
||||
=== Prerequisites
|
||||
To build BRL-CAD from source, you will need:
|
||||
* **CMake** (3.14+)
|
||||
* **C/C++ Compiler** (GCC, Clang, or MSVC)
|
||||
* **Build Tools** (Make, Ninja, or Visual Studio)
|
||||
|
||||
=== Quick Build (Unix/macOS)
|
||||
[source,bash]
|
||||
----
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DBRLCAD_BUNDLED_LIBS=ON -DCMAKE_BUILD_TYPE=Release
|
||||
make -j$(nproc)
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
====
|
||||
For detailed installation instructions across different platforms, please refer to our link:{docs-url}/install[Installation Guide].
|
||||
====
|
||||
|
||||
== Documentation
|
||||
|
||||
We are currently transitioning our extensive documentation (Docbook/XML + MediaWiki + troff + text + ...) to an **Antora-powered ecosystem**.
|
||||
|
||||
* **Tutorials:** link:{docs-url}/tutorials[Browse the Manuals]
|
||||
* **Developer Guides:** link:{docs-url}/hacking and link:{repo-url}/blob/main/HACKING
|
||||
* **Wiki:** {project-url}/wiki[snapshot that is a little out of date]
|
||||
* **Etc:** link:{docs-url}[Not everything, but a lot]
|
||||
|
||||
== Contributing
|
||||
|
||||
BRL-CAD is a community-driven project. We welcome contributions in the form of bug reports, feature requests, code, and documentation.
|
||||
|
||||
1. **Chat with Us:** Connect with us on Zulip link:{chat-url}.
|
||||
2. **Find Issues:** Check our link:{repo-url}/issues[Issue Tracker].
|
||||
3. **Submit a PR:** We follow a standard Fork-and-Pull Request workflow.
|
||||
|
||||
[IMPORTANT]
|
||||
.Documentation Contributors
|
||||
We're prototyping the use of **AsciiDoc** for all project documentation in a separate "docs" repo.
|
||||
|
||||
== License
|
||||
|
||||
BRL-CAD is free and open-source software. Most components are licensed under the **BSD** or **LGPL** licenses. See the `COPYING` file for more details.
|
||||
@@ -0,0 +1,35 @@
|
||||
BRL-CAD on AIX README
|
||||
=====================
|
||||
|
||||
Dec. 15, 2011 - As of this date, it has been some time since an AIX
|
||||
build of BRL-CAD has been tested, and thus far it has NOT been tested
|
||||
b with the new CMake build system.
|
||||
|
||||
Kitware provides an AIX powerpc binary for CMake, see
|
||||
http://www.cmake.org/cmake/resources/software.html
|
||||
|
||||
|
||||
Building BRL-CAD under AIX is fairly straightforward using a correctly
|
||||
installed version on the GCC compiler. If, however, you are using the
|
||||
IBM Visual Age compiler, then there are additional manual compilation
|
||||
steps that will be necessary. In particular, the IBM compiler and
|
||||
associated standard C library headers are inconsistent with respect to
|
||||
ANSI/POSIX compliance compiler options.
|
||||
|
||||
The IBM compiler supports a variety of compliance options, the two of
|
||||
particular relevance to building BRL-CAD (in terms of being the close
|
||||
to obtaining a functional compile) are the strict compliance
|
||||
(-qlanglvl=stdc89) or "extended" compliance (-qlanglvl=extc89) modes.
|
||||
Problems encountered in our build environment using strict compliance
|
||||
does mostly work though we ran into errors in the standard C library
|
||||
headers.
|
||||
|
||||
Using the "extended" compliance mode resolved the standard C library
|
||||
header issues, but introduces problems in the compilation of BRL-CAD
|
||||
as the compiler then disables the provision of the __STDC__
|
||||
preprocessor symbol. BRL-CAD then defaults back to K&R mode, which
|
||||
the compiler verbosely refuses to compile. The "quick fix" that has
|
||||
been used in the past is to simply swap the compiler between the two
|
||||
modes as when one fails (e.g. strict), the other usually succeeds
|
||||
(e.g. extended). Barring that working, you can use extended mode and
|
||||
define __STDC__ manually.
|
||||
@@ -14,10 +14,3 @@ packaging mechanisms. Failing that, CMake can be bootstrapped
|
||||
without much difficulty on most modern Unix-style platforms.
|
||||
|
||||
BRL-CAD is included in the FreeBSD Ports system.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
When setting up to compile on GhostBSD, the following packages are
|
||||
enough to get started:
|
||||
|
||||
pkg install cmake ninja os-generic-userland-devtools
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
BRL-CAD on IRIX README
|
||||
======================
|
||||
|
||||
Building on IRIX is one of the most tricky platforms to support
|
||||
without installing up-to-date compilation tools. That said, the build
|
||||
has and should work just fine with either the MIPSPro or GCC
|
||||
compilers. The best performance is usually achieved with the MIPSPro
|
||||
compiler, whereas GCC will compile faster with less fuss.
|
||||
|
||||
Kitware provides CMake binaries for IRIX64 platforms:
|
||||
http://www.cmake.org/cmake/resources/software.html
|
||||
|
||||
|
||||
Parallel building
|
||||
-----------------
|
||||
For parallel compilation on IRIX, the -P option enables parallel
|
||||
build mode and the PARALLEL environment variable sets the number
|
||||
of CPUs (default is two):
|
||||
|
||||
PARALLEL=4 make -P
|
||||
|
||||
|
||||
Potential problems you may encounter
|
||||
------------------------------------
|
||||
|
||||
Symptom: MIPSPro linker reports symbol(s) missing
|
||||
|
||||
Description: There's a known bug in the MIPSpro linker involving
|
||||
rpaths that are too long (namely longer than 255 characters) so care
|
||||
should be taken to not compile in directories that are too deep. The
|
||||
way this bug is usually seen is that the build will fail during
|
||||
compilation where unresolved symbols are reported during linking,
|
||||
symbols that are correctly included in the libraries being linked.
|
||||
|
||||
Workaround: It is usually sufficient to retry the compile from a
|
||||
shorter path. (e.g., /tmp instead of /some/deep/path/to/brlcad)
|
||||
|
||||
---
|
||||
|
||||
Symptom: GCC crashes during compilation with internal errors
|
||||
|
||||
Description: Certain versions of the gcc compiler are known to crash
|
||||
with internal error messages, for example on src/mged/animedit.c, when
|
||||
using optimization flags (i.e. -O3).
|
||||
|
||||
Workaround: Compile in whatever directory is failing with -O0 instead:
|
||||
cd src/mged
|
||||
sed -i "s/ -O3 / -O0 /g" CMakeFiles/mged.dir/flags.make
|
||||
make
|
||||
cd ../..
|
||||
make
|
||||
@@ -0,0 +1,53 @@
|
||||
BRL-CAD: A Vibrant Open Source Model
|
||||
|
||||
+ intro
|
||||
|
||||
- speaker
|
||||
|
||||
- old vs. new (Rurel's joke about old farmer and his young farmhand)
|
||||
|
||||
+ overview
|
||||
|
||||
- history, players
|
||||
|
||||
Mike Muuss [author of ping]
|
||||
|
||||
- license
|
||||
|
||||
- languages (Ohloh stats)
|
||||
|
||||
+ important technical features
|
||||
|
||||
- database format
|
||||
|
||||
- tools
|
||||
|
||||
- libraries
|
||||
|
||||
- use of other FOSS libraries
|
||||
|
||||
- road map
|
||||
|
||||
+ other features
|
||||
|
||||
+ community
|
||||
|
||||
- players (Ohloh stats)
|
||||
|
||||
+ process
|
||||
|
||||
- Source Forge
|
||||
|
||||
- API changes
|
||||
|
||||
- deprecation policy
|
||||
|
||||
- release procedures
|
||||
|
||||
- version control
|
||||
|
||||
- bug tracking
|
||||
|
||||
- policy
|
||||
|
||||
- outreach
|
||||
@@ -0,0 +1,61 @@
|
||||
BRL-CAD on Solaris README
|
||||
=========================
|
||||
In recent years, there have been a variety of Solaris-style operating
|
||||
systems that have appeared, following Sun's open-source release of
|
||||
OpenSolaris. OpenSolaris itself doesn't seem to be especially active, but
|
||||
another derivative system called OpenIndiana has appeared, based on the
|
||||
illumos kernel - the Solaris file will be the place to add any notes
|
||||
needed to build on such derivative systems, as well as Solaris proper.
|
||||
|
||||
Kitware does not provide a pre-compiled binary for CMake on Solaris
|
||||
type systems. To bootstrap from the source code, try the following:
|
||||
|
||||
(You probably want to use gmake and gcc/g++ for this...)
|
||||
|
||||
1. Download the source from http://www.cmake.org/cmake/resources/software.html
|
||||
2. unzip the tarball: gunzip cmake-X.Y.Z.tar.gz
|
||||
3. open the tarball: tar -xvf cmake-X.Y.Z.tar
|
||||
4. cd cmake-X.Y.Z
|
||||
5. CXX=g++ ./bootstrap -prefix=/home/user/cmake-install (or your preferred directory)
|
||||
6. gmake
|
||||
7. gmake install
|
||||
|
||||
Then (if you installed to somewhere other than a system dir) add the
|
||||
bin directory to your path:
|
||||
|
||||
csh: setenv PATH /home/user/cmake-install/bin:$PATH
|
||||
bash: export PATH=/home/user/cmake-install/bin:$PATH
|
||||
|
||||
From there, you should be good to build BRL-CAD. The most recent tests
|
||||
of the Sun Studio compiler suggest that there are issues to resolve,
|
||||
so (unless you want to fix those issues, which would be welcome!) you
|
||||
probably want to use the GCC compiler suite to build BRL-CAD as well:
|
||||
|
||||
CC=gcc CXX=g++ cmake ../brlcad
|
||||
|
||||
If while compiling you encounter an error "Text relocation remains
|
||||
against symbol" along with some number of lines following, it usually
|
||||
means that the build has attempted to link a static system library
|
||||
into a shared library being compiled (e.g. attempting to link a system
|
||||
libz.a into the png library distributed in src/other/libpng being
|
||||
compiled as libpng.so). If this happens, it likely indicates a problem
|
||||
with the CMake build logic and should be reported as a bug - you may also
|
||||
need to install a shared version of the library. Another possibility
|
||||
would be to add -mipure-text to the linker flags.
|
||||
|
||||
OpenIndiana
|
||||
-----------
|
||||
|
||||
To build with gcc and CMake on OpenIndiana, you need to install the
|
||||
following packages:
|
||||
|
||||
pkg install pkg:/developer/gcc-7
|
||||
pkg install pkg:/developer/build/cmake
|
||||
pkg install pkg:/developer/versioning/subversion
|
||||
pkg install pkg:/system/header
|
||||
pkg install pkg:/developer/lexer/flex
|
||||
|
||||
(Note that gcc-7 building doesn't work as of 2017-08-23 - the above
|
||||
install list is a starting point, but the repo currently doesn't
|
||||
build and isn't close to building. It may be an older gcc would
|
||||
have better luck...)
|
||||
+1
-1
@@ -32,7 +32,7 @@ Difficulty:
|
||||
Prerequisites:
|
||||
* Basic familiarity with C++ STL
|
||||
References:
|
||||
* https://github.com/BRL-CAD/stepcode
|
||||
* src/other/step
|
||||
* src/conv/step
|
||||
* include
|
||||
* http://www.sgi.com/tech/stl/
|
||||
|
||||
+2
-2
@@ -7,7 +7,7 @@
|
||||
BRL-CAD Development Strategy
|
||||
|
||||
This is a living document that defines and aims to help maintain a
|
||||
consistent development strategy for addressing BRL-CAD requirements.
|
||||
consistent develpment strategy for addressing BRL-CAD requirements.
|
||||
It recognizes areas of strategic importance, outlines projects to
|
||||
bolster those areas, and identifies specific actionable objectives.
|
||||
|
||||
@@ -234,7 +234,7 @@ bolster those areas, and identifies specific actionable objectives.
|
||||
**** TODO create data caching test cases (1)
|
||||
**** TODO implement libbu data caching (1)
|
||||
|
||||
*** implement LIBRT object caching (4)
|
||||
*** implment LIBRT object caching (4)
|
||||
**** TODO serialize BoT prep data to cache (1)
|
||||
**** TODO serialize NURBS prep data to cache (1)
|
||||
**** TODO serialize tess/plot data to cache (2)
|
||||
|
||||
+1
-1
@@ -60,7 +60,7 @@ Compilation
|
||||
Testing
|
||||
-------
|
||||
28. Are any new inputs checked, sanitized?
|
||||
29. For changes fixing a recurrent bug, is there an accompanying test?
|
||||
29. For changes fixing a recurrant bug, is there an accompanying test?
|
||||
30. Does performance testing pass and NOT decrease? No slow downs.
|
||||
31. Do all regression tests pass? No new failures.
|
||||
|
||||
|
||||
@@ -1,13 +1,47 @@
|
||||
# Define a build target that builds a no-op executable, so we can ensure
|
||||
# a target for generator expression use regardless of other changes elsewhere
|
||||
# in the build system
|
||||
add_executable(db_dir_info db_dir_info.c)
|
||||
set_target_properties(db_dir_info PROPERTIES FOLDER "DocBook")
|
||||
|
||||
# We need various configuration files set up for DocBook processing tools
|
||||
add_subdirectory(resources)
|
||||
|
||||
# Rework CMake binary and source paths for DocBook templates - if we
|
||||
# have spaces in the paths, they will cause a problem.
|
||||
string(REPLACE " " "%20" DOCBOOK_BINARY_DIR "${CMAKE_BINARY_DIR}")
|
||||
string(REPLACE " " "%20" DOCBOOK_SOURCE_DIR "${CMAKE_SOURCE_DIR}")
|
||||
|
||||
# Files for PDF products
|
||||
if(BRLCAD_EXTRADOCS_PDF)
|
||||
# Apache FOP needs a couple of config files set up
|
||||
set(srcdir ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/fop.xconf.in ${CMAKE_BINARY_DIR}/doc/docbook/fop.xconf)
|
||||
endif(BRLCAD_EXTRADOCS_PDF)
|
||||
|
||||
# For the html files, we need brlcad.css
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/brlcad_css-${CMAKE_CFG_INTDIR}-done
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/css/brlcad.css $<TARGET_FILE_DIR:db_dir_info>/${RBIN_DIR}/${DOC_DIR}/html/css/brlcad.css
|
||||
COMMAND "${CMAKE_COMMAND}" -E touch ${CMAKE_CURRENT_BINARY_DIR}/brlcad_css-${CMAKE_CFG_INTDIR}-done
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/css/brlcad.css
|
||||
)
|
||||
add_custom_target(brlcad_css DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/brlcad_css-${CMAKE_CFG_INTDIR}-done)
|
||||
set_target_properties(brlcad_css PROPERTIES FOLDER "DocBook")
|
||||
install(FILES css/brlcad.css DESTINATION ${DOC_DIR}/html/css)
|
||||
DISTCLEAN(${CMAKE_CFG_INTDIR}/${DOC_DIR}/html/css/brlcad.css)
|
||||
|
||||
# Include CMake macros for DocBook.
|
||||
include(${BRLCAD_SOURCE_DIR}/misc/CMake/DocBook.cmake)
|
||||
|
||||
add_subdirectory(articles)
|
||||
add_subdirectory(books)
|
||||
add_subdirectory(devguides)
|
||||
add_subdirectory(lessons)
|
||||
add_subdirectory(presentations)
|
||||
add_subdirectory(specifications)
|
||||
add_subdirectory(system)
|
||||
|
||||
set(
|
||||
ignore_files
|
||||
set(ignore_files
|
||||
CMakeLists.txt
|
||||
README
|
||||
README.DB_authors_notes
|
||||
@@ -15,8 +49,8 @@ set(
|
||||
db_dir_info.c
|
||||
fop.xconf.in
|
||||
log4j.properties
|
||||
)
|
||||
cmakefiles(${ignore_files})
|
||||
)
|
||||
CMAKEFILES(${ignore_files})
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
|
||||
+1
-1
@@ -161,7 +161,7 @@ OTHER CONSIDERATIONS
|
||||
These documents make extensive use of the XInclude modular
|
||||
documentation specification. Consequently, the contents of any one
|
||||
particular "document" may be scattered over many other documents.
|
||||
This design direction is intended to allow reuse of standard
|
||||
This design direction is intended to allow re-use of standard
|
||||
definitions and descriptions in multiple documents serving multiple
|
||||
purposes. When a definition is updated for one document,
|
||||
re-generation of other documents will incorporate the update as well
|
||||
|
||||
@@ -1,28 +1,19 @@
|
||||
# Style sheet for XSLT transformation to article HTML pages
|
||||
if(BRLCAD_EXTRADOCS_HTML)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl")
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl)
|
||||
endif(BRLCAD_EXTRADOCS_HTML)
|
||||
|
||||
if(BRLCAD_EXTRADOCS_PHP)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl")
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl)
|
||||
endif(BRLCAD_EXTRADOCS_PHP)
|
||||
|
||||
# Files for PDF products
|
||||
if(BRLCAD_EXTRADOCS_PDF)
|
||||
# Style sheet for XSLT transformation to PDF
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-article-fo-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-fo-stylesheet.xsl
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-fo-stylesheet.xsl")
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-article-fo-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-fo-stylesheet.xsl)
|
||||
endif(BRLCAD_EXTRADOCS_PDF)
|
||||
|
||||
# For HTML and FO (FO is an intermediate file used in the
|
||||
@@ -32,8 +23,7 @@ set(XSL_PHP_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/wordpres
|
||||
set(XSL_HTML_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl")
|
||||
set(XSL_FO_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-fo-stylesheet.xsl")
|
||||
|
||||
set(
|
||||
articles_EN
|
||||
set(articles_EN
|
||||
TEMPLATE.xml
|
||||
about.xml
|
||||
build_pattern.xml
|
||||
@@ -51,10 +41,9 @@ set(
|
||||
mged.xml
|
||||
main_menu.xml
|
||||
overlap_tool.xml
|
||||
)
|
||||
)
|
||||
|
||||
set(
|
||||
articles_EN_IMAGES
|
||||
set(articles_EN_IMAGES
|
||||
images/Lee_tux.gif
|
||||
images/build_pattern_fig01.png
|
||||
images/build_pattern_fig02.png
|
||||
@@ -174,26 +163,27 @@ set(
|
||||
images/prims.gif
|
||||
images/rim.gif
|
||||
images/rim.jpg
|
||||
)
|
||||
if(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
if(BRLCAD_EXTRADOCS)
|
||||
add_doc(articles_EN_IMAGES html/articles/images)
|
||||
add_docbook("HTML;PHP;PDF" articles_EN articles articles_EN_IMAGES_cp)
|
||||
endif(BRLCAD_EXTRADOCS)
|
||||
endif(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
)
|
||||
if(BRLCAD_EXTRADOCS)
|
||||
ADD_DOC(articles_EN_IMAGES articles/images)
|
||||
else(BRLCAD_EXTRADOCS)
|
||||
CMAKEFILES(${articles_EN_IMAGES})
|
||||
endif(BRLCAD_EXTRADOCS)
|
||||
|
||||
cmakefiles(
|
||||
ADD_DOCBOOK("HTML;PHP;PDF" articles_EN articles articles_EN_IMAGES_cp)
|
||||
|
||||
CMAKEFILES(
|
||||
CMakeLists.txt
|
||||
${articles_EN}
|
||||
${articles_EN_IMAGES}
|
||||
images/tire_fig12.svg
|
||||
images/tire_fig13.svg
|
||||
)
|
||||
)
|
||||
|
||||
add_subdirectory(hy)
|
||||
add_subdirectory(it)
|
||||
add_subdirectory(ru)
|
||||
|
||||
CMAKEFILES(CMakeLists.txt)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
|
||||
@@ -82,14 +82,14 @@
|
||||
<imageobject role="html">
|
||||
<!--
|
||||
NOTE: fileref will normally be something like
|
||||
"../articles/images/nirt_fig02.png" NOT http: URL
|
||||
"../../articles/images/nirt_fig02.png" NOT http: URL
|
||||
-->
|
||||
<imagedata align="center" fileref="http://brlcad.org/images/logo/BRL-CAD_gear_logo_w_name_256.png" format="PNG" width="256"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<!--
|
||||
NOTE: fileref will normally be something like
|
||||
"../articles/images/nirt_fig02.png" NOT http: URL
|
||||
"../../articles/images/nirt_fig02.png" NOT http: URL
|
||||
-->
|
||||
<imagedata align="center" fileref="http://brlcad.org/images/logo/BRL-CAD_gear_logo_w_name_256.png" format="PNG" width="256"/>
|
||||
</imageobject>
|
||||
|
||||
@@ -77,10 +77,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/build_pattern_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_pattern_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/build_pattern_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_pattern_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -131,7 +131,7 @@ part.s26 part.s26-1 part.s27 part.s28 part.s28+1 part.s28-1 part.s29
|
||||
thorough and name each primitive, region, and assembly properly. Consider
|
||||
the following example:
|
||||
|
||||
<inlinemediaobject><imageobject role="html"><imagedata fileref="../articles/images/build_pattern_fig07.png"/></imageobject><imageobject role="fo"><imagedata fileref="../articles/images/build_pattern_fig07.png"/></imageobject></inlinemediaobject>
|
||||
<inlinemediaobject><imageobject role="html"><imagedata fileref="../../articles/images/build_pattern_fig07.png"/></imageobject><imageobject role="fo"><imagedata fileref="../../articles/images/build_pattern_fig07.png"/></imageobject></inlinemediaobject>
|
||||
</para>
|
||||
<para>
|
||||
Top-level duplications copy the patterned object and reference its entire
|
||||
@@ -186,10 +186,10 @@ part.s26 part.s26-1 part.s27 part.s28 part.s28+1 part.s28-1 part.s29
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/build_pattern_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_pattern_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/build_pattern_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_pattern_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -243,10 +243,10 @@ part.s26 part.s26-1 part.s27 part.s28 part.s28+1 part.s28-1 part.s29
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/build_pattern_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_pattern_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/build_pattern_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_pattern_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -269,10 +269,10 @@ part.s26 part.s26-1 part.s27 part.s28 part.s28+1 part.s28-1 part.s29
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/build_pattern_fig04.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_pattern_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/build_pattern_fig04.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_pattern_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -282,10 +282,10 @@ part.s26 part.s26-1 part.s27 part.s28 part.s28+1 part.s28-1 part.s29
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/build_pattern_fig05.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_pattern_fig05.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/build_pattern_fig05.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_pattern_fig05.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -310,10 +310,10 @@ part.s26 part.s26-1 part.s27 part.s28 part.s28+1 part.s28-1 part.s29
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/build_pattern_fig06.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_pattern_fig06.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/build_pattern_fig06.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_pattern_fig06.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
|
||||
@@ -48,10 +48,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/build_region_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_region_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/build_region_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_region_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -70,10 +70,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/build_region_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_region_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/build_region_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_region_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -107,10 +107,10 @@ u wgn.s2 + wgn.s2+1 - wgn.s2-1
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/build_region_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_region_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/build_region_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_region_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -125,10 +125,10 @@ u wgn.s2 + wgn.s2+1 - wgn.s2-1
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/build_region_fig04.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_region_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/build_region_fig04.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/build_region_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
|
||||
@@ -27,10 +27,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/ebm_primitive_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/ebm_primitive_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/ebm_primitive_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/ebm_primitive_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -39,10 +39,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/ebm_primitive_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/ebm_primitive_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/ebm_primitive_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/ebm_primitive_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -51,10 +51,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/ebm_primitive_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/ebm_primitive_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/ebm_primitive_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/ebm_primitive_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<title>GCV architecture</title>
|
||||
<mediaobject>
|
||||
<imageobject>
|
||||
<imagedata fileref="../articles/images/gcv_architecture.png"/>
|
||||
<imagedata fileref="../../articles/images/gcv_architecture.png"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -249,7 +249,7 @@ LIBGCV_ADD_PLUGIN(foo "foo_read.c" "librt;libbu")
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><code>gcv_region_end()</code></entry>
|
||||
<entry>Apply Boolean evaluation to region-level tessellated meshes using the default NMG Boolean evaluator, replacing each region-level node and its subtree of tessellated leaf meshes with a single BoT structure that is then passed to the specified callback. The <code>client_data</code> pointer should point to a <code>struct gcv_region_end_data</code>. The individual leaf nodes must already be tessellated into BoTs. This can be done by specifying a <code>leaf_func</code> such as <code>rt_booltree_leaf_tess()</code>. In the case of failure, an error message is emitted via <code>bu_log()</code> and the callback is not invoked. Any use of <code>bu_bomb()</code> produced by the callback is trapped and an error message is displayed while continuing the tree walk.</entry>
|
||||
<entry>Apply Boolean evaluation to region-level tessellated meshes using the default NMG Boolean evaluator, replacing each region-level node and its subtree of tessellated leaf meshes with a single BoT structure that is then passed to the specified callback. The <code>client_data</code> pointer should point to a <code>struct gcv_region_end_data</code>. The individual leaf nodes must already be tessellated into BoTs. This can be done by specifying a <code>leaf_func</code> such as <code>nmg_booltree_leaf_tess()</code>. In the case of failure, an error message is emitted via <code>bu_log()</code> and the callback is not invoked. Any use of <code>bu_bomb()</code> produced by the callback is trapped and an error message is displayed while continuing the tree walk.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><code>gcv_bottess_region_end()</code></entry>
|
||||
@@ -283,7 +283,7 @@ LIBGCV_ADD_PLUGIN(foo "foo_read.c" "librt;libbu")
|
||||
<title>Tessellation of incompatible entities</title>
|
||||
<mediaobject>
|
||||
<imageobject>
|
||||
<imagedata fileref="../articles/images/gcv_unsupported_tessellation.png"/>
|
||||
<imagedata fileref="../../articles/images/gcv_unsupported_tessellation.png"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -341,7 +341,7 @@ LIBGCV_ADD_PLUGIN(foo "foo_read.c" "librt;libbu")
|
||||
<title>Using MGED's gdiff utility</title>
|
||||
<mediaobject>
|
||||
<imageobject>
|
||||
<imagedata fileref="../articles/images/gcv_using_gdiff.png"/>
|
||||
<imagedata fileref="../../articles/images/gcv_using_gdiff.png"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -763,188 +763,5 @@ apply_filter_with_options(struct gcv_context *context, const struct gcv_filter *
|
||||
</tgroup>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Open Asset Import Library Reader</title>
|
||||
<para>The Open Asset Import Library (assimp) is an open source library integrated into GCV,
|
||||
capable of loading and converting geometry from 45 3D file-formats.
|
||||
</para>
|
||||
<table frame='none'>
|
||||
<title>Conversion extensions supported by Asset Import Library reader</title>
|
||||
<tgroup cols='3'>
|
||||
<colspec colwidth="8%"/>
|
||||
<colspec colwidth="10%"/>
|
||||
<tbody>
|
||||
<row> <!-- 1 -->
|
||||
<entry>.3d</entry>
|
||||
<entry>.gltf / .glb (1.0)</entry>
|
||||
<entry>.obj</entry>
|
||||
</row>
|
||||
<row> <!-- 2 -->
|
||||
<entry>.3ds</entry>
|
||||
<entry>.gltf (2.0)</entry>
|
||||
<entry>.off</entry>
|
||||
</row>
|
||||
<row> <!-- 3 -->
|
||||
<entry>.3mf</entry>
|
||||
<entry>.hmp</entry>
|
||||
<entry>.ogex</entry>
|
||||
</row>
|
||||
<row> <!-- 4 -->
|
||||
<entry>.ac</entry>
|
||||
<entry>.ifc</entry>
|
||||
<entry>.ply</entry>
|
||||
</row>
|
||||
<row> <!-- 5 -->
|
||||
<entry>.ac3d</entry>
|
||||
<entry>.lwo</entry>
|
||||
<entry>.pmx</entry>
|
||||
</row>
|
||||
<row> <!-- 6 -->
|
||||
<entry>.acc</entry>
|
||||
<entry>.lws</entry>
|
||||
<entry>.q3o</entry>
|
||||
</row>
|
||||
<row> <!-- 7 -->
|
||||
<entry>.ase</entry>
|
||||
<entry>.lxo</entry>
|
||||
<entry>.q3s</entry>
|
||||
</row>
|
||||
<row> <!-- 8 -->
|
||||
<entry>.b3d</entry>
|
||||
<entry>.md2</entry>
|
||||
<entry>.raw</entry>
|
||||
</row>
|
||||
<row> <!-- 9 -->
|
||||
<entry>.blend</entry>
|
||||
<entry>.md3</entry>
|
||||
<entry>.sib</entry>
|
||||
</row>
|
||||
<row> <!-- 10 -->
|
||||
<entry>.bvh</entry>
|
||||
<entry>.md5</entry>
|
||||
<entry>.smd</entry>
|
||||
</row>
|
||||
<row> <!-- 11 -->
|
||||
<entry>.cms</entry>
|
||||
<entry>.mdc</entry>
|
||||
<entry>.stl</entry>
|
||||
</row>
|
||||
<row> <!-- 12 -->
|
||||
<entry>.cob</entry>
|
||||
<entry>.mdl</entry>
|
||||
<entry>.x</entry>
|
||||
</row>
|
||||
<row> <!-- 13 -->
|
||||
<entry>.dae</entry>
|
||||
<entry>.mesh / .mesh.xml</entry>
|
||||
<entry>.x3d</entry>
|
||||
</row>
|
||||
<row> <!-- 14 -->
|
||||
<entry>.dxf</entry>
|
||||
<entry>.ms3d</entry>
|
||||
<entry>.xgl</entry>
|
||||
</row>
|
||||
<row> <!-- 15 -->
|
||||
<entry>.fbx</entry>
|
||||
<entry>.nff</entry>
|
||||
<entry>.zgl</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
<table frame='none'>
|
||||
<title>Asset Import Library reader options</title>
|
||||
<tgroup cols='2' align='left'>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><literal>--starting-ident=<replaceable>number</replaceable></literal></entry>
|
||||
<entry>Specify the starting ident for the regions created. The default is <literal>1000</literal>. This number will be incremented for each region, unless <literal>--constant-ident</literal> is specified.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>--constant-ident</literal></entry>
|
||||
<entry>Specify that the starting ident should remain constant.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>--material=<replaceable>code</replaceable></literal></entry>
|
||||
<entry>Specify the material code that will be assigned to all created regions (the default is <literal>1</literal>).</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>--format=<replaceable>file_fmt</replaceable></literal></entry>
|
||||
<entry>Specify the file format for conversion. By default, this is inferred from the file extension.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
<example>
|
||||
<title>Specifying the Asset Import reader</title>
|
||||
<para>NOTE: As the Asset Import library handles many formats, some of which are also handled by other conversion methods,
|
||||
it currently must be explicitly called to invoke. The format itself is then inferred from the files extension.</para>
|
||||
<screen>
|
||||
$ <userinput>gcv --input-format=assetimport input_file.ext output_file.ext</userinput>
|
||||
</screen>
|
||||
</example>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Open Asset Import Library Writer</title>
|
||||
<para>The Open Asset Import Library (assimp) is an open source library integrated into GCV,
|
||||
capable of exporting to 15 different 3D file-formats.
|
||||
</para>
|
||||
<table frame='none'>
|
||||
<title>Conversion extensions supported by Asset Import Library writer</title>
|
||||
<tgroup cols='3'>
|
||||
<colspec colwidth="10%"/>
|
||||
<colspec colwidth="8%"/>
|
||||
<tbody>
|
||||
<row> <!-- 1 -->
|
||||
<entry>.3ds</entry>
|
||||
<entry>.fbx</entry>
|
||||
<entry>.pbrt</entry>
|
||||
</row>
|
||||
<row> <!-- 2 -->
|
||||
<entry>.3mf</entry>
|
||||
<entry>.glb</entry>
|
||||
<entry>.ply</entry>
|
||||
</row>
|
||||
<row> <!-- 3 -->
|
||||
<entry>.assbin (assetimport binary)</entry>
|
||||
<entry>.gltf</entry>
|
||||
<entry>.stl</entry>
|
||||
</row>
|
||||
<row> <!-- 4 -->
|
||||
<entry>.assxml (assetimport xml)</entry>
|
||||
<entry>.json</entry>
|
||||
<entry>.stp</entry>
|
||||
</row>
|
||||
<row> <!-- 5 -->
|
||||
<entry>.dae</entry>
|
||||
<entry>.obj</entry>
|
||||
<entry>.x3d</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
<table frame='none'>
|
||||
<title>Asset Import Library writer options</title>
|
||||
<tgroup cols='2' align='left'>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><literal>--format=<replaceable>file_fmt</replaceable></literal></entry>
|
||||
<entry>Specify the file format for conversion. By default, this is inferred from the file extension.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
<example>
|
||||
<title>Specifying the Asset Import writer</title>
|
||||
<para>
|
||||
NOTE: As the Asset Import library handles many formats, some of which are also handled by other conversion methods,
|
||||
it currently must be explicitly called to invoke. The format itself is then inferred from the files extension.</para>
|
||||
<screen>
|
||||
$ <userinput>gcv --output-format=assetimport input_file.ext output_file.ext</userinput>
|
||||
</screen>
|
||||
</example>
|
||||
</section>
|
||||
</section>
|
||||
</article>
|
||||
|
||||
@@ -1,15 +1,10 @@
|
||||
set(articles_HY about_hy.xml)
|
||||
set(articles_HY
|
||||
about_hy.xml
|
||||
)
|
||||
|
||||
if(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
if(BRLCAD_EXTRADOCS)
|
||||
add_docbook("HTML;PHP;PDF" articles_HY articles/hy articles_EN_IMAGES_cp)
|
||||
endif(BRLCAD_EXTRADOCS)
|
||||
endif(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
ADD_DOCBOOK("HTML;PHP;PDF" articles_HY articles/hy articles_EN_IMAGES_cp)
|
||||
|
||||
cmakefiles(
|
||||
CMakeLists.txt
|
||||
${articles_HY}
|
||||
)
|
||||
CMAKEFILES(CMakeLists.txt)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
set(articles_IT about_it.xml)
|
||||
set(articles_IT
|
||||
about_it.xml
|
||||
)
|
||||
|
||||
set(
|
||||
articles_IT_IMAGES
|
||||
set(articles_IT_IMAGES
|
||||
images/bc2.gif
|
||||
images/brlcad-overview-benchmark-Bldg_391.jpg
|
||||
images/brlcad-overview-benchmark-M35.jpg
|
||||
@@ -11,20 +12,16 @@ set(
|
||||
images/brlcad-overview-benchmark-World.jpg
|
||||
images/brlcad-overview-data-flow.png
|
||||
images/sflogo.png
|
||||
)
|
||||
)
|
||||
if(BRLCAD_EXTRADOCS)
|
||||
ADD_DOC(articles_IT_IMAGES html/articles/it/images)
|
||||
else(BRLCAD_EXTRADOCS)
|
||||
CMAKEFILES(${articles_IT_IMAGES})
|
||||
endif(BRLCAD_EXTRADOCS)
|
||||
|
||||
if(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
if(BRLCAD_EXTRADOCS)
|
||||
add_doc(articles_IT_IMAGES html/articles/it/images)
|
||||
add_docbook("HTML;PHP;PDF" articles_IT articles/it articles_IT_IMAGES_cp)
|
||||
endif(BRLCAD_EXTRADOCS)
|
||||
endif(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
ADD_DOCBOOK("HTML;PHP;PDF" articles_IT articles/it articles_IT_IMAGES_cp)
|
||||
|
||||
cmakefiles(
|
||||
CMakeLists.txt
|
||||
${articles_IT}
|
||||
${articles_IT_IMAGES}
|
||||
)
|
||||
CMAKEFILES(CMakeLists.txt)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
|
||||
@@ -2814,6 +2814,11 @@
|
||||
<link xlink:href="../../man1/en/cad_parea.php">CAD Parea</link>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="../../man1/en/canonize.php">Canonize</link>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="../../man1/en/cell-fb.php">Cell FB</link>
|
||||
@@ -2934,6 +2939,11 @@
|
||||
<link xlink:href="../../man1/en/fbcolor.php">Fbcolor</link>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="../../man1/en/fbed.php">Fbed</link>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="../../man1/en/fbfade.php">Fbfade</link>
|
||||
@@ -3170,6 +3180,11 @@
|
||||
<link xlink:href="../../man1/en/ir-X.php">Ir-X</link>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="../../man1/en/lgt.php">Lgt</link>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="../../man1/en/loop.php">Loop</link>
|
||||
@@ -3510,6 +3525,16 @@
|
||||
<link xlink:href="../../man1/en/png-pix.php">Png Pix</link>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="../../man1/en/pp-fb.php">PP FB</link>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="../../man1/en/proe-g.php">Proe-g</link>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="../../man1/en/random.php">Random</link>
|
||||
|
||||
@@ -2713,14 +2713,6 @@ rt -s 512 -F :1
|
||||
zero knobs and sliders
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
N
|
||||
</entry>
|
||||
<entry>
|
||||
shoot a ray with nirt
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
< F1 >
|
||||
@@ -6426,20 +6418,20 @@ x delete character
|
||||
– View from top direction.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">ae
|
||||
<literal>mged></literal> <emphasis role="strong">ae
|
||||
270 0</emphasis>
|
||||
– View from right hand side.
|
||||
</para>
|
||||
<para>
|
||||
|
||||
<literal>mged> </literal><emphasis role="strong">ae
|
||||
<literal>mged></literal> <emphasis role="strong">ae
|
||||
35 25 10</emphasis>
|
||||
– View from azimuth 35, elevation 25, with view rotated
|
||||
by 10˚.
|
||||
</para>
|
||||
<para>
|
||||
|
||||
<literal>mged> </literal><emphasis role="strong">ae
|
||||
<literal>mged></literal> <emphasis role="strong">ae
|
||||
-i 0 0 5</emphasis>
|
||||
– Rotate the current view through 5˚ about the viewing
|
||||
direction.
|
||||
@@ -6636,7 +6628,7 @@ x delete character
|
||||
</para>
|
||||
<para>
|
||||
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<link linkend="ae"><emphasis role="strong">ae</emphasis></link><emphasis role="strong">35
|
||||
25</emphasis>
|
||||
– Rotate view to look straight on at square face of
|
||||
@@ -6759,12 +6751,12 @@ x delete character
|
||||
– Clear the <emphasis>mged</emphasis> display(s).
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<link linkend="E"><emphasis role="strong">E</emphasis></link><emphasis role="strong">region_1</emphasis>
|
||||
– <emphasis>E</emphasis> a single region.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">area</emphasis> – Calculate the presented area of the enclosing polygon
|
||||
of the region.
|
||||
</para>
|
||||
@@ -6869,38 +6861,38 @@ x delete character
|
||||
those found in the default bindings.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">toplevel .t</emphasis>
|
||||
– Create a toplevel window named .t.
|
||||
</para>
|
||||
<para>
|
||||
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">attach -t 0 -S 800 -n .t.ogl ogl</emphasis>
|
||||
– Open a 800x800 OpenGL display window named .t.ogl
|
||||
that is not a top-level window.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">button .t.dismiss -text Dismiss -command
|
||||
<quote>release .t.ogl; destroy .t</quote></emphasis>
|
||||
– Create a button to dismiss the display manager etc.
|
||||
</para>
|
||||
<para>
|
||||
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">pack .t.ogl -expand 1 -fill both</emphasis>
|
||||
– Pack the display manager inside .t.
|
||||
</para>
|
||||
<para>
|
||||
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">pack .t.dismiss</emphasis>
|
||||
– Pack the Dismiss button inside .t.
|
||||
</para>
|
||||
<para>
|
||||
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">attach</emphasis>
|
||||
– List the help message that includes the valid display
|
||||
types.
|
||||
@@ -7099,7 +7091,7 @@ x delete character
|
||||
Examples:
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">bo -i -u c cmds
|
||||
<literal>mged></literal> <emphasis role="strong">bo -i -u c cmds
|
||||
/usr/brlcad/html/manuals/mged/mged_cmds.html</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
@@ -7108,7 +7100,7 @@ x delete character
|
||||
<emphasis>/usr/brlcad/html/manuals/mged/mged_cmds.html.</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">bo -o
|
||||
<literal>mged></literal> <emphasis role="strong">bo -o
|
||||
/home/jim/cmds.html cmds</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
@@ -7535,7 +7527,7 @@ x delete character
|
||||
</para>
|
||||
<para>
|
||||
|
||||
<literal>mged> </literal><emphasis role="strong">db
|
||||
<literal>mged></literal> <emphasis role="strong">db
|
||||
adjust sphere.s V [center]</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
@@ -8241,28 +8233,28 @@ x delete character
|
||||
</para>
|
||||
<para>
|
||||
|
||||
<literal>mged> </literal><emphasis role="strong">db
|
||||
<literal>mged></literal> <emphasis role="strong">db
|
||||
get cone.s</emphasis>
|
||||
– Get a list of all the attributes and their values for
|
||||
shape <emphasis>cone.s</emphasis>.
|
||||
</para>
|
||||
<para>
|
||||
|
||||
<literal>mged> </literal><emphasis role="strong">db
|
||||
<literal>mged></literal> <emphasis role="strong">db
|
||||
get cone.s V</emphasis>
|
||||
– Get the value of the <emphasis>V</emphasis> (vertex)
|
||||
attribute of shape <emphasis>cone.s</emphasis>.
|
||||
</para>
|
||||
<para>
|
||||
|
||||
<literal>mged> </literal><emphasis role="strong">db
|
||||
<literal>mged></literal> <emphasis role="strong">db
|
||||
put new_cone.s tgc V {0 0 0} H {0 0 1} A {1 0 0} B {0 1 0} C {5 0 0}
|
||||
D {0 5 0}</emphasis>
|
||||
– Create a new <link linkend="TGC">TGC</link> shape
|
||||
named <emphasis>new_cone.s</emphasis> with the specified attributes.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">db
|
||||
<literal>mged></literal> <emphasis role="strong">db
|
||||
adjust new_cone.s V {0 0 10}</emphasis>
|
||||
– Adjust the <emphasis>V</emphasis> (vertex) attribute
|
||||
of <emphasis>new_cone.s</emphasis> to the value {0 0 10}.
|
||||
@@ -8364,15 +8356,15 @@ x delete character
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">dbconcat
|
||||
<literal>mged></literal> <emphasis role="strong">dbconcat
|
||||
model_two.g two_</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">dbconcat
|
||||
<literal>mged></literal> <emphasis role="strong">dbconcat
|
||||
-s model_two.g</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">dbconcat
|
||||
<literal>mged></literal> <emphasis role="strong">dbconcat
|
||||
-c -p model_two.g two_</emphasis>
|
||||
</para>
|
||||
</listitem>
|
||||
@@ -8410,13 +8402,13 @@ x delete character
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>mged> </literal>debugbu
|
||||
<literal>mged></literal> debugbu
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">debugbu 2</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
@@ -8534,7 +8526,7 @@ x delete character
|
||||
<emphasis>librt</emphasis> and the current value.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">debuglib 1</emphasis> – Set the <emphasis>librt</emphasis> debug flag to
|
||||
<DEBUG_ALLRAYS> (print info about rays).
|
||||
</para>
|
||||
@@ -8825,11 +8817,11 @@ x delete character
|
||||
– Get a list of the available display manager internal variables.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">dm
|
||||
<literal>mged></literal> <emphasis role="strong">dm
|
||||
set perspective 1</emphasis> – Turn on perspective projection in the display.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">dm
|
||||
<literal>mged></literal> <emphasis role="strong">dm
|
||||
size</emphasis> – Return the size to the display manager.
|
||||
</para>
|
||||
<para>
|
||||
@@ -8837,28 +8829,28 @@ x delete character
|
||||
900x900.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">dm
|
||||
<literal>mged></literal> <emphasis role="strong">dm
|
||||
m 2 100 200</emphasis> – Simulate a button2 press at (100, 200) in X screen
|
||||
coordinates.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">dm
|
||||
<literal>mged></literal> <emphasis role="strong">dm
|
||||
am r 400 100</emphasis> – Start an alternate mouse mode rotation.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">dm
|
||||
<literal>mged></literal> <emphasis role="strong">dm
|
||||
adc d 300 200</emphasis> – Start a tick distance manipulation.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">dm
|
||||
<literal>mged></literal> <emphasis role="strong">dm
|
||||
con t z 200 200</emphasis> – Start a constrained translation down the Z axis.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">dm
|
||||
<literal>mged></literal> <emphasis role="strong">dm
|
||||
con a d 200 100</emphasis> – Start a constrained tick distance manipulation.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">dm
|
||||
<literal>mged></literal> <emphasis role="strong">dm
|
||||
idle</emphasis> – End drag.
|
||||
</para>
|
||||
<para>
|
||||
@@ -9223,7 +9215,7 @@ x delete character
|
||||
<emphasis>material code</emphasis> to 8.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">edcomb comb1 0 0 0 0</emphasis> – Unset the <emphasis>region</emphasis> flag for
|
||||
combination <emphasis>comb1.</emphasis>
|
||||
</para>
|
||||
@@ -9511,7 +9503,7 @@ x delete character
|
||||
<emphasis>shapea</emphasis> as shaded polygons.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">ev
|
||||
<literal>mged></literal> <emphasis role="strong">ev
|
||||
-wT region1</emphasis> – Display evaluated <emphasis>region1</emphasis> as
|
||||
wireframe without triangulating.
|
||||
</para>
|
||||
@@ -9761,7 +9753,7 @@ foo.r_xpand/R
|
||||
plane at <emphasis>x</emphasis>=20.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">facedef 5678 b 0 0 10 10 0 10 10 10
|
||||
10</emphasis> – Move face 5678 such that it is in the plane formed by
|
||||
the three points (0 0 10), (10 0 10), and (10 10 10).
|
||||
@@ -10563,7 +10555,7 @@ foo.r_xpand/R
|
||||
face in <emphasis>out_arb.</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">inside in_arb 1 1 1 1 1 1</emphasis> – Create a shape named <emphasis>in_arb</emphasis> such
|
||||
that each face is 1 <link linkend="units">unit</link> from the
|
||||
corresponding face in the current key
|
||||
@@ -11166,13 +11158,13 @@ foo.r_xpand/R
|
||||
– Display details about region1.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">l
|
||||
<literal>mged></literal> <emphasis role="strong">l
|
||||
group1/group2/region1/shape3</emphasis> – Display shape parameters for
|
||||
<emphasis>shape3</emphasis> with matrices applied from the
|
||||
<emphasis>path.</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">l
|
||||
<literal>mged></literal> <emphasis role="strong">l
|
||||
-r a/b</emphasis> – Display all possible paths that start with
|
||||
<emphasis>a/b</emphasis> and end in a primitive
|
||||
<emphasis>shape</emphasis> – The shape parameters with the accumulated
|
||||
@@ -11417,22 +11409,22 @@ foo.r_xpand/R
|
||||
(output is formatted).
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">ls
|
||||
<literal>mged></literal> <emphasis role="strong">ls
|
||||
-a shape*</emphasis> – List all objects with names beginning with
|
||||
<quote>shape.</quote>
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">ls
|
||||
<literal>mged></literal> <emphasis role="strong">ls
|
||||
-p wheel*</emphasis> – List all primitives with names beginning with
|
||||
<quote>wheel.</quote>
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">ls
|
||||
<literal>mged></literal> <emphasis role="strong">ls
|
||||
-r wheel*</emphasis> – List all regions with names beginning with
|
||||
<quote>wheel.</quote>
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">ls
|
||||
<literal>mged></literal> <emphasis role="strong">ls
|
||||
-c suspension*</emphasis> – List all combinations with names beginning with
|
||||
<quote>suspension.</quote>
|
||||
</para>
|
||||
@@ -11628,7 +11620,7 @@ foo.r_xpand/R
|
||||
– Create a sphere named <emphasis>shapea.</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">make -t</emphasis> – Return a list of shape types handled by
|
||||
<emphasis>make.</emphasis>
|
||||
</para>
|
||||
@@ -12227,7 +12219,7 @@ foo.r_xpand/R
|
||||
<emphasis>model.g.</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">opendb</emphasis> – Return the name of the current database file.
|
||||
</para>
|
||||
<para>
|
||||
@@ -13006,7 +12998,7 @@ foo.r_xpand/R
|
||||
it the title <quote>Test Title.</quote>
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">ps
|
||||
<literal>mged></literal> <emphasis role="strong">ps
|
||||
-l 10 -t <quote>Test Fat Lines</quote> fat_lines.ps</emphasis> – This time use fat lines.
|
||||
</para>
|
||||
<para>
|
||||
@@ -13356,15 +13348,15 @@ foo.r_xpand/R
|
||||
– Print usage message.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">qray fmt o</emphasis> – Returns the overlap format string.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">qray oddcolor</emphasis> – Returns the rgb color used to color odd partitions.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">qray oddcolor 255 0 0</emphasis> – Sets the odd partition color to red.
|
||||
</para>
|
||||
<para>
|
||||
@@ -13937,7 +13929,7 @@ foo.r_xpand/R
|
||||
– Close the current display manager.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">release .dm_X0</emphasis> – Close <emphasis>.dm_X0.</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
@@ -14088,7 +14080,7 @@ foo.r_xpand/R
|
||||
– Rotate 45 degrees about the Z axis.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">rot
|
||||
<literal>mged></literal> <emphasis role="strong">rot
|
||||
45 45 0</emphasis> – Rotate 45˚ about the <emphasis>y</emphasis> axis,
|
||||
then rotate 45 degrees about the <emphasis>x</emphasis> axis.
|
||||
</para>
|
||||
@@ -14307,7 +14299,7 @@ foo.r_xpand/R
|
||||
<emphasis>X</emphasis> framebuffer.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">rt
|
||||
<literal>mged></literal> <emphasis role="strong">rt
|
||||
-C 200/200/255 – roof</emphasis> – Run the <emphasis>rt</emphasis> program to produce a
|
||||
color-shaded image of the object <emphasis>roof</emphasis> using
|
||||
MGED s current viewing parameters. The image will have a sky-blue
|
||||
@@ -14924,11 +14916,11 @@ EOF
|
||||
toViewcenter, Viewrot, model2view and view2model).
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">status Viewrot</emphasis> – Get the view rotation matrix.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">status state</emphasis> – Get the edit state.
|
||||
</para>
|
||||
<para>
|
||||
@@ -15005,7 +14997,7 @@ EOF
|
||||
– The view is unchanged.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">sv
|
||||
<literal>mged></literal> <emphasis role="strong">sv
|
||||
1024 0 0</emphasis> – The view center is moved half way between the current
|
||||
view center and the right side of the view screen.
|
||||
</para>
|
||||
@@ -15106,22 +15098,22 @@ EOF
|
||||
– List all objects with names beginning with <quote>shape.</quote> (output is formatted)
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">t
|
||||
<literal>mged></literal> <emphasis role="strong">t
|
||||
-a shape*</emphasis> – List all objects with names beginning with
|
||||
<quote>shape.</quote>
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">t
|
||||
<literal>mged></literal> <emphasis role="strong">t
|
||||
-s wheel*</emphasis> – List all shapes with names beginning with
|
||||
<quote>wheel.</quote>
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">t
|
||||
<literal>mged></literal> <emphasis role="strong">t
|
||||
-r wheel*</emphasis> – List all regions with names beginning with
|
||||
<quote>wheel.</quote>
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal><emphasis role="strong">t
|
||||
<literal>mged></literal> <emphasis role="strong">t
|
||||
-c suspension*</emphasis> – List all combinations with names beginning with
|
||||
<quote>suspension.</quote>
|
||||
</para>
|
||||
@@ -15573,12 +15565,12 @@ EOF
|
||||
<emphasis>group1</emphasis> down to the primitive shape level.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">tree -i 2 group1</emphasis> – This time use two spaces for each level of
|
||||
indentation.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">tree -c group1</emphasis> – No shapes are printed.
|
||||
</para>
|
||||
<para>
|
||||
@@ -16282,31 +16274,31 @@ EOF
|
||||
– Open a list named <emphasis>square.</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">vdraw params color ff00</emphasis> – Set color to green.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">vdraw write next 0 0 0 0</emphasis> – Start a line at the origin.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">vdraw write next 1 100 0 0</emphasis> – Draw line to (100 0 0).
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">vdraw write next 1 100 100 0</emphasis> – Draw line to (100 100 0).
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">vdraw write next 1 0 100 0</emphasis> – Draw line to (0 100 0).
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">vdraw write next 1 0 0 0</emphasis> – Draw line to (0 0 0).
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">vdraw send</emphasis> – Draw the square in the MGED display.
|
||||
</para>
|
||||
<para>
|
||||
@@ -16368,7 +16360,7 @@ EOF
|
||||
– Get the view center.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">view center 0 0 0</emphasis> – Set the view center at the origin of model space.
|
||||
</para>
|
||||
<para>
|
||||
@@ -16471,7 +16463,7 @@ EOF
|
||||
– Rotate 90 degrees about view <emphasis>x</emphasis> axis.
|
||||
</para>
|
||||
<para>
|
||||
<literal>mged> </literal>
|
||||
<literal>mged></literal>
|
||||
<emphasis role="strong">vrot 0 180 0</emphasis> – Rotate 180 degrees about view <emphasis>y</emphasis>
|
||||
axis.
|
||||
</para>
|
||||
@@ -19187,14 +19179,6 @@ EOF
|
||||
The <emphasis>BRLCAD</emphasis> <link linkend="rt">rt</link>
|
||||
program performs such <emphasis>ray tracing</emphasis>.
|
||||
</para>
|
||||
<para>
|
||||
Note: For users working with sensitive information (proprietary,
|
||||
copyrighted, classified, etc.) remember you will will need to apply
|
||||
any appropriate notices and markings yourself as a post-processing step when
|
||||
generating images. BRL-CAD has no inherent awareness of the type of data
|
||||
it is working with, just as a word processor or image editor does not know the
|
||||
nature of the document being edited.
|
||||
</para>
|
||||
<para>
|
||||
<emphasis role="strong">region</emphasis>
|
||||
</para>
|
||||
|
||||
@@ -60,10 +60,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/mgedrc_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/mgedrc_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/mgedrc_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/mgedrc_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -205,10 +205,10 @@ proc cps {oldprim newprim} {cp $oldprim $newprim; sed $newprim}
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/mgedrc_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/mgedrc_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/mgedrc_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/mgedrc_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -260,10 +260,10 @@ proc cps {oldprim newprim} {cp $oldprim $newprim; sed $newprim}
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/mgedrc_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/mgedrc_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/mgedrc_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/mgedrc_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
|
||||
@@ -63,29 +63,20 @@
|
||||
|
||||
<literallayout class="monospaced">
|
||||
user@machine ~ $ nirt --h
|
||||
Usage: nirt [options] model.g [objects]...
|
||||
|
||||
Usage: 'nirt [options] model.g objects...'
|
||||
Options:
|
||||
-h, -?, --help print help and exit
|
||||
-A n add attribute_name=n
|
||||
-M read matrix, cmds on stdin
|
||||
-b back out of geometry before first shot (deprecated, default
|
||||
behavior)
|
||||
-c shoot ray from current center
|
||||
-e script run script before interacting
|
||||
-f format load predefined format (see -L) or file
|
||||
-E ignore any -e or -f options specified earlier on the command line
|
||||
-L list output formatting options
|
||||
-s run in silent (non-verbose) mode
|
||||
-v run in verbose mode
|
||||
-H n flag (n) for enable/disable informational header - (n=1 [on] by
|
||||
default, always off in silent mode)
|
||||
-u n set use_air=n (default 0)
|
||||
-O action handle overlap claims via action
|
||||
-x v set librt(3) diagnostic flag=v
|
||||
-X v set nirt diagnostic flag=v
|
||||
--center x,y,z, --xyz x,y,z
|
||||
specify xyz center point
|
||||
-b back out of geometry before first shot
|
||||
-B n set rt_bot_minpieces=n
|
||||
-e script run script before interacting
|
||||
-f sfile run script sfile before interacting
|
||||
-L list output formatting options
|
||||
-M read matrix, cmds on stdin
|
||||
-O action handle overlap claims via action
|
||||
-s run in silent (non-verbose) mode
|
||||
-u n set use_air=n (default 0)
|
||||
-v run in verbose mode
|
||||
-x v set librt(3) diagnostic flag=v
|
||||
-X v set nirt diagnostic flag=v
|
||||
|
||||
</literallayout>
|
||||
</para>
|
||||
@@ -106,10 +97,10 @@ Options:
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -562,10 +553,10 @@ mged>
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -580,10 +571,10 @@ mged>
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -637,10 +628,10 @@ mged>
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig04.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig04.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -671,10 +662,10 @@ mged> ae 90 0
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig05.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig05.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig05.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig05.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -731,10 +722,10 @@ mged> ae 90 0
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig06.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig06.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig06.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig06.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -777,10 +768,10 @@ mged> ae 90 0
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig07.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig07.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig07.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig07.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -823,10 +814,10 @@ mged> ae 90 0
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig08.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig08.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig08.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig08.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -858,10 +849,10 @@ mged> ae 90 0
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig09.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig09.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig09.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig09.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -881,7 +872,7 @@ mged> ae 90 0
|
||||
command line, there is a mouse-based trigger that can be used. In the <application>MGED</application>
|
||||
menu, selecting Settings->Mouse Behavior->Query Ray will change the behavior of
|
||||
the mouse. Selecting the view window, placing the mouse at some
|
||||
point over the model, and performing a click will cast a
|
||||
point over the model, and preforming a click will cast a
|
||||
ray in the view direction, centered at the point under the mouse pointer rather
|
||||
than the view center.
|
||||
</para>
|
||||
@@ -900,10 +891,10 @@ mged>
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig10.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig10.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig10.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig10.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -991,10 +982,10 @@ right_cube.r ( 2.000 -1.000 0.000) 2.00 0.000
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig11.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig11.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig11.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig11.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1016,10 +1007,10 @@ right_cube.r ( 2.000 -1.000 0.000) 2.00 0.000
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig12.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig12.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig12.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig12.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1039,10 +1030,10 @@ right_cube.r ( 2.000 -1.000 0.000) 2.00 0.000
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig13.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig13.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig13.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig13.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1061,10 +1052,10 @@ right_cube.r ( 2.000 -1.000 0.000) 2.00 0.000
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig14.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig14.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig14.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig14.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1089,10 +1080,10 @@ right_cube.r ( 2.000 -1.000 0.000) 2.00 0.000
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig08.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig08.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig08.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig08.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1131,10 +1122,10 @@ mged> erase query_rayff00ff
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig15.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig15.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig15.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig15.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1161,10 +1152,10 @@ mged> who p
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig16.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig16.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig16.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig16.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1187,10 +1178,10 @@ mged> who p
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig17.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig17.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig17.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig17.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1245,10 +1236,10 @@ left_cube.r ( -1.000 0.022 0.011) 2.00 0.000
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig18.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig18.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig18.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig18.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1329,7 +1320,7 @@ reg_name,path_name,reg_id,x_in,y_in,z_in,d_in,x_out,y_out,z_out,d_out,los,scaled
|
||||
test.csv) and imported into a spreadsheet:
|
||||
|
||||
<screenshot>
|
||||
<mediaobject><imageobject role="html"><imagedata align="center" fileref="../articles/images/nirt_fig19.png"/></imageobject><imageobject role="fo"><imagedata align="center" fileref="../articles/images/nirt_fig19.png"/></imageobject></mediaobject>
|
||||
<mediaobject><imageobject role="html"><imagedata align="center" fileref="../../articles/images/nirt_fig19.png"/></imageobject><imageobject role="fo"><imagedata align="center" fileref="../../articles/images/nirt_fig19.png"/></imageobject></mediaobject>
|
||||
</screenshot>
|
||||
|
||||
</para>
|
||||
@@ -1602,10 +1593,10 @@ left_and_right_cubes.r ( -1.0000 0.0000 0.0000) 2.0000 0.0000
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig20.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig20.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig20.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig20.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1825,7 +1816,7 @@ reg_name,path_name,reg_id,x_in,y_in,z_in,d_in,x_out,y_out,z_out,d_out,los,scaled
|
||||
As before, this format is trivially imported into a spreadsheet:
|
||||
|
||||
<screenshot>
|
||||
<mediaobject><imageobject role="html"><imagedata align="center" fileref="../articles/images/nirt_fig21.png"/></imageobject><imageobject role="fo"><imagedata align="center" fileref="../articles/images/nirt_fig21.png"/></imageobject></mediaobject>
|
||||
<mediaobject><imageobject role="html"><imagedata align="center" fileref="../../articles/images/nirt_fig21.png"/></imageobject><imageobject role="fo"><imagedata align="center" fileref="../../articles/images/nirt_fig21.png"/></imageobject></mediaobject>
|
||||
</screenshot>
|
||||
|
||||
</para>
|
||||
@@ -1921,10 +1912,10 @@ center_cube.r ( 1.0000, 0.0000, 0.0000) 2.0000 0.0000
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig22.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig22.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig22.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig22.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1966,10 +1957,10 @@ center_cube.r ( 1.0000, 0.0000, 0.0000) 2.0000 0.0000
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig23.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig23.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig23.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig23.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1990,10 +1981,10 @@ center_cube.r ( 1.0000, 0.0000, 0.0000) 2.0000 0.0000
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig24.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig24.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/nirt_fig24.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/nirt_fig24.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
|
||||
@@ -55,10 +55,10 @@
|
||||
<screenshot>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</screenshot>
|
||||
@@ -209,10 +209,10 @@ lollipop/
|
||||
<screenshot>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</screenshot>
|
||||
@@ -279,10 +279,10 @@ cube.s: ARB8
|
||||
<screenshot>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</screenshot>
|
||||
@@ -299,10 +299,10 @@ cube.s: ARB8
|
||||
<screenshot>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig04.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig04.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</screenshot>
|
||||
@@ -318,10 +318,10 @@ cube.s: ARB8
|
||||
<screenshot>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig05.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig05.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig05.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig05.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</screenshot>
|
||||
@@ -376,10 +376,10 @@ cube.s: ARB8
|
||||
<screenshot>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig06.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig06.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig06.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig06.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</screenshot>
|
||||
@@ -511,10 +511,10 @@ cube.s: ARB8
|
||||
<screenshot>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig07.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig07.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig07.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig07.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</screenshot>
|
||||
@@ -559,10 +559,10 @@ cube.s: ARB8
|
||||
<screenshot>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig08.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig08.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig08.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig08.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</screenshot>
|
||||
@@ -638,10 +638,10 @@ object2.c: --
|
||||
<screenshot>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig09.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig09.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig09.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig09.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</screenshot>
|
||||
@@ -682,10 +682,10 @@ object2.c: --
|
||||
<screenshot>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig10.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig10.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig10.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig10.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</screenshot>
|
||||
@@ -739,10 +739,10 @@ object1.c: --
|
||||
<screenshot>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig11.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig11.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig11.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig11.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</screenshot>
|
||||
@@ -761,10 +761,10 @@ object1.c: --
|
||||
<screenshot>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig12.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig12.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig12.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig12.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</screenshot>
|
||||
@@ -834,10 +834,10 @@ object1.c: --
|
||||
<screenshot>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig13.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig13.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/oed_fig13.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/oed_fig13.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</screenshot>
|
||||
|
||||
@@ -48,16 +48,16 @@ mged> overlaps_tool -F [.overlaps file]
|
||||
<section>
|
||||
<title>Overlaps Menu GUI</title>
|
||||
<para>
|
||||
The overlaps menu has two sections -- New File and Existing File.
|
||||
The overlaps menu has two sections -- New File and Exisiting File.
|
||||
</para>
|
||||
<para>
|
||||
<screenshot>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="left" fileref="../articles/images/overlap_tool_fig01.gif" format="GIF" width="540"/>
|
||||
<imagedata align="left" fileref="../../articles/images/overlap_tool_fig01.gif" format="GIF" width="540"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="left" fileref="../articles/images/overlap_tool_fig01.gif" format="GIF" width="540"/>
|
||||
<imagedata align="left" fileref="../../articles/images/overlap_tool_fig01.gif" format="GIF" width="540"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</screenshot>
|
||||
@@ -75,10 +75,10 @@ mged> overlaps_tool -F [.overlaps file]
|
||||
<screenshot>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="left" fileref="../articles/images/overlap_tool_fig02.gif" format="GIF" width="636"/>
|
||||
<imagedata align="left" fileref="../../articles/images/overlap_tool_fig02.gif" format="GIF" width="636"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="left" fileref="../articles/images/overlap_tool_fig02.gif" format="GIF" width="636"/>
|
||||
<imagedata align="left" fileref="../../articles/images/overlap_tool_fig02.gif" format="GIF" width="636"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</screenshot>
|
||||
@@ -116,7 +116,7 @@ mged> overlaps_tool -F [.overlaps file]
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<title>Existing File</title>
|
||||
<title>Exisiting File</title>
|
||||
<para>
|
||||
These options are to launch the checker tool directly for a previously created overlaps file.
|
||||
</para>
|
||||
@@ -143,10 +143,10 @@ mged> overlaps_tool -F [.overlaps file]
|
||||
<screenshot>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="left" fileref="../articles/images/overlap_tool_fig03.png" format="PNG" width="549"/>
|
||||
<imagedata align="left" fileref="../../articles/images/overlap_tool_fig03.png" format="PNG" width="549"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="left" fileref="../articles/images/overlap_tool_fig03.png" format="PNG" width="549"/>
|
||||
<imagedata align="left" fileref="../../articles/images/overlap_tool_fig03.png" format="PNG" width="549"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</screenshot>
|
||||
|
||||
@@ -79,10 +79,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/pipes_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/pipes_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/pipes_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/pipes_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -91,10 +91,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/pipes_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/pipes_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/pipes_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/pipes_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -103,10 +103,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/pipes_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/pipes_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/pipes_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/pipes_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -189,10 +189,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/pipes_fig04.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/pipes_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/pipes_fig04.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/pipes_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -297,35 +297,35 @@
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>- mged>p 500 -500 150</entry>
|
||||
<entry><inlinemediaobject><imageobject role="html"><imagedata fileref="../articles/images/pipes_fig05.png"/></imageobject><imageobject role="fo"><imagedata fileref="../articles/images/pipes_fig05.png"/></imageobject></inlinemediaobject></entry>
|
||||
<entry><inlinemediaobject><imageobject role="html"><imagedata fileref="../../articles/images/pipes_fig05.png"/></imageobject><imageobject role="fo"><imagedata fileref="../../articles/images/pipes_fig05.png"/></imageobject></inlinemediaobject></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>- mged>p -500 -500 250</entry>
|
||||
<entry><inlinemediaobject><imageobject role="html"><imagedata fileref="../articles/images/pipes_fig06.png"/></imageobject><imageobject role="fo"><imagedata fileref="../articles/images/pipes_fig06.png"/></imageobject></inlinemediaobject></entry>
|
||||
<entry><inlinemediaobject><imageobject role="html"><imagedata fileref="../../articles/images/pipes_fig06.png"/></imageobject><imageobject role="fo"><imagedata fileref="../../articles/images/pipes_fig06.png"/></imageobject></inlinemediaobject></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>- mged>p -500 500 350</entry>
|
||||
<entry><inlinemediaobject><imageobject role="html"><imagedata fileref="../articles/images/pipes_fig07.png"/></imageobject><imageobject role="fo"><imagedata fileref="../articles/images/pipes_fig07.png"/></imageobject></inlinemediaobject></entry>
|
||||
<entry><inlinemediaobject><imageobject role="html"><imagedata fileref="../../articles/images/pipes_fig07.png"/></imageobject><imageobject role="fo"><imagedata fileref="../../articles/images/pipes_fig07.png"/></imageobject></inlinemediaobject></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>- mged>p 500 500 450</entry>
|
||||
<entry><inlinemediaobject><imageobject role="html"><imagedata fileref="../articles/images/pipes_fig08.png"/></imageobject><imageobject role="fo"><imagedata fileref="../articles/images/pipes_fig08.png"/></imageobject></inlinemediaobject></entry>
|
||||
<entry><inlinemediaobject><imageobject role="html"><imagedata fileref="../../articles/images/pipes_fig08.png"/></imageobject><imageobject role="fo"><imagedata fileref="../../articles/images/pipes_fig08.png"/></imageobject></inlinemediaobject></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>- mged>p 500 -500 550</entry>
|
||||
<entry><inlinemediaobject><imageobject role="html"><imagedata fileref="../articles/images/pipes_fig09.png"/></imageobject><imageobject role="fo"><imagedata fileref="../articles/images/pipes_fig09.png"/></imageobject></inlinemediaobject></entry>
|
||||
<entry><inlinemediaobject><imageobject role="html"><imagedata fileref="../../articles/images/pipes_fig09.png"/></imageobject><imageobject role="fo"><imagedata fileref="../../articles/images/pipes_fig09.png"/></imageobject></inlinemediaobject></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>- mged>p -500 -500 650</entry>
|
||||
<entry><inlinemediaobject><imageobject role="html"><imagedata fileref="../articles/images/pipes_fig10.png"/></imageobject><imageobject role="fo"><imagedata fileref="../articles/images/pipes_fig10.png"/></imageobject></inlinemediaobject></entry>
|
||||
<entry><inlinemediaobject><imageobject role="html"><imagedata fileref="../../articles/images/pipes_fig10.png"/></imageobject><imageobject role="fo"><imagedata fileref="../../articles/images/pipes_fig10.png"/></imageobject></inlinemediaobject></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>- mged>p -500 500 750</entry>
|
||||
<entry><inlinemediaobject><imageobject role="html"><imagedata fileref="../articles/images/pipes_fig11.png"/></imageobject><imageobject role="fo"><imagedata fileref="../articles/images/pipes_fig11.png"/></imageobject></inlinemediaobject></entry>
|
||||
<entry><inlinemediaobject><imageobject role="html"><imagedata fileref="../../articles/images/pipes_fig11.png"/></imageobject><imageobject role="fo"><imagedata fileref="../../articles/images/pipes_fig11.png"/></imageobject></inlinemediaobject></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>- mged>p 0 500 800</entry>
|
||||
<entry><inlinemediaobject><imageobject role="html"><imagedata fileref="../articles/images/pipes_fig12.png"/></imageobject><imageobject role="fo"><imagedata fileref="../articles/images/pipes_fig12.png"/></imageobject></inlinemediaobject></entry>
|
||||
<entry><inlinemediaobject><imageobject role="html"><imagedata fileref="../../articles/images/pipes_fig12.png"/></imageobject><imageobject role="fo"><imagedata fileref="../../articles/images/pipes_fig12.png"/></imageobject></inlinemediaobject></entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
@@ -339,10 +339,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/pipes_fig13.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/pipes_fig13.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/pipes_fig13.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/pipes_fig13.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
|
||||
@@ -26,10 +26,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/projection_shader_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/projection_shader_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/projection_shader_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/projection_shader_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -172,10 +172,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/projection_shader_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/projection_shader_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/projection_shader_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/projection_shader_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -304,10 +304,10 @@ Diagrammed, this command breaks down as follows:
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/projection_shader_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/projection_shader_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/projection_shader_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/projection_shader_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -345,10 +345,10 @@ Diagrammed, this command breaks down as follows:
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/projection_shader_fig04.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/projection_shader_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/projection_shader_fig04.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/projection_shader_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -357,10 +357,10 @@ Diagrammed, this command breaks down as follows:
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/projection_shader_fig05.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/projection_shader_fig05.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/projection_shader_fig05.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/projection_shader_fig05.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -385,10 +385,10 @@ prj_add circuitboard.prj circuit_front_950.pix 950 950
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/projection_shader_fig06.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/projection_shader_fig06.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/projection_shader_fig06.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/projection_shader_fig06.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -401,10 +401,10 @@ prj_add circuitboard.prj circuit_front_950.pix 950 950
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/projection_shader_fig07.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/projection_shader_fig07.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/projection_shader_fig07.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/projection_shader_fig07.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
|
||||
@@ -1,14 +1,9 @@
|
||||
set(articles_RU about_ru.xml)
|
||||
if(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
if(BRLCAD_EXTRADOCS)
|
||||
add_docbook("HTML;PHP;PDF" articles_RU articles/ru "")
|
||||
endif(BRLCAD_EXTRADOCS)
|
||||
endif(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
set(articles_RU
|
||||
about_ru.xml
|
||||
)
|
||||
ADD_DOCBOOK("HTML;PHP;PDF" articles_RU articles/ru "")
|
||||
|
||||
cmakefiles(
|
||||
${articles_RU}
|
||||
CMakeLists.txt
|
||||
)
|
||||
CMAKEFILES(CMakeLists.txt)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
|
||||
@@ -52,10 +52,10 @@
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -174,10 +174,10 @@
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -202,10 +202,10 @@
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -284,10 +284,10 @@
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig04.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig04.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -307,10 +307,10 @@
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig05.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig05.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig05.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig05.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -334,10 +334,10 @@
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig06.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig06.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig06.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig06.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -364,10 +364,10 @@
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig07.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig07.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig07.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig07.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -392,10 +392,10 @@
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig08.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig08.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig08.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig08.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -451,10 +451,10 @@
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig09.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig09.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig09.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig09.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -475,10 +475,10 @@
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig10.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig10.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig10.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig10.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -504,10 +504,10 @@
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig11.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig11.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig11.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig11.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -535,10 +535,10 @@
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig12.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig12.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig12.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig12.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -563,10 +563,10 @@
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig13.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig13.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig13.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig13.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -623,10 +623,10 @@
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig14.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig14.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../articles/images/tire_fig14.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../articles/images/tire_fig14.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
|
||||
@@ -76,13 +76,13 @@
|
||||
<imageobject role="html">
|
||||
<imagedata
|
||||
width="6in"
|
||||
fileref="../books/images/tutorial_series_volI_fig01.png" format="PNG"/>
|
||||
fileref="../../books/images/tutorial_series_volI_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata
|
||||
width="100%"
|
||||
scalefit="1"
|
||||
fileref="../books/images/tutorial_series_volI_fig01.png" format="PNG"/>
|
||||
fileref="../../books/images/tutorial_series_volI_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
|
||||
@@ -275,12 +275,12 @@
|
||||
<imagedata
|
||||
width="2in"
|
||||
scalefit="1"
|
||||
fileref="../books/images/tutorial_series_volI_fig02.png"
|
||||
fileref="../../books/images/tutorial_series_volI_fig02.png"
|
||||
/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata
|
||||
fileref="../books/images/tutorial_series_volI_fig02.png"
|
||||
fileref="../../books/images/tutorial_series_volI_fig02.png"
|
||||
/>
|
||||
</imageobject>
|
||||
</inlinemediaobject></entry>
|
||||
@@ -289,12 +289,12 @@
|
||||
<imagedata
|
||||
width="2in"
|
||||
scalefit="1"
|
||||
fileref="../books/images/tutorial_series_volI_fig03.png"
|
||||
fileref="../../books/images/tutorial_series_volI_fig03.png"
|
||||
/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata
|
||||
fileref="../books/images/tutorial_series_volI_fig03.png"
|
||||
fileref="../../books/images/tutorial_series_volI_fig03.png"
|
||||
/>
|
||||
</imageobject>
|
||||
</inlinemediaobject></entry>
|
||||
@@ -303,12 +303,12 @@
|
||||
<imagedata
|
||||
width="2in"
|
||||
scalefit="1"
|
||||
fileref="../books/images/tutorial_series_volI_fig04.png"
|
||||
fileref="../../books/images/tutorial_series_volI_fig04.png"
|
||||
/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata
|
||||
fileref="../books/images/tutorial_series_volI_fig04.png"
|
||||
fileref="../../books/images/tutorial_series_volI_fig04.png"
|
||||
/>
|
||||
</imageobject>
|
||||
</inlinemediaobject></entry>
|
||||
@@ -326,12 +326,12 @@
|
||||
<imagedata
|
||||
width="2in"
|
||||
scalefit="1"
|
||||
fileref="../books/images/tutorial_series_volI_fig05.png"
|
||||
fileref="../../books/images/tutorial_series_volI_fig05.png"
|
||||
/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata
|
||||
fileref="../books/images/tutorial_series_volI_fig05.png"
|
||||
fileref="../../books/images/tutorial_series_volI_fig05.png"
|
||||
/>
|
||||
</imageobject>
|
||||
</inlinemediaobject></entry>
|
||||
@@ -340,12 +340,12 @@
|
||||
<imagedata
|
||||
width="2in"
|
||||
scalefit="1"
|
||||
fileref="../books/images/tutorial_series_volI_fig06.png"
|
||||
fileref="../../books/images/tutorial_series_volI_fig06.png"
|
||||
/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata
|
||||
fileref="../books/images/tutorial_series_volI_fig06.png"
|
||||
fileref="../../books/images/tutorial_series_volI_fig06.png"
|
||||
/>
|
||||
</imageobject>
|
||||
</inlinemediaobject></entry>
|
||||
@@ -354,12 +354,12 @@
|
||||
<imagedata
|
||||
width="2in"
|
||||
scalefit="1"
|
||||
fileref="../books/images/tutorial_series_volI_fig07.png"
|
||||
fileref="../../books/images/tutorial_series_volI_fig07.png"
|
||||
/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata
|
||||
fileref="../books/images/tutorial_series_volI_fig07.png"
|
||||
fileref="../../books/images/tutorial_series_volI_fig07.png"
|
||||
/>
|
||||
</imageobject>
|
||||
</inlinemediaobject></entry>
|
||||
|
||||
@@ -138,10 +138,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" width="4in" fileref="../books/images/tutorial_series_volIII_fig01.png" format="PNG"/>
|
||||
<imagedata align="center" width="4in" fileref="../../books/images/tutorial_series_volIII_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata width="80%" scalefit="1" fileref="../books/images/tutorial_series_volIII_fig01.png" format="PNG"/>
|
||||
<imagedata width="80%" scalefit="1" fileref="../../books/images/tutorial_series_volIII_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -150,10 +150,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" width="4in" fileref="../books/images/tutorial_series_volIII_fig02.png" format="PNG"/>
|
||||
<imagedata align="center" width="4in" fileref="../../books/images/tutorial_series_volIII_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata width="80%" scalefit="1" fileref="../books/images/tutorial_series_volIII_fig02.png" format="PNG"/>
|
||||
<imagedata width="80%" scalefit="1" fileref="../../books/images/tutorial_series_volIII_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -231,10 +231,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" width="4in" fileref="../books/images/tutorial_series_volIII_fig03.png" format="PNG"/>
|
||||
<imagedata align="center" width="4in" fileref="../../books/images/tutorial_series_volIII_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata width="4in" scalefit="1" fileref="../books/images/tutorial_series_volIII_fig03.png" format="PNG"/>
|
||||
<imagedata width="4in" scalefit="1" fileref="../../books/images/tutorial_series_volIII_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -289,8 +289,8 @@
|
||||
</para>
|
||||
<para>
|
||||
<inlinemediaobject>
|
||||
<imageobject role="html"><imagedata width="1in" scalefit="1" fileref="../books/images/tutorial_series_volIII_fig30.png"/></imageobject>
|
||||
<imageobject role="fo"><imagedata fileref="../books/images/tutorial_series_volIII_fig30.png"/></imageobject>
|
||||
<imageobject role="html"><imagedata width="1in" scalefit="1" fileref="../../books/images/tutorial_series_volIII_fig30.png"/></imageobject>
|
||||
<imageobject role="fo"><imagedata fileref="../../books/images/tutorial_series_volIII_fig30.png"/></imageobject>
|
||||
</inlinemediaobject>
|
||||
</para>
|
||||
</entry>
|
||||
@@ -312,8 +312,8 @@
|
||||
</para>
|
||||
<para>
|
||||
<inlinemediaobject>
|
||||
<imageobject role="html"><imagedata width="1in" scalefit="1" fileref="../books/images/tutorial_series_volIII_fig21.png"/></imageobject>
|
||||
<imageobject role="fo"><imagedata fileref="../books/images/tutorial_series_volIII_fig21.png"/></imageobject>
|
||||
<imageobject role="html"><imagedata width="1in" scalefit="1" fileref="../../books/images/tutorial_series_volIII_fig21.png"/></imageobject>
|
||||
<imageobject role="fo"><imagedata fileref="../../books/images/tutorial_series_volIII_fig21.png"/></imageobject>
|
||||
</inlinemediaobject>
|
||||
</para>
|
||||
</entry>
|
||||
@@ -333,8 +333,8 @@
|
||||
</para>
|
||||
<para>
|
||||
<inlinemediaobject>
|
||||
<imageobject role="html"><imagedata width="1in" scalefit="1" fileref="../books/images/tutorial_series_volIII_fig22.png"/></imageobject>
|
||||
<imageobject role="fo"><imagedata fileref="../books/images/tutorial_series_volIII_fig22.png"/></imageobject>
|
||||
<imageobject role="html"><imagedata width="1in" scalefit="1" fileref="../../books/images/tutorial_series_volIII_fig22.png"/></imageobject>
|
||||
<imageobject role="fo"><imagedata fileref="../../books/images/tutorial_series_volIII_fig22.png"/></imageobject>
|
||||
</inlinemediaobject>
|
||||
</para>
|
||||
</entry>
|
||||
@@ -476,10 +476,10 @@
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/tutorial_series_volIII_table_image_1.png" format="PNG"/>
|
||||
<imagedata fileref="../../books/images/tutorial_series_volIII_table_image_1.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/tutorial_series_volIII_table_image_1.png" format="PNG"/>
|
||||
<imagedata fileref="../../books/images/tutorial_series_volIII_table_image_1.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>[a] Intersection and union symbols presented here
|
||||
@@ -828,10 +828,10 @@ mvall oldname newname
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig04.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig04.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
|
||||
</mediaobject>
|
||||
@@ -840,10 +840,10 @@ mvall oldname newname
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig05.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig05.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig05.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig05.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -1026,10 +1026,10 @@ mvall oldname newname
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig24.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig24.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig24.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig24.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1059,10 +1059,10 @@ mvall oldname newname
|
||||
<para>
|
||||
<inlinemediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/tutorial_series_volIII_fig23.png"/>
|
||||
<imagedata fileref="../../books/images/tutorial_series_volIII_fig23.png"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/tutorial_series_volIII_fig23.png"/>
|
||||
<imagedata fileref="../../books/images/tutorial_series_volIII_fig23.png"/>
|
||||
</imageobject>
|
||||
</inlinemediaobject>
|
||||
</para>
|
||||
@@ -1076,10 +1076,10 @@ mvall oldname newname
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig25.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig25.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig25.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig25.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1112,10 +1112,10 @@ mvall oldname newname
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig26.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig26.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig26.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig26.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1157,10 +1157,10 @@ mvall oldname newname
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig27.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig27.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig27.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig27.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1208,10 +1208,10 @@ mvall oldname newname
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig28.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig28.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig28.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig28.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1253,10 +1253,10 @@ mvall oldname newname
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig29.png"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig29.png"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig29.png"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig29.png"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
@@ -1519,10 +1519,10 @@ mvall oldname newname
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig06.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig06.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig06.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig06.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -1530,10 +1530,10 @@ mvall oldname newname
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig07.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig07.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig07.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig07.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -1541,10 +1541,10 @@ mvall oldname newname
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig08.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig08.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig08.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig08.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -1552,10 +1552,10 @@ mvall oldname newname
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig09.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig09.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig09.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig09.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -1595,10 +1595,10 @@ mvall oldname newname
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig10.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig10.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig10.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig10.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -1607,10 +1607,10 @@ mvall oldname newname
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig11.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig11.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig11.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig11.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -1844,10 +1844,10 @@ mged> dbconcat [-s, -p] filename.g [prefix]
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig12.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig12.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig12.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig12.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -1855,10 +1855,10 @@ mged> dbconcat [-s, -p] filename.g [prefix]
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig13.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig13.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig13.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig13.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -1866,10 +1866,10 @@ mged> dbconcat [-s, -p] filename.g [prefix]
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig14.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig14.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig14.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig14.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -1907,10 +1907,10 @@ mged> dbconcat [-s, -p] filename.g [prefix]
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig15.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig15.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig15.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig15.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -1971,10 +1971,10 @@ mged> dbconcat [-s, -p] filename.g [prefix]
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig16.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig16.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig16.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig16.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -2063,10 +2063,10 @@ comb comb_name u a - b + c
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig17.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig17.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig17.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig17.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -2952,10 +2952,10 @@ comb comb_name u a - b + c
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig18.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig18.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig18.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig18.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -3029,10 +3029,10 @@ comb comb_name u a - b + c
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig19.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig19.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig19.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig19.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
@@ -3053,10 +3053,10 @@ comb comb_name u a - b + c
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig20.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig20.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata align="center" fileref="../books/images/tutorial_series_volIII_fig20.png" format="PNG"/>
|
||||
<imagedata align="center" fileref="../../books/images/tutorial_series_volIII_fig20.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
|
||||
@@ -1,28 +1,19 @@
|
||||
# Style sheet for XSLT transformation to book HTML pages
|
||||
if(BRLCAD_EXTRADOCS_HTML)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-book-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-book-xhtml-stylesheet.xsl
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-book-xhtml-stylesheet.xsl")
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-book-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-book-xhtml-stylesheet.xsl)
|
||||
endif(BRLCAD_EXTRADOCS_HTML)
|
||||
|
||||
if(BRLCAD_EXTRADOCS_PHP)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-book-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-book-xhtml-stylesheet.xsl
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-book-xhtml-stylesheet.xsl")
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-book-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-book-xhtml-stylesheet.xsl)
|
||||
endif(BRLCAD_EXTRADOCS_PHP)
|
||||
|
||||
# Files for PDF products
|
||||
if(BRLCAD_EXTRADOCS_PDF)
|
||||
# Style sheet for XSLT transformation to PDF
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-book-fo-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-book-fo-stylesheet.xsl
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-book-fo-stylesheet.xsl")
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-book-fo-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-book-fo-stylesheet.xsl)
|
||||
endif(BRLCAD_EXTRADOCS_PDF)
|
||||
|
||||
# For HTML and FO (FO is an intermediate file used in the
|
||||
@@ -32,8 +23,8 @@ set(XSL_PHP_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/wordpres
|
||||
set(XSL_HTML_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-book-xhtml-stylesheet.xsl")
|
||||
set(XSL_FO_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-book-fo-stylesheet.xsl")
|
||||
|
||||
set(
|
||||
books_EN_IMAGES
|
||||
|
||||
set(books_EN_IMAGES
|
||||
images/tutorial_series_volI_fig01.png
|
||||
images/tutorial_series_volI_fig02.png
|
||||
images/tutorial_series_volI_fig03.png
|
||||
@@ -83,12 +74,12 @@ set(
|
||||
images/v4-image009.jpg
|
||||
images/v4-image010.jpg
|
||||
images/v4-image011.jpg
|
||||
)
|
||||
if(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
if(BRLCAD_EXTRADOCS)
|
||||
add_doc(books_EN_IMAGES html/books/images)
|
||||
endif(BRLCAD_EXTRADOCS)
|
||||
endif(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
)
|
||||
if(BRLCAD_EXTRADOCS)
|
||||
ADD_DOC(books_EN_IMAGES books/images)
|
||||
else(BRLCAD_EXTRADOCS)
|
||||
CMAKEFILES(${books_EN_IMAGES})
|
||||
endif(BRLCAD_EXTRADOCS)
|
||||
|
||||
# The PDFs need some special logic to generate custom
|
||||
# covers.
|
||||
@@ -96,148 +87,95 @@ endif(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
set(COVER_COLOR "cc9966")
|
||||
set(CURRENT_VOLUME "I")
|
||||
set(CURRENT_TITLE "An Overview of BRL-CAD")
|
||||
configure_file(
|
||||
${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-cover-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeI-cover.xsl
|
||||
@ONLY
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeI-cover.xsl")
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-cover-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeI-cover.xsl @ONLY)
|
||||
|
||||
string(REPLACE " " "%20" TUTORIAL_COVER_XSL ${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeI-cover.xsl)
|
||||
configure_file(
|
||||
${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeI.xsl
|
||||
@ONLY
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeI.xsl")
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeI.xsl @ONLY)
|
||||
|
||||
set(XSL_FO_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeI.xsl")
|
||||
|
||||
if(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
if(BRLCAD_EXTRADOCS)
|
||||
add_docbook("HTML;PHP;PDF" BRL-CAD_Tutorial_Series-VolumeI.xml books books_EN_IMAGES_cp)
|
||||
endif(BRLCAD_EXTRADOCS)
|
||||
endif(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
ADD_DOCBOOK("HTML;PHP;PDF" BRL-CAD_Tutorial_Series-VolumeI.xml books books_EN_IMAGES_cp)
|
||||
|
||||
set(COVER_COLOR "cc6666")
|
||||
set(CURRENT_VOLUME "II")
|
||||
set(CURRENT_TITLE "Introduction to MGED")
|
||||
configure_file(
|
||||
${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-cover-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeII-cover.xsl
|
||||
@ONLY
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeII-cover.xsl")
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-cover-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeII-cover.xsl @ONLY)
|
||||
|
||||
string(REPLACE " " "%20" TUTORIAL_COVER_XSL ${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeII-cover.xsl)
|
||||
configure_file(
|
||||
${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeII.xsl
|
||||
@ONLY
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeII.xsl")
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeII.xsl @ONLY)
|
||||
|
||||
set(XSL_FO_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeII.xsl")
|
||||
|
||||
if(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
if(BRLCAD_EXTRADOCS)
|
||||
add_docbook("HTML;PHP;PDF" BRL-CAD_Tutorial_Series-VolumeII.xml books books_EN_IMAGES_cp)
|
||||
endif(BRLCAD_EXTRADOCS)
|
||||
endif(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
ADD_DOCBOOK("HTML;PHP;PDF" BRL-CAD_Tutorial_Series-VolumeII.xml books books_EN_IMAGES_cp)
|
||||
|
||||
|
||||
set(COVER_COLOR "669966")
|
||||
set(CURRENT_VOLUME "III")
|
||||
set(CURRENT_TITLE "Principles of Effective Modeling")
|
||||
configure_file(
|
||||
${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-cover-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIII-cover.xsl
|
||||
@ONLY
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIII-cover.xsl")
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-cover-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIII-cover.xsl @ONLY)
|
||||
|
||||
string(REPLACE " " "%20" TUTORIAL_COVER_XSL ${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIII-cover.xsl)
|
||||
configure_file(
|
||||
${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIII.xsl
|
||||
@ONLY
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIII.xsl")
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIII.xsl @ONLY)
|
||||
|
||||
set(XSL_FO_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIII.xsl")
|
||||
|
||||
if(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
if(BRLCAD_EXTRADOCS)
|
||||
add_docbook("HTML;PHP;PDF" BRL-CAD_Tutorial_Series-VolumeIII.xml books books_EN_IMAGES_cp)
|
||||
endif(BRLCAD_EXTRADOCS)
|
||||
endif(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
ADD_DOCBOOK("HTML;PHP;PDF" BRL-CAD_Tutorial_Series-VolumeIII.xml books books_EN_IMAGES_cp)
|
||||
|
||||
|
||||
set(COVER_COLOR "6699cc")
|
||||
set(CURRENT_VOLUME "IV")
|
||||
set(CURRENT_TITLE "Converting Geometry Between BRL-CAD and Other Formats")
|
||||
configure_file(
|
||||
${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-cover-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIV-cover.xsl
|
||||
@ONLY
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIV-cover.xsl")
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-cover-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIV-cover.xsl @ONLY)
|
||||
|
||||
string(REPLACE " " "%20" TUTORIAL_COVER_XSL ${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIV-cover.xsl)
|
||||
configure_file(
|
||||
${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIV.xsl
|
||||
@ONLY
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIV.xsl")
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIV.xsl @ONLY)
|
||||
|
||||
set(XSL_FO_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIV.xsl")
|
||||
|
||||
if(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
if(BRLCAD_EXTRADOCS)
|
||||
add_docbook("HTML;PHP;PDF" BRL-CAD_Tutorial_Series-VolumeIV.xml books books_EN_IMAGES_cp)
|
||||
endif(BRLCAD_EXTRADOCS)
|
||||
endif(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
ADD_DOCBOOK("HTML;PHP;PDF" BRL-CAD_Tutorial_Series-VolumeIV.xml books books_EN_IMAGES_cp)
|
||||
|
||||
set(
|
||||
hacking_brlcad_images
|
||||
images/hacking_brlcad_article_tire_pdf.png
|
||||
images/hacking_brlcad_bearing_cc.png
|
||||
images/hacking_brlcad_book_vol3_pdf.png
|
||||
images/hacking_brlcad_brlcad_intro_hy.png
|
||||
images/hacking_brlcad_brlcad-wiki.png
|
||||
images/hacking_brlcad_csg.png
|
||||
images/hacking_brlcad_cubit.png
|
||||
images/hacking_brlcad_docbook_CMakeLists.png
|
||||
images/hacking_brlcad_docbook_working_session.png
|
||||
images/hacking_brlcad_doxygen_output.png
|
||||
images/hacking_brlcad_emacs-nxml.png
|
||||
images/hacking_brlcad_example_docbook_default_output.png
|
||||
images/hacking_brlcad_g_spec_pdf.png
|
||||
images/hacking_brlcad_havoc_c.png
|
||||
images/hacking_brlcad_havoc_views_c.png
|
||||
images/hacking_brlcad_M1A1_9x10_300dpi_cc.png
|
||||
images/hacking_brlcad_man_page_search.png
|
||||
images/hacking_brlcad_sflake2_cc.png
|
||||
images/hacking_brlcad_Sgi_cube_cc.png
|
||||
images/hacking_brlcad_stryker_slat.png
|
||||
images/hacking_brlcad_tcl_tk_presentation.png
|
||||
images/hacking_brlcad_teapot.png
|
||||
images/hacking_brlcad_tracked_mine.png
|
||||
images/hacking_brlcad_tutorial_1_pdf.png
|
||||
images/hacking_brlcad_xyz.png
|
||||
)
|
||||
|
||||
cmakefiles(
|
||||
${books_EN_IMAGES}
|
||||
${hacking_brlcad_images}
|
||||
BRL-CAD_Tutorial_Series-VolumeI.xml
|
||||
BRL-CAD_Tutorial_Series-VolumeII.xml
|
||||
BRL-CAD_Tutorial_Series-VolumeIII.xml
|
||||
BRL-CAD_Tutorial_Series-VolumeIV.xml
|
||||
CMakeLists.txt
|
||||
HACKING_BRL-CAD.xml
|
||||
README
|
||||
tutorial_series_authors.xml
|
||||
)
|
||||
CMAKEFILES(tutorial_series_authors.xml)
|
||||
|
||||
set(hacking_brlcad_images
|
||||
images/hacking_brlcad_article_tire_pdf.png
|
||||
images/hacking_brlcad_bearing_cc.png
|
||||
images/hacking_brlcad_book_vol3_pdf.png
|
||||
images/hacking_brlcad_brlcad_intro_hy.png
|
||||
images/hacking_brlcad_brlcad-wiki.png
|
||||
images/hacking_brlcad_csg.png
|
||||
images/hacking_brlcad_cubit.png
|
||||
images/hacking_brlcad_docbook_CMakeLists.png
|
||||
images/hacking_brlcad_docbook_working_session.png
|
||||
images/hacking_brlcad_doxygen_output.png
|
||||
images/hacking_brlcad_emacs-nxml.png
|
||||
images/hacking_brlcad_example_docbook_default_output.png
|
||||
images/hacking_brlcad_g_spec_pdf.png
|
||||
images/hacking_brlcad_havoc_c.png
|
||||
images/hacking_brlcad_havoc_views_c.png
|
||||
images/hacking_brlcad_M1A1_9x10_300dpi_cc.png
|
||||
images/hacking_brlcad_man_page_search.png
|
||||
images/hacking_brlcad_sflake2_cc.png
|
||||
images/hacking_brlcad_Sgi_cube_cc.png
|
||||
images/hacking_brlcad_stryker_slat.png
|
||||
images/hacking_brlcad_tcl_tk_presentation.png
|
||||
images/hacking_brlcad_teapot.png
|
||||
images/hacking_brlcad_tracked_mine.png
|
||||
images/hacking_brlcad_tutorial_1_pdf.png
|
||||
images/hacking_brlcad_xyz.png
|
||||
)
|
||||
CMAKEFILES(${hacking_brlcad_images})
|
||||
CMAKEFILES(HACKING_BRL-CAD.xml)
|
||||
CMAKEFILES(README)
|
||||
CMAKEFILES(CMakeLists.txt)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
|
||||
@@ -275,10 +275,10 @@
|
||||
<title>Solid Geometry</title>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_tracked_mine.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_tracked_mine.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_tracked_mine.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_tracked_mine.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
<para>
|
||||
@@ -290,10 +290,10 @@
|
||||
<title>Raytracing</title>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_bearing_cc.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_bearing_cc.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_bearing_cc.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_bearing_cc.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
<para>
|
||||
@@ -305,7 +305,7 @@
|
||||
<title>Geometry Conversion</title>
|
||||
<mediaobject>
|
||||
<imageobject>
|
||||
<imagedata fileref="../books/images/hacking_brlcad_cubit.png" format="PNG" scalefit="1" width="100%" contentdepth="100%" />
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_cubit.png" format="PNG" scalefit="1" width="100%" contentdepth="100%" />
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
<para>
|
||||
@@ -313,7 +313,7 @@
|
||||
</para>
|
||||
<!--<mediaobject>
|
||||
<imageobject>
|
||||
<imagedata fileref="../books/images/hacking_brlcad_missing.png" format="PNG" scalefit="1" width="100%" contentdepth="100%" />
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_missing.png" format="PNG" scalefit="1" width="100%" contentdepth="100%" />
|
||||
</imageobject>
|
||||
</mediaobject>-->
|
||||
<para>
|
||||
@@ -325,10 +325,10 @@
|
||||
<title>Procedural Geometry</title>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_sflake2_cc.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_sflake2_cc.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_sflake2_cc.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_sflake2_cc.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
<para>
|
||||
@@ -340,10 +340,10 @@
|
||||
<title>Boundary Representation</title>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_teapot.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_teapot.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_teapot.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_teapot.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
<para>
|
||||
@@ -355,10 +355,10 @@
|
||||
<title>Path Tracing</title>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_stryker_slat.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_stryker_slat.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_stryker_slat.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_stryker_slat.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
<para>
|
||||
@@ -370,10 +370,10 @@
|
||||
<title>Constructive Solid Geometry (CSG)</title>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_M1A1_9x10_300dpi_cc.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_M1A1_9x10_300dpi_cc.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_M1A1_9x10_300dpi_cc.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_M1A1_9x10_300dpi_cc.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
<para>
|
||||
@@ -381,10 +381,10 @@
|
||||
</para>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_csg.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_csg.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_csg.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_csg.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</section>
|
||||
@@ -393,18 +393,18 @@
|
||||
<title>Hidden Line Rendering</title>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_havoc_c.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_havoc_c.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_havoc_c.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_havoc_c.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_havoc_views_c.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_havoc_views_c.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_havoc_views_c.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_havoc_views_c.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
<para>
|
||||
@@ -416,10 +416,10 @@
|
||||
<title>Scripting Interface</title>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_Sgi_cube_cc.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_Sgi_cube_cc.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_Sgi_cube_cc.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_Sgi_cube_cc.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
<para>
|
||||
@@ -498,7 +498,7 @@
|
||||
<section>
|
||||
<title>The Big Picture</title>
|
||||
<para>
|
||||
The source code and most project data are stored in a Git<footnote><para><link xlink:href="http://git-scm.com/"/></para></footnote> version control system for change tracking and collaborative development. Primary development in the "main" branch is generally stable, but cross-platform compilation is not guaranteed. A separate branch (named STABLE) provides a higher level of quality assurance. Every released version of BRL-CAD is tested and tagged.
|
||||
The source code and most project data are stored in a Subversion<footnote><para><link xlink:href="http://subversion.apache.org/"/></para></footnote> version control system for change tracking and collaborative development. Trunk development is generally stable, but cross-platform compilation is not guaranteed. A separate branch (named STABLE) provides a higher level of quality assurance. Every released version of BRL-CAD is tested and tagged.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@@ -644,6 +644,15 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<filename>src/other/</filename>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>3rd party frameworks (Tcl/Tk, libpng, zlib, etc.)</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<filename>src/proc-db/</filename>
|
||||
@@ -762,7 +771,7 @@
|
||||
<title>Code Conventions</title>
|
||||
|
||||
<para>
|
||||
BRL-CAD has a STABLE branch in Git that should always compile and run on all supported platforms. The primary development branch trunk, unlike STABLE, is generally expected to compile but may occasionally fail to do so during active development.
|
||||
BRL-CAD has a STABLE branch in SVN that should always compile and run on all supported platforms. The primary development branch trunk, unlike STABLE, is generally expected to compile but may occasionally fail to do so during active development.
|
||||
</para>
|
||||
<section>
|
||||
<title>Languages</title>
|
||||
@@ -1011,11 +1020,11 @@ some_function(char *j)
|
||||
</para>
|
||||
<section><title>Obtaining the Code</title>
|
||||
<para>
|
||||
You can get the development code for BRL-CAD from our Git code repository using the following command:
|
||||
You can get the development code for BRL-CAD from our Subversion code repository using the following command:
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<command>git clone https://github.com/BRL-CAD/brlcad</command>
|
||||
<command>svn checkout svn://svn.code.sf.net/p/brlcad/code/brlcad/trunk brlcad-code</command>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@@ -1153,10 +1162,10 @@ some_function(char *j)
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_emacs-nxml.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_emacs-nxml.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_emacs-nxml.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_emacs-nxml.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
|
||||
@@ -1218,10 +1227,10 @@ xmllint failure: 1
|
||||
</para>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_docbook_CMakeLists.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_docbook_CMakeLists.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_docbook_CMakeLists.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_docbook_CMakeLists.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
|
||||
@@ -1276,10 +1285,10 @@ Scanning dependencies of target ellipsoid_article_html
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_example_docbook_default_output.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_example_docbook_default_output.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_example_docbook_default_output.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_example_docbook_default_output.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
|
||||
@@ -1298,10 +1307,10 @@ Scanning dependencies of target ellipsoid_article_html
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_docbook_working_session.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_docbook_working_session.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_docbook_working_session.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_docbook_working_session.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
|
||||
@@ -1321,10 +1330,10 @@ Scanning dependencies of target ellipsoid_article_html
|
||||
</para>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_brlcad_intro_hy.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_brlcad_intro_hy.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_brlcad_intro_hy.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_brlcad_intro_hy.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</section>
|
||||
@@ -1401,10 +1410,10 @@ Scanning dependencies of target ellipsoid_article_html
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_tutorial_1_pdf.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_tutorial_1_pdf.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_tutorial_1_pdf.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_tutorial_1_pdf.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
|
||||
@@ -1441,10 +1450,10 @@ Scanning dependencies of target ellipsoid_article_html
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_brlcad-wiki.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_brlcad-wiki.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_brlcad-wiki.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_brlcad-wiki.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</section>
|
||||
@@ -1456,10 +1465,10 @@ Scanning dependencies of target ellipsoid_article_html
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_man_page_search.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_man_page_search.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_man_page_search.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_man_page_search.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</section>
|
||||
@@ -1475,10 +1484,10 @@ Scanning dependencies of target ellipsoid_article_html
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_doxygen_output.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_doxygen_output.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_doxygen_output.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_doxygen_output.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</section>
|
||||
@@ -1490,10 +1499,10 @@ Scanning dependencies of target ellipsoid_article_html
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_tcl_tk_presentation.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_tcl_tk_presentation.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_tcl_tk_presentation.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_tcl_tk_presentation.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</section>
|
||||
@@ -1505,10 +1514,10 @@ Scanning dependencies of target ellipsoid_article_html
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_article_tire_pdf.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_article_tire_pdf.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_article_tire_pdf.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_article_tire_pdf.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</section>
|
||||
@@ -1520,10 +1529,10 @@ Scanning dependencies of target ellipsoid_article_html
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_book_vol3_pdf.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_book_vol3_pdf.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_book_vol3_pdf.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_book_vol3_pdf.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</section>
|
||||
@@ -1535,10 +1544,10 @@ Scanning dependencies of target ellipsoid_article_html
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_g_spec_pdf.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_g_spec_pdf.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_g_spec_pdf.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_g_spec_pdf.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</section>
|
||||
@@ -1550,10 +1559,10 @@ Scanning dependencies of target ellipsoid_article_html
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_tcl_tk_presentation.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_tcl_tk_presentation.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_tcl_tk_presentation.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_tcl_tk_presentation.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</section>
|
||||
@@ -1581,7 +1590,7 @@ Scanning dependencies of target ellipsoid_article_html
|
||||
</para>
|
||||
|
||||
<para>
|
||||
We also have a list of bugs in our <link xlink:href="https://github.com/BRL-CAD/brlcad/blob/main/BUGS">BUGS file</link>. While most of the bugs in the list focus on the BRL-CAD code, there are a few related to the documentation. If you plan to tackle a documentation bug, remember to report it in our <link xlink:href="https://github.com/BRL-CAD/brlcad/issues">issue tracker</link> (https://github.com/BRL-CAD/brlcad/issues).
|
||||
We also have a list of bugs in our <link xlink:href="http://sourceforge.net/p/brlcad/code/HEAD/tree/brlcad/trunk/BUGS">BUGS file</link>. While most of the bugs in the list focus on the BRL-CAD code, there are a few related to the documentation. If you plan to tackle a documentation bug, remember to report it in our <link xlink:href="http://sourceforge.net/p/brlcad/bugs/">bug tracker</link> (http://sourceforge.net/p/brlcad/bugs/).
|
||||
</para>
|
||||
</section>
|
||||
|
||||
@@ -1603,15 +1612,15 @@ Scanning dependencies of target ellipsoid_article_html
|
||||
|
||||
<section><title>Obtaining the Documentation</title>
|
||||
<para>
|
||||
The documentation and the toolchain required to generate the documentation is part of the software's development code. You should download the source code from the Git version control system using the following command:
|
||||
The documentation and the toolchain required to generate the documentation is part of the software's development code. You should download the source code from the Subversion version control system using the following command:
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<command>git clone https://github.com/BRL-CAD/brlcad</command>
|
||||
<command>svn checkout svn://svn.code.sf.net/p/brlcad/code/brlcad/trunk brlcad-code</command>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The directory <filename>brlcad</filename> should be within your <filename>/home</filename> directory so that BRL-CAD's build directory commands don't interfere with your system's commands.
|
||||
The directory <filename>brlcad-code</filename> should be within your <filename>/home</filename> directory so that BRL-CAD's build directory commands don't interfere with your system's commands.
|
||||
</para>
|
||||
|
||||
<section><title>Obtaining FOP</title>
|
||||
@@ -1724,7 +1733,7 @@ Scanning dependencies of target ellipsoid_article_html
|
||||
|
||||
<section><title>Bug Reporting and Feature Requests</title>
|
||||
<para>
|
||||
Finding bugs in software is often a challenging task for developers. If you find a problem with the software, file a bug report on BRL-CAD's official <link xlink:href="https://github.com/BRL-CAD/brlcad/issues">issue tracking page</link> on SourceForge (http://sourceforge.net/p/brlcad/bugs/). Please remember to provide enough detail so that we can reproduce the problem. You can also post to our developer mailing list at <email>brlcad-devel@lists.sourceforge.net</email>.
|
||||
Finding bugs in software is often a challenging task for developers. If you find a problem with the software, file a bug report on BRL-CAD's official <link xlink:href="http://sourceforge.net/p/brlcad/bugs/">bug tracking page</link> on SourceForge (http://sourceforge.net/p/brlcad/bugs/). Please remember to provide enough detail so that we can reproduce the problem. You can also post to our developer mailing list at <email>brlcad-devel@lists.sourceforge.net</email>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@@ -1743,10 +1752,10 @@ Scanning dependencies of target ellipsoid_article_html
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_xyz.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_xyz.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imagedata fileref="../books/images/hacking_brlcad_xyz.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
<imagedata fileref="../../books/images/hacking_brlcad_xyz.png" format="PNG" scalefit="1" width="100%" contentdepth="100%"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
|
||||
@@ -1816,14 +1825,15 @@ Scanning dependencies of target ellipsoid_article_html
|
||||
<listitem><para>Wiki: <link xlink:href="http://brlcad.org/wiki/Main_Page"/></para></listitem>
|
||||
<listitem><para>FAQs: <link xlink:href="http://brlcad.org/wiki/FAQ"/></para></listitem>
|
||||
<listitem><para>Online documentation resources: <link xlink:href="http://brlcad.org/wiki/Documentation"/></para></listitem>
|
||||
<listitem><para>Venerated developers' guide (HACKING File): <link xlink:href="https://github.com/BRL-CAD/brlcad/blob/main/HACKING"/></para></listitem>
|
||||
<listitem><para>Venerated developers' guide (HACKING File): <link xlink:href="http://svn.code.sf.net/p/brlcad/code/brlcad/trunk/HACKING"/></para></listitem>
|
||||
<listitem><para>BRL-CAD commands: <link xlink:href="http://brlcad.org/wiki/BRL-CAD_Commands"/></para></listitem>
|
||||
<listitem><para>MGED command reference: <link xlink:href="http://brlcad.org/wiki/MGED_Commands"/></para></listitem>
|
||||
<listitem><para>BRL-CAD primitives reference: <link xlink:href="http://brlcad.org/wiki/BRL-CAD_Primitives"/></para></listitem>
|
||||
<listitem><para>Git: <link xlink:href="http://brlcad.org/wiki/Git"/></para></listitem>
|
||||
<listitem><para>SVN: <link xlink:href="http://brlcad.org/wiki/SVN"/></para></listitem>
|
||||
<listitem><para>BRL-CAD patch submission: <link xlink:href="http://brlcad.org/wiki/Patches"/></para></listitem>
|
||||
<listitem><para>Image gallery: <link xlink:href="http://brlcad.org/gallery/"/></para></listitem>
|
||||
<listitem><para>BRL-CAD Github page: <link xlink:href="http://github.com/BRL-CAD/brlcad/"/></para></listitem>
|
||||
<listitem><para>BRL-CAD SourceForge page (since we use SVN for version control): <link xlink:href="http://sourceforge.net/projects/brlcad/"/></para></listitem>
|
||||
<listitem><para>SourceForge registration page (for contributors to submit patches): <link xlink:href="https://sourceforge.net/user/registration"/></para></listitem>
|
||||
<listitem><para>Application requirements for Google Summer of Code (GSoC) participants: <link xlink:href="http://brlcad.org/wiki/Google_Summer_of_Code/Application_Guidelines"/></para></listitem>
|
||||
<listitem><para>Acceptance requirements for Google Summer of Code (GSoC) participants: <link xlink:href="http://brlcad.org/wiki/Google_Summer_of_Code/Acceptance"/></para></listitem>
|
||||
<listitem><para>Behavioral expectations for GSoC participants: <link xlink:href="http://brlcad.org/wiki/Google_Summer_of_Code/Expectations"/></para></listitem>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
* file is used to provide a db_dir_info build target to reference in CMake.
|
||||
*/
|
||||
|
||||
int main(void) {
|
||||
int main() {
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,82 +0,0 @@
|
||||
# Style sheet for XSLT transformation to HTML pages
|
||||
if(BRLCAD_EXTRADOCS_HTML)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_HTML)
|
||||
|
||||
if(BRLCAD_EXTRADOCS_PHP)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_PHP)
|
||||
|
||||
# Style sheet for XSLT transformation to manual pages
|
||||
if(BRLCAD_EXTRADOCS_MAN)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-man-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-stylesheet.xsl
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_MAN)
|
||||
|
||||
# Files for PDF
|
||||
if(BRLCAD_EXTRADOCS_PDF)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-man-fo-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-fo-stylesheet.xsl
|
||||
)
|
||||
distclean("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-fo-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_PDF)
|
||||
|
||||
# For HTML, MAN and FO (FO is an intermediate file used in the
|
||||
# XML->PDF transformation) we use variables to hold the full
|
||||
# stylesheet path. In the case we need to further
|
||||
# customize FO stylesheets we can have separate CMake logic in
|
||||
# appropriate directories to handle the customization (e.g., the
|
||||
# BRL-CAD manuals in books/en/CMakeLists.txt).
|
||||
set(XSL_PHP_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/wordpress.xsl")
|
||||
set(XSL_HTML_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl")
|
||||
set(XSL_MAN_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-stylesheet.xsl")
|
||||
set(XSL_FO_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-fo-stylesheet.xsl")
|
||||
|
||||
set(devguides_EN bool_eval_development.xml)
|
||||
|
||||
set(
|
||||
devguides_EN_IMAGES
|
||||
images/ccx_overlap_event.png
|
||||
images/ssx_transverse_event.png
|
||||
images/ssx_tangent_event.png
|
||||
images/compare_endpoint_style.png
|
||||
images/lcurves_with_shaded_context.png
|
||||
images/ssx_10_vs_13.png
|
||||
images/curve_traversal_directions.png
|
||||
images/axis_X.png
|
||||
images/intermediate_linked_curves.png
|
||||
images/ssx_overlap_event.png
|
||||
images/evaluation_overview.png
|
||||
)
|
||||
|
||||
if(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
if(BRLCAD_EXTRADOCS)
|
||||
add_doc(devguides_EN_IMAGES html/devguides/images)
|
||||
add_docbook("HTML;PHP;PDF" devguides_EN devguides/en devguides_EN_IMAGES_cp)
|
||||
endif(BRLCAD_EXTRADOCS)
|
||||
endif(TARGET mged OR TARGET qged OR TARGET archer)
|
||||
|
||||
cmakefiles(
|
||||
CMakeLists.txt
|
||||
${devguides_EN}
|
||||
${devguides_EN_IMAGES}
|
||||
)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
Before Width: | Height: | Size: 62 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 6.0 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 646 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 99 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 79 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user