getNodePosition
Definition
-- @/=[C]:-1
function getNodePosition(...)
Callers
@/lua/ge/extensions/freeroam/dragRace.lua
local axisNodes = vehicle:getWheelAxisNodes(i)
local nodePos = vehicle:getNodePosition(axisNodes[1])
local wheelNodePos = vehicle:getPosition() + vec3(nodePos.x, nodePos.y, nodePos.z)
@/lua/vehicle/extensions/tech/impactgen/damageEvaluation.lua
p1 = obj:getNodePosition(id1)
p2 = obj:getNodePosition(id2)
p1 = obj:getNodePosition(id1)
p2 = obj:getNodePosition(id2)
@/lua/vehicle/controller/couplings/fifthwheel.lua
local position = obj:getPosition()
local nodePostion = obj:getNodePosition(fifthwheelNodeCid)
local distance = ((position + nodePostion) - data.nodePosition):length()
@/lua/vehicle/extensions/tech/wheelForces.lua
for _, data in ipairs(wheelData) do
local axleNodePos1 = obj:getNodePosition(data.axleNode1)
local axleNodePos2 = obj:getNodePosition(data.axleNode2)
local axleNodePos1 = obj:getNodePosition(data.axleNode1)
local axleNodePos2 = obj:getNodePosition(data.axleNode2)
local wheelLeftVector = (axleNodePos1 - axleNodePos2):normalized() * data.wheelDirection
for _, beam in ipairs(data.rimBeamsNode1) do
p1 = vehiclePos + obj:getNodePosition(v.data.beams[beam].id1)
p2 = vehiclePos + obj:getNodePosition(v.data.beams[beam].id2)
p1 = vehiclePos + obj:getNodePosition(v.data.beams[beam].id1)
p2 = vehiclePos + obj:getNodePosition(v.data.beams[beam].id2)
obj.debugDrawProxy:drawCylinder(p1, p2, 0.01, color(255, 255, 0, 128))
for _, beam in ipairs(data.rimBeamsNode2) do
p1 = vehiclePos + obj:getNodePosition(v.data.beams[beam].id1)
p2 = vehiclePos + obj:getNodePosition(v.data.beams[beam].id2)
p1 = vehiclePos + obj:getNodePosition(v.data.beams[beam].id1)
p2 = vehiclePos + obj:getNodePosition(v.data.beams[beam].id2)
obj.debugDrawProxy:drawCylinder(p1, p2, 0.01, color(255, 255, 0, 128))
for _, beamData in ipairs(data.sidewallBeamsNode1) do
p1 = vehiclePos + obj:getNodePosition(v.data.beams[beamData.beamId].id1)
p2 = vehiclePos + obj:getNodePosition(v.data.beams[beamData.beamId].id2)
p1 = vehiclePos + obj:getNodePosition(v.data.beams[beamData.beamId].id1)
p2 = vehiclePos + obj:getNodePosition(v.data.beams[beamData.beamId].id2)
obj.debugDrawProxy:drawCylinder(p1, p2, 0.01, color(128, 255, 128, 128))
for _, beamData in ipairs(data.sidewallBeamsNode2) do
p1 = vehiclePos + obj:getNodePosition(v.data.beams[beamData.beamId].id1)
p2 = vehiclePos + obj:getNodePosition(v.data.beams[beamData.beamId].id2)
p1 = vehiclePos + obj:getNodePosition(v.data.beams[beamData.beamId].id1)
p2 = vehiclePos + obj:getNodePosition(v.data.beams[beamData.beamId].id2)
obj.debugDrawProxy:drawCylinder(p1, p2, 0.01, color(128, 255, 128, 128))
for _, beamId in ipairs(data.suspensionBeamsNode1) do
p1 = vehiclePos + obj:getNodePosition(v.data.beams[beamId].id1)
p2 = vehiclePos + obj:getNodePosition(v.data.beams[beamId].id2)
p1 = vehiclePos + obj:getNodePosition(v.data.beams[beamId].id1)
p2 = vehiclePos + obj:getNodePosition(v.data.beams[beamId].id2)
obj.debugDrawProxy:drawCylinder(p1, p2, 0.01, color(128, 255, 128, 128))
for _, beamId in ipairs(data.suspensionBeamsNode2) do
p1 = vehiclePos + obj:getNodePosition(v.data.beams[beamId].id1)
p2 = vehiclePos + obj:getNodePosition(v.data.beams[beamId].id2)
p1 = vehiclePos + obj:getNodePosition(v.data.beams[beamId].id1)
p2 = vehiclePos + obj:getNodePosition(v.data.beams[beamId].id2)
obj.debugDrawProxy:drawCylinder(p1, p2, 0.01, color(255, 255, 0, 128))
for _, treadNodeId in ipairs(data.treadNodes) do
p1 = vehiclePos + obj:getNodePosition(treadNodeId)
obj.debugDrawProxy:drawSphere(0.02, p1, color(255, 0, 0, 255))
@/lua/ge/extensions/util/nodeStream.lua
-- Current positions
local nodePos = vehicle:getNodePosition(j)
nodeData.nodes[j] = {
@/lua/ge/extensions/gameplay/crawl/utils.lua
local axisNodes = veh:getWheelAxisNodes(i)
local nodePos = vec3(veh:getNodePosition(axisNodes[1]))
local pos = vec3(nodePos:dot(x), nodePos:dot(y), nodePos:dot(z))
@/lua/ge/extensions/editor/api/roadRiver.lua
for i = 0, object:getNodeCount()-1 do
local node = {pos = object:getNodePosition(i), width = object:getNodeWidth(i)}
if object.getNodeDepth then
@/lua/ge/extensions/scenario/waypoints.lua
local axisNodes = vehicle:getWheelAxisNodes(i)
local nodePos = vec3(vehicle:getNodePosition(axisNodes[1]))
local pos = vec3(nodePos:dot(x), nodePos:dot(y), nodePos:dot(z))
@/lua/ge/extensions/tech/utils.lua
local vid = be:getPlayerVehicleID(0)
local driverNodePos = veh:getNodePosition(core_camera.getDriverDataById(vid))
local args = {}
@/lua/ge/extensions/ui/vehicleVicinityApp.lua
for nodeId, node in ipairs(couplerCache[vehId]) do
node.livePos = veh:getNodePosition(node.cid) + vehPosition
end
@/lua/vehicle/extensions/aeroDebug.lua
for _, wd in pairs(wheels.wheels) do
local pos1 = obj:getNodePosition(wd.node1) + obj:getPosition()
local pos2 = obj:getNodePosition(wd.node2) + obj:getPosition()
local pos1 = obj:getNodePosition(wd.node1) + obj:getPosition()
local pos2 = obj:getNodePosition(wd.node2) + obj:getPosition()
local middlePos = (pos2 + pos1) * 0.5
@/lua/ge/map.lua
end
mapNodes[prevName] = {pos = road:getNodePosition(0), radius = road:getNodeWidth(0) * 0.5, links = {}, noMerge = noMerge, endNode = true}
for i = 1, nodeCount - 1 do
local nodeName = nameNode(prefix, i+1)
local pos = road:getNodePosition(i)
local radius = road:getNodeWidth(i) * 0.5
@/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()) --.':'..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())))
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())))
end
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/editor/roadEditor.lua
for _, nodeID in ipairs(nodesTbl) do
local selNodePos = selectedRoad:getNodePosition(nodeID)
local selNodeWidth = selectedRoad:getNodeWidth(nodeID)
for _, nodeID in ipairs(nodes) do
oldPosTbl[nodeID] = road:getNodePosition(nodeID)
end
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)
numNodes = numNodes + 1
-- Add Node at the beginning
local prevNodePos = selRoad:getNodePosition(selectedNode)
local diff = focusPoint - addTempNodeStartPos
-- Add Node at the end
local prevNodePos = selRoad:getNodePosition(selectedNode)
local diff = focusPoint - addTempNodeStartPos
-- Undo action for placed node
local nodeInfo = {pos = activeRoad:getNodePosition(tempNodeIndex), width = activeRoad:getNodeWidth(tempNodeIndex), index = tempNodeIndex}
roadInfosTbl[activeRoadID] = nodeInfo
for _, nodeID in ipairs(nodes) do
posTbl[nodeID] = selectedRoad:getNodePosition(nodeID)
end
local prevNodeIndex = (roadTempNodeIndex == 0) and 1 or roadTempNodeIndex-1
local prevNodePos = selectedRoad:getNodePosition(prevNodeIndex)
local diff = focusPoint - addTempNodeStartPos
for _, id in pairs(nodes) do
nodePosTbl[id] = selectedRoad:getNodePosition(id)
end
for _, nodeID in ipairs(nodeIDs) do
local selNodePos = selectedRoad:getNodePosition(nodeID)
local selNodeWidth = selectedRoad:getNodeWidth(nodeID)
@/lua/ge/extensions/core/cameraModes/chase.lua
--
local ref = data.veh:getNodePosition(self.refNodes.ref)
local left = data.veh:getNodePosition(self.refNodes.left)
local ref = data.veh:getNodePosition(self.refNodes.ref)
local left = data.veh:getNodePosition(self.refNodes.left)
local back = data.veh:getNodePosition(self.refNodes.back)
local left = data.veh:getNodePosition(self.refNodes.left)
local back = data.veh:getNodePosition(self.refNodes.back)
@/lua/ge/extensions/flowgraph/nodes/vehicle/vehicleWheels.lua
local axisNodes = veh:getWheelAxisNodes(i)
wPos:set(veh:getNodePosition(axisNodes[1]))
wCenter:setAdd(wPos)
@/lua/ge/extensions/gameplay/drag/general.lua
local axisNodes = vehicle:getWheelAxisNodes(i)
local nodePos = vec3(vehicle:getNodePosition(axisNodes[1]))
local wheelNodePos = vehiclePos + nodePos
@/lua/ge/extensions/core/quickAccess.lua
local driverNode = core_camera.getDriverData(getPlayerVehicle(0)) or 0
local driverPos = getPlayerVehicle(0):getPosition() + getPlayerVehicle(0):getNodePosition(driverNode)
local vehIds = {}
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/directlyTo.lua
local up = vec3(0,0,1) -- hardcode up as up..
local dir = vec3(road:getNodePosition(1)) - vec3(road:getNodePosition(0))
dir = dir:normalized()
local up = vec3(0,0,1) -- hardcode up as up..
local dir = vec3(road:getNodePosition(1)) - vec3(road:getNodePosition(0))
dir = dir:normalized()
@/lua/vehicle/extensions/advancedwheeldebug.lua
if nodeId then
local pos = obj:getNodePosition(nodeId) + obj:getPosition()
local normal = mapmgr.surfaceNormalBelow(pos, 0.1)
@/lua/ge/extensions/core/vehicle/mirror.lua
local mpos = veh:getInitialNodePosition(vdata.vdata.mirrors[i].idRef)
local absoluteMPos = veh:getPosition() + veh:getNodePosition(vdata.vdata.mirrors[i].idRef)
if not viewFrustum:isPointContained(absoluteMPos) then
@/lua/ge/extensions/util/export.lua
p1 = vec3(veh:getNodePosition(id1))
p2 = vec3(veh:getNodePosition(id2))
p1 = vec3(veh:getNodePosition(id1))
p2 = vec3(veh:getNodePosition(id2))
length = (p1 - p2):length()
@/lua/vehicle/extensions/tech/vehiclePOI.lua
ctr = ctr + 1
wp[ctr] = obj:getNodePosition(wheel.node1)
end
@/gameplay/missionTypes/cannon/customNodes/cannonBallTouchdownNode.lua
end
return (veh:getNodePosition(20)+veh:getNodePosition(3))*0.5 + veh:getPosition()
end
end
return (veh:getNodePosition(20)+veh:getNodePosition(3))*0.5 + veh:getPosition()
end
@/lua/ge/extensions/gameplay/walk.lua
local refNodes = extensions.core_vehicle_manager.getVehicleData(veh:getId()).vdata.refNodes[0]
local ref = veh:getNodePosition(refNodes.ref)
local left = veh:getNodePosition(refNodes.left)
local ref = veh:getNodePosition(refNodes.ref)
local left = veh:getNodePosition(refNodes.left)
local carLeft = (left-ref):normalized()
driverNode = driverNode or 0
local driverPos = veh:getPosition() + veh:getNodePosition(driverNode)
local driverNode = core_camera.getDriverData(veh)
return veh:getPosition() + veh:getNodePosition(driverNode or 0)
end
local driverNode = core_camera.getDriverDataById(unicycle:getId())
local driverPos = unicycle:getPosition() + unicycle:getNodePosition(driverNode or 0)
alpha = clamp(camPos:distance(driverPos) - 0.1, 0, 1)
@/lua/vehicle/beamstate.lua
for _, node in pairs(v.data.nodes) do
local d = {obj:getNodePosition(node.cid):toTable()}
if math.abs(obj:getOriginalNodeMass(node.cid) - obj:getNodeMass(node.cid)) > 0.1 then
@/gameplay/missionTypes/cannon/customNodes/cannonPreviewNode.lua
local vehPosition = veh:getPosition()
local pos = veh:getNodePosition(88) + vehPosition
local back = veh:getNodePosition(87) + vehPosition
local pos = veh:getNodePosition(88) + vehPosition
local back = veh:getNodePosition(87) + vehPosition
local cal = math.sqrt(power * 8.05^2 / weight / 2)
@/lua/vehicle/controller/tech/mesh.lua
for i=0, nodesCount do
pos = obj:getNodePosition(i)
force = obj:getNodeForceVector(i)
@/lua/ge/extensions/util/nodeBeamExport.lua
-- Build a simple graph: points = nodes, edges = beams
-- positions are in game coordinates as returned by veh:getNodePosition(id)
local function buildGraph()
for i = 0, nodeCount - 1 do
local p = veh:getNodePosition(i)
if p then
@/lua/ge/extensions/util/decalRoadsEditor.lua
local n = {
pos = vec3(o:getNodePosition(i)),
radius = o:getNodeWidth(i) * 0.5,
@/lua/ge/extensions/core/cameraModes/topDown.lua
-- get the data
local ref = vec3(data.veh:getNodePosition(self.refNodes.ref))
local back = vec3(data.veh:getNodePosition(self.refNodes.back))
local ref = vec3(data.veh:getNodePosition(self.refNodes.ref))
local back = vec3(data.veh:getNodePosition(self.refNodes.back))
@/lua/ge/extensions/core/cameraModes/external.lua
local node = math.random(0, veh:getNodeCount()-1)
local offset = veh:getNodePosition(node)
local worldSpeed = veh:getNodeVelocity(node)
local function getNxyz(refNodes, veh)
local ref = veh:getNodePosition(refNodes.ref)
local left = veh:getNodePosition(refNodes.left)
local ref = veh:getNodePosition(refNodes.ref)
local left = veh:getNodePosition(refNodes.left)
local back = veh:getNodePosition(refNodes.back)
local left = veh:getNodePosition(refNodes.left)
local back = veh:getNodePosition(refNodes.back)
local nx = (left-ref):normalized()
@/lua/ge/extensions/core/cameraModes/unicycle.lua
local camNodeID = core_camera.getDriverData(data.veh)
local nodePos = vec3(data.veh:getNodePosition(camNodeID or 0))
local carPos = data.pos
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veJBeamPicker.lua
local nodeDataRendering = {
{name = "Displacement", enabled = im.BoolPtr(false), units = "m", color = rainbowColor(8, 2, 1), data = function(id) return vEditor.vehicle:getNodePosition(id):length() end, plotData = {}},
{name = "Speed", enabled = im.BoolPtr(true), units = "m/s", color = rainbowColor(8, 3, 1), data = function(id) return vEditor.vehicle:getNodeVelocity(id):length() end, plotData = {}},
@/lua/vehicle/ai.lua
-- obj:getNodePosition is the pos vector of query node (wheel.node1) relative to ref node in world coordinates
avgWheelNodePos:setAdd(obj:getNodePosition(wheel.node1))
numOfWheels = numOfWheels + 1
for _, wheel in pairs(wheels.wheels) do
local wheelPos = obj:getNodePosition(wheel.node1)
if wheelPos:dot(dirVec) > avgWheelNodePos:dot(dirVec) then
local wheelRadius = wheel.radius
local wheelPosAbsolute = refNodePos + obj:getNodePosition(wheel.node1)
debugDrawer:drawSphere(0.1, wheelPosAbsolute, color(255,0,0,255))
@/lua/ge/extensions/core/cameraModes/relative.lua
function C:update(data)
local ref = vec3(data.veh:getNodePosition(self.refNodes.ref))
local left = vec3(data.veh:getNodePosition(self.refNodes.left))
local ref = vec3(data.veh:getNodePosition(self.refNodes.ref))
local left = vec3(data.veh:getNodePosition(self.refNodes.left))
local back = vec3(data.veh:getNodePosition(self.refNodes.back))
local left = vec3(data.veh:getNodePosition(self.refNodes.left))
local back = vec3(data.veh:getNodePosition(self.refNodes.back))
@/lua/ge/extensions/core/vehicleMirrors.lua
for _, m in pairs(vehicleMirrorData) do
local id1 = vec3(veh:getNodePosition(m.id1))
local id2 = vec3(veh:getNodePosition(m.id2))
local id1 = vec3(veh:getNodePosition(m.id1))
local id2 = vec3(veh:getNodePosition(m.id2))
local id3 = vec3(veh:getNodePosition(m.id3))
local id2 = vec3(veh:getNodePosition(m.id2))
local id3 = vec3(veh:getNodePosition(m.id3))
@/lua/vehicle/controller/tech/roadsSensor.lua
for _, wheel in pairs(wheels.wheels) do
wp[ctr] = obj:getNodePosition(wheel.node1)
ctr = ctr + 1
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veAdjustableTechCarTuner.lua
-- local node = nodes[i]
-- local pos = veh:getNodePosition(i)
-- minExtents:set(math.min(minExtents.x, pos.x), math.min(minExtents.y, pos.y), math.min(minExtents.z, pos.z))
@/lua/vehicle/controller/tech/advancedIMU.lua
end
local n1, n2, n3 = obj:getNodePosition(state.node1Idx), obj:getNodePosition(state.node2Idx), obj:getNodePosition(state.node3Idx) -- Initial node positions.
computeSensorFrame(n1, n2, n3) -- Compute the sensor frame in world space.
end
local n1, n2, n3 = obj:getNodePosition(state.node1Idx), obj:getNodePosition(state.node2Idx), obj:getNodePosition(state.node3Idx) -- Initial node positions.
computeSensorFrame(n1, n2, n3) -- Compute the sensor frame in world space.
end
local n1, n2, n3 = obj:getNodePosition(state.node1Idx), obj:getNodePosition(state.node2Idx), obj:getNodePosition(state.node3Idx) -- Initial node positions.
computeSensorFrame(n1, n2, n3) -- Compute the sensor frame in world space.
-- Compute the current position of the sensor, in world space.
local node1 = obj:getNodePosition(state.node1Idx) -- Current node positions, in world space.
local node2 = obj:getNodePosition(state.node2Idx)
local node1 = obj:getNodePosition(state.node1Idx) -- Current node positions, in world space.
local node2 = obj:getNodePosition(state.node2Idx)
local node3 = obj:getNodePosition(state.node3Idx)
local node2 = obj:getNodePosition(state.node2Idx)
local node3 = obj:getNodePosition(state.node3Idx)
edge1:setSub2(node2, node1) -- Attach triangle edge vectors.
@/lua/ge/extensions/editor/meshEditor.lua
else
nodeTransform:setPosition(selectedMesh:getNodePosition(selectedNode))
end
for index,_ in pairs(selectedNodes) do
averagePos = averagePos + selectedMesh:getNodePosition(index)
end
if not editingPos then
local pos = selectedMesh:getNodePosition(selectedNode)
nodePosition[0] = pos.x
if positionSliderEditEnded[0] then
editor.history:commitAction("PositionMeshNode", {meshID = selectedMeshId, nodeIDs = {selectedNode}, oldPositions = {[selectedNode] = selectedMesh:getNodePosition(selectedNode)}, newPositions = {[selectedNode] = vec3(nodePosition[0], nodePosition[1], nodePosition[2])}}, positionNodeActionUndo, positionNodeActionRedo)
editingPos = false
if M.type == "River" and selectedNode and selectedNode > 0 then
local selectedNodePos = selectedMesh:getNodePosition(selectedNode)
local prevNodeHeight = selectedMesh:getNodePosition(selectedNode-1).z
local selectedNodePos = selectedMesh:getNodePosition(selectedNode)
local prevNodeHeight = selectedMesh:getNodePosition(selectedNode-1).z
nodeHeightRelative[0] = selectedNodePos.z - prevNodeHeight
originalNormals[id] = selectedMesh:getNodeNormal(id)
originalPositions[id] = selectedMesh:getNodePosition(id)
end
table.insert(nodeIDs, id)
newPositions[id] = selectedMesh:getNodePosition(id)
newNormals[id] = selectedMesh:getNodeNormal(id)
if addedNewNode then
local nodeInfo = {pos = selectedMesh:getNodePosition(selectedNode), width = selectedMesh:getNodeWidth(selectedNode), depth = selectedMesh:getNodeDepth(selectedNode), normal = selectedMesh:getNodeNormal(selectedNode), index = selectedNode}
editor.history:commitAction("InsertMeshNode", {meshID = selectedMeshId, nodeInfos = {nodeInfo}}, insertNodeActionUndo, insertNodeActionRedo, true)
-- Undo action for placed node
local nodeInfo = {pos = selectedMesh:getNodePosition(selectedNode), width = selectedMesh:getNodeWidth(selectedNode), depth = selectedMesh:getNodeDepth(selectedNode), normal = selectedMesh:getNodeNormal(selectedNode), index = selectedNode}
editor.history:commitAction("InsertMeshNode", {meshID = selectedMeshId, nodeInfos = {nodeInfo}}, insertNodeActionUndo, insertNodeActionRedo, true)
@/lua/ge/extensions/flowgraph/nodes/vehicle/moveTo.lua
local axisNodes = veh:getWheelAxisNodes(i)
local nodePos = veh:getNodePosition(axisNodes[1])
local wheelNodePos = vec3(nodePos.x, nodePos.y, nodePos.z)
@/lua/ge/extensions/core/cameraModes/crash.lua
if driverNode then
local driverPos = veh2:getPosition() + veh2:getNodePosition(driverNode)
if veh2:getDirectionVector():dot(bb1:getCenter() - driverPos) > 0 then
local driverNode = core_camera.getDriverDataById(veh2:getId())
local driverPos = veh2:getPosition() + veh2:getNodePosition(driverNode or 0)
data.res.pos = driverPos
@/lua/ge/extensions/career/modules/delivery/general.lua
clusterId = container.nodeId and veh:getNodeClusterId(container.nodeId),
position = (container.nodeId and veh:getNodePosition(container.nodeId) or vec3(0,0,0)) + veh:getPosition(),
}
@/lua/ge/extensions/gameplay/rally/vehicleTracker.lua
local axisNodes = vehicle:getWheelAxisNodes(i)
local nodePos = vec3(vehicle:getNodePosition(axisNodes[1]))
local pos = vec3(nodePos:dot(x), nodePos:dot(y), nodePos:dot(z))
@/lua/ge/extensions/flowgraph/nodes/scene/raceLineParking.lua
local axisNodes = vehicle:getWheelAxisNodes(i)
local nodePos = vehicle:getNodePosition(axisNodes[1])
nodePos = vec3(nodePos.x, nodePos.y, nodePos.z)
@/lua/vehicle/controller/tech/GPS.lua
-- Compute the current world-space position of the GPS sensor.
local node1, node2, node3 = obj:getNodePosition(nodeIndex1), obj:getNodePosition(nodeIndex2), obj:getNodePosition(nodeIndex3)
local edge1, edge2 = node2 - node1, node3 - node1
-- Compute the current world-space position of the GPS sensor.
local node1, node2, node3 = obj:getNodePosition(nodeIndex1), obj:getNodePosition(nodeIndex2), obj:getNodePosition(nodeIndex3)
local edge1, edge2 = node2 - node1, node3 - node1
-- Compute the current world-space position of the GPS sensor.
local node1, node2, node3 = obj:getNodePosition(nodeIndex1), obj:getNodePosition(nodeIndex2), obj:getNodePosition(nodeIndex3)
local edge1, edge2 = node2 - node1, node3 - node1
@/lua/vehicle/controller/couplings/kingpin.lua
local position = obj:getPosition()
local nodePosition = obj:getNodePosition(kingpinNodeCid)
local data = {nodeId = kingpinNodeCid, nodePosition = position + nodePosition}
@/lua/ge/extensions/career/modules/inventory.lua
for nodeId = 0, veh:getNodeCount() - 1 do
if zone:containsPoint2D(veh:getNodePosition(nodeId) + vehPos) then
res[inventoryId] = true
@/lua/ge/extensions/c2/panelPlugins/tileManager.lua
for i = 0, count - 1 do
local p0 = obj:getNodePosition(i)
local p1 = obj:getNodePosition(i + 1)
local p0 = obj:getNodePosition(i)
local p1 = obj:getNodePosition(i + 1)
if p0 and p1 then
for k = 0, count - 1 do
local pos = obj:getNodePosition(k) -- Use Control Point
local width = obj:getNodeWidth(k) or 10
@/lua/ge/extensions/flowgraph/nodes/scene/getPointOnDecalroad.lua
if self.pinIn.idx.value < 0 or self.pinIn.idx.value > self.maxIdx then return end
local point = self.roadObj:getNodePosition(self.pinIn.idx.value)
self.pinOut.pos.value = {point.x, point.y, point.z}
end
local forward = vec3(self.roadObj:getNodePosition(prevIdx) - self.roadObj:getNodePosition(nextIdx)):normalized()
end
local forward = vec3(self.roadObj:getNodePosition(prevIdx) - self.roadObj:getNodePosition(nextIdx)):normalized()
@/lua/ge/extensions/core/cameraModes/autopoint.lua
function C:update(data)
local ref = data.veh:getNodePosition(self.refNodes.ref)
local left = data.veh:getNodePosition(self.refNodes.left)
local ref = data.veh:getNodePosition(self.refNodes.ref)
local left = data.veh:getNodePosition(self.refNodes.left)
local back = data.veh:getNodePosition(self.refNodes.back)
local left = data.veh:getNodePosition(self.refNodes.left)
local back = data.veh:getNodePosition(self.refNodes.back)
local nx = (left-ref):normalized()
@/lua/ge/extensions/flowgraph/nodes/vehicle/vehicleData.lua
local axisNodes = veh:getWheelAxisNodes(i)
wPos:set(veh:getNodePosition(axisNodes[1]))
wCenter:setAdd(wPos)
@/lua/ge/extensions/gameplay/race/race.lua
local axisNodes = vehicle:getWheelAxisNodes(i)
local nodePos = vec3(vehicle:getNodePosition(axisNodes[1]))
local pos = vec3(nodePos:dot(x), nodePos:dot(y), nodePos:dot(z))
local axisNodes = veh:getWheelAxisNodes(i)
local nodePos = vec3(veh:getNodePosition(axisNodes[1]))
local pos = vec3(nodePos:dot(x), nodePos:dot(y), nodePos:dot(z))
@/lua/ge/spawn.lua
if veh:getInitialNodeCollision(nodeId) == 3 then
table.insert(nodePositions, veh:getNodePosition(nodeId))
end
for nodeId = 0, otherNodeCount - 1 do
table.insert(vehicleNodes[vehID], otherVeh:getNodePosition(nodeId) + vehPos)
end
@/lua/vehicle/controller/tech/cosimulationCoupling.lua
for _, wheel in pairs(wheels.wheels) do
wNodePos[ctr] = obj:getNodePosition(wheel.node1)
ctr = ctr + 1
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/simpleFollowDecalroad.lua
for i = 0, segCount-1 do
local vec = vec3(road:getNodePosition(i))
table.insert(path,{x = vec.x, y = vec.y, z = vec.z, t = self.distance / self.data.speed})
table.insert(path,{x = vec.x, y = vec.y, z = vec.z, t = self.distance / self.data.speed})
self.distance = self.distance + (vec3(road:getNodePosition(i+1)) - vec3(road:getNodePosition(i))):length()
end
table.insert(path,{x = vec.x, y = vec.y, z = vec.z, t = self.distance / self.data.speed})
self.distance = self.distance + (vec3(road:getNodePosition(i+1)) - vec3(road:getNodePosition(i))):length()
end
local up = vec3(0,0,1) -- hardcode up as up..
local dir = vec3(road:getNodePosition(1)) - vec3(road:getNodePosition(0))
dir = dir:normalized()
local up = vec3(0,0,1) -- hardcode up as up..
local dir = vec3(road:getNodePosition(1)) - vec3(road:getNodePosition(0))
dir = dir:normalized()
@/lua/vehicle/bdebugImpl.lua
if partsSelected[node.partPath or v.config.partsTree.partPath] and (showWheels or not node.wheelID) then
local pos = obj:getNodePosition(i)
tempVec:set(pos)
local node = v.data.nodes[i]
tempVec2:setAdd2(tempVec, obj:getNodePosition(node.cid))
local nodeText = getNodeText(node, string.format("(%0.3f, %0.3f, %0.3f)", tempVec2.x, tempVec2.y, tempVec2.z))
local nodePos1 = nodePosCache[beam.id1] or obj:getNodePosition(beam.id1)
local nodePos2 = nodePosCache[beam.id2] or obj:getNodePosition(beam.id2)
local nodePos1 = nodePosCache[beam.id1] or obj:getNodePosition(beam.id1)
local nodePos2 = nodePosCache[beam.id2] or obj:getNodePosition(beam.id2)
nodePosCache[beam.id1] = nodePos1
@/lua/ge/extensions/flowgraph/nodes/vehicle/special/wheelDistance.lua
for i = 0, vehicle:getWheelCount() - 1 do
wheelNodePos:setAdd2(vehicle:getNodePosition(vehicle:getWheelAxisNodes(i)[1]), point)
-- NOTE: nodePos alone is not good enough, vehicles such as the bus have the front wheels behind the ref node
@/gameplay/missionTypes/cannon/customNodes/cannonBallDistNode.lua
end
return (veh:getNodePosition(20)+veh:getNodePosition(3))*0.5 + veh:getPosition()
end
end
return (veh:getNodePosition(20)+veh:getNodePosition(3))*0.5 + veh:getPosition()
end
@/lua/ge/extensions/flowgraph/nodes/scene/pointOnDecalroad.lua
self.oldRoadId = self.pinIn.roadId.value
self.pz = self.roadObj:getNodePosition(0).z
self.pinOut.maxIdx.value = self.roadObj:getNodeCount()-1
@/lua/common/extensions/networking/editorToolchain.lua
for _, node in ipairs(selectedNodes) do
local npos = veh:getNodePosition(node.cid) + vehPos
--dump{'npos', npos}
local name = node.name or tostring(node.cid)
local pos = veh:getNodePosition(node.cid)
data[name] = pos:toTable()
@/lua/ge/extensions/scenario/busdriver.lua
local busStopPos = vec3(busStop:getPosition())
currPos = currPos + vec3(pv:getNodePosition(0))
local diff = (currPos-busStopPos):rotated(quatFromDir(fwd, up):inversed():normalized())
@/lua/ge/extensions/core/couplerCameraModifier.lua
local obj1refNodePos = obj1:getNodePosition(core_camera.getCameraDataById(objId1).orbit.refNodes.ref)
local obj2refNodePos = obj2:getNodePosition(core_camera.getCameraDataById(objId2).orbit.refNodes.ref)
local obj1refNodePos = obj1:getNodePosition(core_camera.getCameraDataById(objId1).orbit.refNodes.ref)
local obj2refNodePos = obj2:getNodePosition(core_camera.getCameraDataById(objId2).orbit.refNodes.ref)
local obj1leftNodePos = obj1:getNodePosition(core_camera.getCameraDataById(objId1).orbit.refNodes.left)
local obj2leftNodePos = obj2:getNodePosition(core_camera.getCameraDataById(objId2).orbit.refNodes.left)
local obj1leftNodePos = obj1:getNodePosition(core_camera.getCameraDataById(objId1).orbit.refNodes.left)
local obj2leftNodePos = obj2:getNodePosition(core_camera.getCameraDataById(objId2).orbit.refNodes.left)
local obj1backNodePos = obj1:getNodePosition(core_camera.getCameraDataById(objId1).orbit.refNodes.back)
local obj2backNodePos = obj2:getNodePosition(core_camera.getCameraDataById(objId2).orbit.refNodes.back)
local obj1backNodePos = obj1:getNodePosition(core_camera.getCameraDataById(objId1).orbit.refNodes.back)
local obj2backNodePos = obj2:getNodePosition(core_camera.getCameraDataById(objId2).orbit.refNodes.back)