This adds an approximation of a wheel plowing effect
by rotating contact points and normals forward to
approximate the normal pressure distribution when
plowing longitudinally through deformable soil.
This builds on the implementation of the plowing effect
from the aditya/contact_pts branch to implement a model
discussed in #3085.
* Collision::WorldLinearVel: account for pose offset
Signed-off-by: Steve Peters <email address hidden>
Add example world and models, plowing SDFormat tags
LensFlare: parameterize number of occlusion steps (#3234)
There is a significant amount of CPU time taken
when checking for occlusions in the LensFlare
compositor listener. This exposes the number
of steps taken when checking occlusions to allow
users to attempt to speed up this process.
* LensFlarePlugin: call SetCamera last
The SetCamera call passes the current parameters to
the compositor listener, so make sure that it is
called last.
Signed-off-by: Steve Peters <email address hidden>
Support shininess value for each Visual in a Model (#3235)
This moves the parsing of shininess values from
World::LoadModel to Link::UpdateVisualMsg and
stores the values by scoped Visual name rather
than by Model name. The per-model gz services
are also replaced by a single /shininess
service. A World::ShininessByScopedName method
for accessing the shininess map is provided, and
a mutex is used to protect access to the map.
Signed-off-by: Steve Peters <email address hidden>
* Add Visual::Shininess accessor and corresponding
visual_shininess integration test that confirms
shininess values are properly added to Visuals in
the shapes_shininess example world.
* Fix the test by reverting part of #3223, moving
the shininess service call back to Visual::Load.
A different fix for the PR2 tests is made by
checking for existence of shininess service
before calling.
Signed-off-by: Steve Peters <email address hidden>