nodeCollision
Definition
-- @/lua/vehicle/wheels.lua:100
local function nodeCollision(p)
local collisionNodeId = p.id1
local node = v.data.nodes[collisionNodeId]
if node then
local wheelID = node.wheelID
if wheelID then
local wheelRot = M.wheelRotators[wheelID]
if obj:inSameNodeCluster(collisionNodeId, wheelRot.node1) then
wheelRot.lastTreadContactNode = collisionNodeId
end
if p.slipForce > 0 and p.materialID ~= 4 and p.materialID2 ~= 4 then
sounds.bodyCollision(p)
end
elseif p.slipForce > 0 then
sounds.bodyCollision(p)
end
end
end
Callers
@/lua/vehicle/bdebug.lua
-- These functions can be nopped, hence the function wrapping
M.nodeCollision = function(p) bdebugImpl.nodeCollision(p) end
M.beamBroke = function(id, energy) bdebugImpl.beamBroke(id, energy) end
@/lua/vehicle/bdebugImpl.lua
local function nodeCollision(p)
if not M.state.vehicle.tireContactPoint then
@/lua/vehicle/main.lua
wheels.nodeCollision(p)
fire.nodeCollision(p)
wheels.nodeCollision(p)
fire.nodeCollision(p)
controller.nodeCollision(p)
fire.nodeCollision(p)
controller.nodeCollision(p)
particlefilter.nodeCollision(p)
controller.nodeCollision(p)
particlefilter.nodeCollision(p)
bdebug.nodeCollision(p)
particlefilter.nodeCollision(p)
bdebug.nodeCollision(p)
end
@/lua/vehicle/particlefilter.lua
local function nodeCollision(p)
--log('D', "particlefilter.particleEmitted", "particleEmitted()")
@/lua/vehicle/controller.lua
local function nodeCollision(p)
for i = 1, nodeCollisionCount, 1 do
if controller.nodeCollision ~= nil then
print(" sortedControllers[" .. i .. "].nodeCollision(p) -- " .. tostring(controller.typeName))
end
@/lua/vehicle/controller/playerController.lua
local function nodeCollision(p)
--take a look at physics particles and use the node and slip velocities to estimate a ball center velocity that is local to the unicycle
@/lua/vehicle/controller/controllerTemplate.lua
-- local function nodeCollision(p)
-- end
@/lua/vehicle/fire.lua
local function nodeCollision(p)
--add energy to node