VE Lua Documentation

Press F to search!

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