VE Lua Documentation

Press F to search!

getNodeCount

Definition


-- @/=[C]:-1
function getNodeCount(...)

Callers

@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/simpleFollowDecalroad.lua
  local path = {}
  local segCount = road:getNodeCount() - 1
  for i = 0, segCount-1 do
@/lua/ge/extensions/career/modules/inventory.lua
                           zone.center, xVec * zoneExtents.x/2, yVec * zoneExtents.y/2, zVec * zoneExtents.z/2) then
          for nodeId = 0, veh:getNodeCount() - 1 do
            if zone:containsPoint2D(veh:getNodePosition(nodeId) + vehPos) then
@/lua/vehicle/extensions/tech/mesh.lua
  -- Compute the latest node data.
  local nodesCount = obj:getNodeCount()
  for i=0, nodesCount do
@/lua/ge/extensions/util/nodeStream.lua

  local nodeCount = vehicle:getNodeCount()
  log("D", "nodeStream", "Broadcasting " .. nodeCount .. " nodes")

  local nodeCount = vehicle:getNodeCount()
  log("D", "nodeStream", "Sending initial positions for " .. nodeCount .. " nodes")
@/lua/ge/map.lua
        local edgeCount = road:getEdgeCount()
        local nodeCount = road:getNodeCount()
        if max(edgeCount, nodeCount) > 1 then
@/lua/ge/extensions/flowgraph/nodes/scene/getPointOnDecalroad.lua
    self.oldRoadId = self.pinIn.roadId.value
    self.maxIdx = self.roadObj:getNodeCount()-1
    self.looped = self.roadObj:getField("looped",0) == '1'
@/lua/console/bananabench.lua
    local obj = BeamEngine:spawnObject2(k, testVehicle, vehLPackData, Vector3(300 * k, 300 * k, 1)) -- spawn 1m up
    local nodecount = obj:getNodeCount()
    local beamcount = obj:getBeamCount()
@/lua/ge/extensions/editor/api/roadRiver.lua
  local result = {}
  for i = 0, object:getNodeCount()-1 do
    local node = {pos = object:getNodePosition(i), width = object:getNodeWidth(i)}
@/lua/ge/extensions/util/nodeBeamExport.lua

  local nodeCount = veh:getNodeCount() or 0
  local nodesMeta = vdata.vdata.nodes or {}
@/lua/ge/extensions/util/decalRoadsEditor.lua
    if o and o.drivability > 0 then
      local segCount = o:getNodeCount() - 1
      if segCount > 0 then
