La función traversedArea devuelve la región que el cuerpo en movimiento cubre sobre el dominio temporal de la trgeometry: las colocaciones que toma, o la unión de ellas cuando se le pide.
Devuelve el área atravesada por la geometría rígida temporal
traversedArea(trgeometry, unary_union=false) → geometry
SELECT ST_AsText(traversedArea( trgeometry 'Polygon((0 0,1 0,1 1,0 1,0 0));[Pose(Point(0 0), 0.0)@2001-01-01, Pose(Point(10 0), 0.0)@2001-01-02]')); -- MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((10 0,11 0,11 1,10 1,10 0))) SELECT ST_AsText(traversedArea( trgeometry 'Polygon((0 0,1 0,1 1,0 1,0 0));[Pose(Point(0 0), 0.0)@2001-01-01, Pose(Point(10 0), 0.0)@2001-01-02]', true)); -- POLYGON((0 0,0 1,11 1,11 0,0 0))
El argumento es falso salvo que se indique, y la función responde entonces las colocaciones mismas reunidas en una geometría, un multipolígono para un cuerpo que es un polígono, que es lo que quiere quien llama y hace su propio posprocesamiento. Con unary_union = true se disuelven en la región que cubren.
Advertencia de muestreo: la implementación muestrea en los instantes de entrada, de modo que los segmentos de traslación pura son exactos, pero la cinta barrida entre dos instantes donde ocurre una rotación se aproxima mediante la envolvente convexa de los dos polígonos extremos. Sobremuestrear la tpose antes de construir la trgeometry ajusta la aproximación.