CG_IsSolid — Testar om geometrin är en solid. Ingen validitetskontroll utförs.
boolean CG_IsSolid(geometry geom1);
Returnerar true när indata har flaggan solid, till exempel en geometri som skapats av CG_MakeSolid. En sluten PolyhedralSurface förblir en yta tills den uttryckligen konverteras. Detta testar representationen, inte skalets slutenhet eller giltighet; ingen giltighetskontroll utförs.
Tillgänglighet: 3.5.0
Denna metod behöver SFCGAL-backend.
Denna funktion stöder 3d och kommer inte att tappa z-index.
Denna funktion stöder polyedriska ytor.
Denna funktion stöder trianglar och triangulerade oregelbundna nätverksytor (TIN).
Jämför samma slutna skal före och efter konvertering till en solid.
WITH data AS (
SELECT 'POLYHEDRALSURFACE Z (
((0 0 0,0 0 1,0 1 1,0 1 0,0 0 0)),
((0 0 0,0 1 0,1 1 0,1 0 0,0 0 0)),
((0 0 0,1 0 0,1 0 1,0 0 1,0 0 0)),
((1 1 0,1 1 1,1 0 1,1 0 0,1 1 0)),
((0 1 0,0 1 1,1 1 1,1 1 0,0 1 0)),
((0 0 1,1 0 1,1 1 1,0 1 1,0 0 1))
)'::geometry AS geom
)
SELECT CG_IsSolid(geom) AS shell_is_solid,
CG_IsSolid(CG_MakeSolid(geom)) AS solid_is_solid
FROM data;
f | t