Zum Inhalt

polygon_util

Quelle: base/tealdef/scripts/polygon_util.d.tl

Hinweise

Typen von /scripts/polygon_util.tl (PolygonUtil) für 2D-Polygone, die als Listen von Vec2f-Punkten vorliegen.

PolygonUtil

record global base/tealdef/scripts/polygon_util.d.tl:3

global record PolygonUtil

Laden: local polygon_util = ug_require "::/scripts/polygon_util.tl" as PolygonUtil

Hinweise

Polygon-Helfer, die ug_require "/scripts/polygon_util.tl" zurückgibt.

Funktionen

transform(mat : Mat4f, polygon : Polygon) : Polygon base/tealdef/scripts/polygon_util.d.tl:6

Aufruf: polygon_util.transform(…)

Hinweise

Wendet den X/Y-Anteil einer 4x4-Transformation (Drehung, Skalierung und Verschiebung in der Bodenebene) auf jeden Punkt an.

Rückgabe Polygon: Ein neues Polygon.

Im Basisspiel verwendet: 5-mal in 2 Dateien

mods/release/urbangames_campaign_mission_01/content/mission/mission/mission_story.tl:766

polygon = polygon_util.transform(api.type.Mat4f.rotZTransl(params.streetDepotAngle, api.type.Vec3f.new(params.streetDepotZone.pos[1], params.streetDepotZone.pos
mods/release/urbangames_campaign_mission_02/content/mission/mission/mission_story.tl:744
polygon = polygon_util.transform(api.type.Mat4f.rotZTransl(params.streetDepotAngle, api.type.Vec3f.new(params.streetDepotZone.pos[1], params.streetDepotZone.pos

makeQuad(bottomLeft : Vec2f, topRight : Vec2f) : Polygon base/tealdef/scripts/polygon_util.d.tl:7

Aufruf: polygon_util.makeQuad(…)

Hinweise

Achsenparalleles Rechteck aus der Ecke unten links und der Ecke oben rechts, gegen den Uhrzeigersinn, beginnend unten links.

Rückgabe Polygon

contains(polygon : Polygon, pos : Vec2f) : boolean base/tealdef/scripts/polygon_util.d.tl:8

Aufruf: polygon_util.contains(…)

Hinweise

True, wenn pos im Polygon liegt (Gerade-Ungerade-Regel) oder genau auf einem seiner Eckpunkte.

Rückgabe boolean

Im Basisspiel verwendet: 2-mal in 2 Dateien

base/content/mission/mission/tasks/build_construction/build_construction_variant.tl:82

if polygon_util.contains(polygon, api.type.Vec2f.new(pos.x, pos.y)) then
base/content/mission/mission/tasks/build_construction/mission_task_build_construction_util.tl:323
if polygon_util.contains(areas[i], api.type.Vec2f.new(pos.x, pos.y)) then

offset(polygon : Polygon, offset : number) : Polygon base/tealdef/scripts/polygon_util.d.tl:9

Aufruf: polygon_util.offset(…)

Hinweise

Verschiebt jede Kante des Polygons um offset nach außen oder innen und gibt die neuen Eckpunkte zurück.

Rückgabe Polygon

Details

Die Richtung hängt vom Umlaufsinn des Polygons ab. Probier das Vorzeichen an deinem Polygon aus.

PolygonUtil.Polygon

record base/tealdef/scripts/polygon_util.d.tl:4

record Polygon is {Vec2f}

Hinweise

Ein 2D-Polygon als Liste von Vec2f-Eckpunkten.

Im Basisspiel verwendet: 31-mal in 7 Dateien

base/content/mission/mission/mission_outline.tl:31

function mission_outline.cargoStationOutline(): PolygonUtil.Polygon
base/content/mission/mission/tasks/build_construction/build_construction_variant.tl:10
local boundingCircleFromPolygon = function(polygon : PolygonUtil.Polygon) : MissionInterface.PosRadius
base/content/mission/mission/tasks/build_construction/mission_task_build_construction_util.tl:320
checkRestrictedArea = function<TaskContext>(event : BuildConstructionUtil.HandleProposalEventParams<TaskContext>, areas : {PolygonUtil.Polygon}, failureResult :
base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:85
local WaterPolygonCache : PolygonUtil.Polygon
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:85
local WaterPolygonCache : PolygonUtil.Polygon
base/content/mission/mission/tutorial/tutorial_story_util.tl:345
local convexHull = function(polygon : PolygonUtil.Polygon) : PolygonUtil.Polygon
… und 1 weitere Dateien.