Namn

CG_IsSolid — Testar om geometrin är en solid. Ingen validitetskontroll utförs.

Synopsis

boolean CG_IsSolid(geometry geom1);

Beskrivning

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).

Exempel

Jämför samma slutna skal före och efter konvertering till en solid.

Kod
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;
Utdata
f | t
Figur
Geometry figure for visual-cg-issolid-01