nodeCollision
Definition
-- @/lua/vehicle/fire.lua:265
local function nodeCollision(p)
--add energy to node
local collisionNodeId = p.id1
local node = flammableNodes[collisionNodeId]
if not node or not node.temperature or p.depth > 0 then
return
end
local collisionEnergy = p.slipForce * p.slipVel * lastDt
node.temperature = min(maxNodeTemp, node.temperature + collisionEnergy * collisionEnergyMultiplier * node.selfIgnitionCoef / node.weightSpecHeatCoef)
local vaporCorrectedSmokePoint = node.smokePoint - (node.smokePoint * node.isVapor * vaporFlashPointModifier)
if node.canIgnite and node.temperature >= vaporCorrectedSmokePoint and not hotNodes[collisionNodeId] then
hotNodes[collisionNodeId] = node --add it to the hot node list
node.burnRate = node.burnRate or 0
--same as main intensity calculation, just simplified for the ignition case
node.intensity = node.burnRate * node.temperature / maxNodeTemp
node.flameTick = 1
node.smokeTick = 1
end
end
Callers
@/lua/vehicle/controller/controllerTemplate.lua
-- local function nodeCollision(p)
-- end
@/lua/vehicle/particlefilter.lua
local function nodeCollision(p)
--log('D', "particlefilter.particleEmitted", "particleEmitted()")
@/lua/vehicle/bdebugImpl.lua
local function nodeCollision(p)
if not M.state.vehicle.tireContactPoint then
@/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/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/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/wheels.lua
local function nodeCollision(p)
local collisionNodeId = p.id1