There was a bug in writeBitVector(), where the last byte was not consistantly written into the destination buffer.
A unit test was added to verify that writeBitVector() and readBitVector() are correct.
This bug has been around a long time... introduced by commit 39ed7f7b in 2014.
This became apparent to me when testing the tablet-ui, there was a case where the
hand styluses were not appearing when close to a web entity. Because findEntities
is such a fundamental feature used by handControllerGrab, this fix should make all
grabbing feel more consistent and predictable.
I added a unit test that reproduces the issue.
* bug fix in AABox::operator+=
* added AABox::emiggen
* Avatar now has a default bound for it's skinned mesh.
* WIP: AABox tests; NEED MORE
* Model: split collision and model mesh render items.
Because ModelMeshRenderItems need special handling to update bounds for animated joints.
* Model: dynamically update the bound for rigidly bound animated meshes
* Rig: added access to geometryToRigTransform
* RenderableModelEntityItem: try to update bounds for skinned mesh to be the entity dimentions (this doesn't seem to be working)
* Geometry.cpp: removed unused bounds parameter in evalPartBounds
* ModelMeshPartPayload: bounds updating
* non-animated: use existing _localBound
* rigid bound mesh: use _localBound transformed by clusterMatrix joint transform
* fully skinned mesh: use _skinnedMeshBound provided by the application.
Previously we were using a infinitely tall vertical cylinder
to push hand IK targets out of the body, this had the
side-effect of preventing the hands from being raised over
the head. Now, we collide against the same 3d capsule
used by the physics system for avatar collisions.
Fixed physics tests, disabled out-of-date octree tests, and renamed /
added QTestExtensions to the tests folder (IDE view).
ALL_BUILD will now succeed.