@/lua/ge/extensions/editor/meshEditor.lua
    if selectedMesh then
      selectNodesRange(0, selectedMesh:getNodeCount()-1)
    end
  local selectedMesh = selectedMeshId and scenetree.findObjectById(selectedMeshId)
  if selectedMesh and selectedMesh:getNodeCount() > 0 then
    if selectedNode then
  if selectedMesh then
    if (not tableIsEmpty(selectedNodes)) and selectedMesh:getNodeCount() > 2 then
      local nodeInfos = {}
  local originalMesh = scenetree.findObjectById(actionData.originalMeshID)
  editor.deleteMeshNode(originalMesh, originalMesh:getNodeCount() - 1)
  local selectedMesh = selectedMeshId and scenetree.findObjectById(selectedMeshId)
  if selectedMesh and (not tableIsEmpty(selectedNodes)) and selectedMesh:getNodeCount() > 0 then
    im.BeginChild1("node", im.ImVec2(0, 150), true)
  local selectedMesh = selectedMeshId and scenetree.findObjectById(selectedMeshId)
  if selectedMesh and editor.keyModifiers.shift and tableSize(selectedNodes) == 1 and selectedNode and (selectedNode == 0 or selectedNode == selectedMesh:getNodeCount() - 1) then
    local nodeInfo = editor.getNodes(selectedMesh)[selectedNode + 1]
    local newNodeIndex = 1
    if selectedNode == selectedMesh:getNodeCount() - 1 then
      newNodeIndex = u_32_max_int
      selectedNodes = {}
      selectedNodes[selectedMesh:getNodeCount()] = true
      selectedNode = selectedMesh:getNodeCount()
      selectedNodes[selectedMesh:getNodeCount()] = true
      selectedNode = selectedMesh:getNodeCount()
    end
    if editor.getPreference(M.preferencesName .. ".general.dragWidth") and index - 1 == tempNodeIndex then
      if mesh:getNodeCount() == 1 then
        debugDrawer:drawSphere(pos, mesh:getNodeWidth(0)/2, roadRiverGui.highlightColors.nodeTransparent,false)
    if M.type == "River" then
      if index < mesh:getNodeCount() then
        local nextNodePos = nodes[index + 1].pos

  if selectedMesh and selectedMesh:getNodeCount() <= 1 then
    editor.deleteMesh(selectedMeshId)
      if selectedMesh and not tempNodeIndex and not raycastHitMesh(meshRayCastRes, selectedMesh) then
        if selectedNode and selectedNode == 0 and selectedMesh:getNodeCount() > 1 then
          -- Add Node at the beginning
        else
          tempNodeIndex = insertNode(selectedMesh, focusPointNoMesh, selectedMesh:getNodeWidth(selectedMesh:getNodeCount()-1), selectedMesh:getNodeDepth(selectedMesh:getNodeCount()-1), upVector, u_32_max_int)
        end
        else
          tempNodeIndex = insertNode(selectedMesh, focusPointNoMesh, selectedMesh:getNodeWidth(selectedMesh:getNodeCount()-1), selectedMesh:getNodeDepth(selectedMesh:getNodeCount()-1), upVector, u_32_max_int)
        end
        if selectedMesh then
          if selectedMesh:getNodeCount() > 2 then
            -- Undo action for placed node
            editor.history:commitAction("InsertMeshNode", {meshID = selectedMeshId, nodeInfos = {nodeInfo}}, insertNodeActionUndo, insertNodeActionRedo, true)
          elseif selectedMesh:getNodeCount() == 2 then
            -- Undo whole mesh for 2 nodes
@/lua/ge/extensions/core/cameraModes/external.lua
  for tries=1,10 do
    local node = math.random(0, veh:getNodeCount()-1)
    local offset = veh:getNodePosition(node)
@/lua/console/bananabench-async.lua
        local obj = BeamEngine:getSlot(0)
        local nodecount = obj:getNodeCount()
        local beamcount = obj:getBeamCount()
@/lua/ge/spawn.lua
  local otherBBCenter
  local otherNodeCount = otherVeh:getNodeCount()
@/lua/ge/extensions/editor/levelValidator.lua
        -- Check decal roads, mesh roads, rivers for not enough nodes
        if (class == "DecalRoad" or class == "MeshRoad" or class == "River") and object:getNodeCount() < 2 then
          table.insert(objectLogs, {logLevel = "E", type = "spline", objectId = object:getID(), message = "This " ..  object:getClassName() .. " has less than 2 nodes: " .. object:getID(), onCheck = true})
@/lua/ge/extensions/editor/gen/decal.lua
--              local nsec = rd:getEdgeCount()
--                lo('?? onSelect_selected:'..editor.selection.object[i]..':'..rd:getNodeCount()..':'..nsec)
--          table.insert(selectedRoadsIds, editor.selection.object[i])
@/lua/ge/extensions/flowgraph/nodes/scene/pointOnDecalroad.lua
    self.pz = self.roadObj:getNodePosition(0).z
    self.pinOut.maxIdx.value = self.roadObj:getNodeCount()-1
  end
@/lua/ge/extensions/editor/gen/exp_meshexplorer.lua
        for id, veh in activeVehiclesIterator() do
            lo('??++++++++++++++++++++++ veh:'..id..':'..veh:getNodeCount()..':'..tostring(veh:getNodePosition(1))..':'..veh:getJBeamFilename()) --.':'..tostring(veh:getPosition())..':'..tostring(veh:getNodePosition(veh:getRefNodeId()))) --..':'..tableSize(veh.vdata.beams))
            lo('?? forPos:'..tostring(veh:getPosition())..':'..tostring(be:getObjectByID(pvd.id):getPosition())..':'..tostring(veh:getNodePosition(veh:getRefNodeId())))
        for id, veh in activeVehiclesIterator() do
            lo('??++++++++++++++++++++++ veh:'..id..':'..veh:getNodeCount()..':'..tostring(veh:getNodePosition(1))..':'..veh:getJBeamFilename()..':'..veh:getId()) --..':'..tableSize(veh.vdata.beams))
        end
