AcademySoftwareFoundation / AcademySoftwareFoundation/openvdb
Migrate VDB version check to SOP_NodeVDB
- Dominant language
- C++
- Stars
- 3.4k
- Forks
- 774
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 34
Description
SOP_OpenVDB_Scatter overrides the syncNodeVersion() with a check for the version of VDB the SOP was placed in:
https://github.com/AcademySoftwareFoundation/openvdb/blob/master/openvdb_houdini/SOP_OpenVDB_Scatter.cc#L256
We'd like to move the portion that does the version comparison up into SOP_NodeVDB, something like:
`int SOP_NodeVDB::compareVersionString(const char* oldVersion, const char* nodeVersion);`
and then change the SOP_OpenVDB_Scatter implementation to use this method so that other SOPs don't need to encode this version logic.
This needs to take account of the fact that the version string has only changed recently:
> VDB 6.0.0 - "17.5.204"
> VDB 6.1.0 - "17.5.204"
> VDB 6.2.0 - "vdb6.2.0 houdini17.5.204"
> VDB 6.2.1 - "vdb6.2.1 houdini17.5.204"
> VDB 7.0.0 - "vdb7.0.0 houdini17.5.204"
Houdini version can be ignored for now, it's only the VDB version we care about.
Contributor guide
Research direction
Start in openvdb_houdini/SOP_OpenVDB_Scatter.cc at the syncNodeVersion() implementation linked in the issue, then inspect SOP_NodeVDB. Identify the existing VDB-version comparison logic and the listed historical version-string formats. Done means SOP_NodeVDB provides the comparison and SOP_OpenVDB_Scatter uses it while ignoring the Houdini version.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100