street_util_serialized¶
Source: base/tealdef/scripts/construction/street_util_serialized.d.tl
Notes
Types of /scripts/construction/street_util_serialized.tl (StreetUtilSerialized): helpers that append
street/track edges (position, tangent, optional tag) to an edge list.
StreetUtilSerialized¶
record global base/tealdef/scripts/construction/street_util_serialized.d.tl:3
global record StreetUtilSerialized
Load: local street_util_serialized = require "/scripts/construction/street_util_serialized.tl"
Notes
Street/track edge helpers returned by ug_require "/scripts/construction/street_util_serialized.tl".
Types
| Name | Definition | Description |
|---|---|---|
Edge |
{Vec3Serialized.Table3, Vec3Serialized.Table3, string} |
One node of an edge list: {position, tangent, tag}. Two consecutive entries form one edge (start and end node). |
Functions
calcScale(dist : number, angle : number) : number base/tealdef/scripts/construction/street_util_serialized.d.tl:10
Call as street_util_serialized.calcScale
Calculate the scale factor for a street segment based on distance and angle.
| Parameter | Type | Description |
|---|---|---|
dist |
number |
distance between endpoints |
angle |
number |
angle between tangents in radians |
Returns number: scale factor
Used in the base game: 2 times in 2 files
base/content/infrastructure/street_construction/street_construction/street_constructions.script.lua:41
base/content/scripts/scripts/construction/laneutil.lua:48
addStraightEdge(edges : {Edge}, p0 : Vec3Serialized.Vec3, p1 : Vec3Serialized.Vec3, tag0? : string, tag1? : string) base/tealdef/scripts/construction/street_util_serialized.d.tl:16
Call as street_util_serialized.addStraightEdge
Add a straight edge between two points.
| Parameter | Type | Description |
|---|---|---|
edges |
{Edge} |
edge list to append to |
p0 |
Vec3Serialized.Vec3 |
start position |
p1 |
Vec3Serialized.Vec3 |
end position |
tag0? |
string |
|
tag1? |
string |
addRamp(edges : {Edge}, p0 : Vec3Serialized.Vec3, p1 : Vec3Serialized.Vec3, tag0? : string, tag1? : string) base/tealdef/scripts/construction/street_util_serialized.d.tl:22
Call as street_util_serialized.addRamp
Add a ramp edge with slope 0 at both endpoints.
| Parameter | Type | Description |
|---|---|---|
edges |
{Edge} |
edge list to append to |
p0 |
Vec3Serialized.Vec3 |
start position |
p1 |
Vec3Serialized.Vec3 |
end position |
tag0? |
string |
|
tag1? |
string |
addEdge(edges : {Edge}, p0 : Vec3Serialized.Vec3, p1 : Vec3Serialized.Vec3, t0 : Vec3Serialized.Vec3, t1 : Vec3Serialized.Vec3, tag0? : string, tag1? : string) base/tealdef/scripts/construction/street_util_serialized.d.tl:30
Call as street_util_serialized.addEdge
Add an edge with explicit tangents at both endpoints.
| Parameter | Type | Description |
|---|---|---|
edges |
{Edge} |
edge list to append to |
p0 |
Vec3Serialized.Vec3 |
start position |
p1 |
Vec3Serialized.Vec3 |
end position |
t0 |
Vec3Serialized.Vec3 |
tangent at start |
t1 |
Vec3Serialized.Vec3 |
tangent at end |
tag0? |
string |
|
tag1? |
string |
addEdgeAutoTangents(edges : {Edge}, p0 : Vec3Serialized.Vec3, p1 : Vec3Serialized.Vec3, t0 : Vec3Serialized.Vec3, t1 : Vec3Serialized.Vec3, tag0? : string, tag1? : string) base/tealdef/scripts/construction/street_util_serialized.d.tl:39
Call as street_util_serialized.addEdgeAutoTangents
Add an edge with automatically computed tangents.
| Parameter | Type | Description |
|---|---|---|
edges |
{Edge} |
edge list to append to |
p0 |
Vec3Serialized.Vec3 |
start position |
p1 |
Vec3Serialized.Vec3 |
end position |
t0 |
Vec3Serialized.Vec3 |
tangent hint at start |
t1 |
Vec3Serialized.Vec3 |
tangent hint at end |
tag0? |
string |
|
tag1? |
string |
freeAllNodes(edges : {Edge}) : {integer} base/tealdef/scripts/construction/street_util_serialized.d.tl:46
Call as street_util_serialized.freeAllNodes
Get indices of all nodes in the edge list as free (unconnected) node indices (0-based).
| Parameter | Type | Description |
|---|---|---|
edges |
{Edge} |
edge list |
Returns {integer}: list of free node indices
Used in the base game: 27 times in 2 files
base/content/infrastructure/street_construction/street_construction/street_constructions.script.lua:228
base/content/scripts/scripts/construction/constructionutil.lua:79