@/lua/ge/extensions/c2/panelPlugins/tileManager.lua
            local isParkingLine = string.find(mat, "^line_parking")
            local count = obj:getNodeCount()
            for i = 0, count - 1 do
      local nodes = {}
      local count = obj:getNodeCount()
      for k = 0, count - 1 do
@/lua/ge/extensions/editor/roadEditor.lua
      if road then
        selectNodesRange(0, road:getNodeCount()-1, roadID)
      end
    local originalRoad = scenetree.findObjectById(originalRoadID)
    deleteNode(originalRoad, originalRoad:getNodeCount() - 1)
    local newRoad = scenetree.findObjectById(actionData.newRoadIDs[roadIndex])
    local road = scenetree.findObjectById(roadID)
    if nodeID == 0 or nodeID == road:getNodeCount() - 1 then
      editor.logError("Can't split at the end of road "..tostring(road:getID()))
  local road2Nodes = editor.getNodes(road2)
  local numNodes = road2:getNodeCount()
  if road2Data.fuseNodeIndex == 1 then
  local nodesRoad2 = editor.getNodes(selectedRoad2)
  local edgeNodes1 = {1, selectedRoad1:getNodeCount()}
  local edgeNodes2 = {1, selectedRoad2:getNodeCount()}
  local edgeNodes1 = {1, selectedRoad1:getNodeCount()}
  local edgeNodes2 = {1, selectedRoad2:getNodeCount()}
    if editor.getPreference("roadEditor.general.dragWidth") and index - 1 == tempNodeIndex then
      if road:getNodeCount() == 1 then
        debugDrawer:drawSphere(pos, road:getNodeWidth(0)/2, roadRiverGui.highlightColors.nodeTransparent, false)
      selectNode(roadID, nil)
      if selectedRoad:getNodeCount() <= 1 then
        editor.deleteRoad(roadID)
          if selRoad and roadTempNodeIndex == -1 and selRoad:containsPoint(focusPointP3F) ~= selectedNode then
            if selectedNode == 0 and selRoad:getNodeCount() > 1 then
              addNodeRefPoint = addNodeRefPoint + selRoad:getNodePosition(selectedNode + 1)
              numNodes = numNodes + 1
            elseif selectedNode == selRoad:getNodeCount() - 1 then
              addNodeRefPoint = addNodeRefPoint + selRoad:getNodePosition(selectedNode)
          if selRoad and roadTempNodeIndex == -1 and selRoad:containsPoint(focusPointP3F) ~= selectedNode then
            if selectedNode == 0 and selRoad:getNodeCount() > 1 then
              -- Add Node at the beginning
              tempNodeIndexes[roadId] = insertNode(selRoad, prevNodePos + diff, selRoad:getNodeWidth(selectedNode), 0)
            elseif selectedNode == selRoad:getNodeCount() - 1 then
              -- Add Node at the end
              local diff = focusPoint - addTempNodeStartPos
              tempNodeIndexes[roadId] = insertNode(selRoad, prevNodePos + diff, selRoad:getNodeWidth(selRoad:getNodeCount()-1), u_32_max_int)
            end
          local selectedNode = getSelectedSingleNodeInRoad(activeRoadID)
          if activeRoad:getNodeCount() > 2 then
            -- Undo action for placed node
            roadInfosTbl[activeRoadID] = nodeInfo
          elseif activeRoad:getNodeCount() == 2 then
            -- Undo whole road for 2 nodes
      -- If there are 2 or more unselected nodes then we just delete the selected nodes
      if (selectedRoad:getNodeCount() - numSelectedNodesInRoad) >= 2 then
        for _, nodeID in ipairs(nodeIDs) do
@/lua/vehicle/controller/tech/mesh.lua
  nodes = {}
  local nodesCount = obj:getNodeCount()
  for i=0, nodesCount do