diff --git a/CHANGELOG.md b/CHANGELOG.md index 68ea893..067f61e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # usdBVHAnim Changelog +## Version 1.1.1 + +* Verified on USD 25.11 +* Support exponent (e.g. `1e-4`) in double values in BVH +* Fix animated translation offsets + ## Version 1.1.0 * Added a file format argument to scale BVH animation data at import time. This can be authored by diff --git a/CMakeLists.txt b/CMakeLists.txt index 6dfdf4f..a100d9a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.28) include(extern/prefabricated-cmake/main.cmake) project( "usdBVHAnim" - VERSION "1.1.0" + VERSION "1.1.1" ) set(PROJECT_AUTHOR "James Bird") set(VALGRIND_ARGS --suppressions=${PROJECT_SOURCE_DIR}/valgrind.supp) diff --git a/README.md b/README.md index 1af8db6..ada948c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # usdBVHAnim [![CMake on multiple platforms](https://github.com/jbrd/usdBVHAnim/actions/workflows/cmake-multi-platform.yml/badge.svg)](https://github.com/jbrd/usdBVHAnim/actions/workflows/cmake-multi-platform.yml) -| **Version: 1.1.0** +| **Version: 1.1.1** (**[Changelog](CHANGELOG.md)**) | **[Documentation](https://jbrd.github.io/usdBVHAnim/)** @@ -59,9 +59,9 @@ Ubisoft LAFAN1 dataset to its sample model, visualised in usdview. First, make sure you are building a version of the plug-in that is compatible with the version of USD you are targetting: -| Plugin Version | USD 24.11 | USD 25.02 | USD 25.05 | USD 25.08 | -|----------------|-----------|-----------|-----------|-----------| -| 1.1.* | ✅ | ✅ | ✅ | ✅ | +| Plugin Version | USD 24.11 | USD 25.02 | USD 25.05 | USD 25.08 | USD 25.11 | +|----------------|-----------|-----------|-----------|-----------|-----------| +| 1.1.* | ✅ | ✅ | ✅ | ✅ | ✅ | | 1.0.* | ✅ | ✅ | ✅ | | diff --git a/docs/sphinx/source/building_and_installing.rst b/docs/sphinx/source/building_and_installing.rst index 633e3cf..8d89fe4 100644 --- a/docs/sphinx/source/building_and_installing.rst +++ b/docs/sphinx/source/building_and_installing.rst @@ -8,7 +8,7 @@ First, make sure you are building a version of the plug-in that is compatible wi the version of USD you are targetting: .. list-table:: - :widths: 25 25 25 25 25 + :widths: 25 25 25 25 25 25 :header-rows: 1 * - Plugin Version @@ -16,16 +16,19 @@ the version of USD you are targetting: - USD 25.02 - USD 25.05 - USD 25.08 + - USD 25.11 * - 1.1.* - ✅ - ✅ - ✅ - ✅ + - ✅ * - 1.0.* - ✅ - ✅ - ✅ - + - Toolchain Requirements diff --git a/src/usdBVHAnimPlugin/Private/ParseBVH.cpp b/src/usdBVHAnimPlugin/Private/ParseBVH.cpp index b6950fb..a3acae3 100644 --- a/src/usdBVHAnimPlugin/Private/ParseBVH.cpp +++ b/src/usdBVHAnimPlugin/Private/ParseBVH.cpp @@ -12,7 +12,7 @@ static const char* const c_WS = " \t\r\n"; static const char* const c_AlphaNumeric = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; -static const char* const c_Double = "-0123456789."; +static const char* const c_Double = "+-0123456789.eE"; static void MultiplyBVHQuat(double a[4], double const b[4]) { @@ -179,13 +179,13 @@ Parse ParseMotion(Parse cursor, BVHDocument& result) BVHChannel channel = channels & BVHChannel::BitMask; switch (channel) { case BVHChannel::XPosition: - transform.m_Translation[0] += value; + transform.m_Translation[0] = value; break; case BVHChannel::YPosition: - transform.m_Translation[1] += value; + transform.m_Translation[1] = value; break; case BVHChannel::ZPosition: - transform.m_Translation[2] += value; + transform.m_Translation[2] = value; break; case BVHChannel::XRotation: { double quat[4] = { std::sin(value * 0.5 * c_DegToRad), 0.0f, 0.0f, std::cos(value * 0.5 * c_DegToRad) };