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