Zone
Created by: astex
This adds a ton of stuff.
First off, the building service now has database models for handling 3D modeling. These are as follows:
-
PointA physical point in space. -
EdgeAn edge connecting two different points. -
PolygonA collection of edges that form a closed loop.
Edges can be shared between multiple polygons to form polyhedra (a collection of polygons that forms a closed manifold), which are not currently represented directly. These database models have no meaning on their own and should, in the ideal case, be refactored into a postgres extension or something similar. The current implementation is simpler and works until we have another project that requires these models.
Second, we add some semantic representations of the concepts above. Polygons correspond to a wall, polyhedra to a Room, collections of Rooms to a Zone, and collections of Zones to a Building. To give a brief summary:
-
BuildingThe physical building being modeled. -
ZoneAn independently-controlled heating system within aBuilding. -
RoomA physical room within aZone. -
WallOne boundary of aRoom.
The idea here is that some tool external to this service will post an initial 3D model of the building, which can later be refined into iteratively better representations of the building.
In a future iteration, this should be expanded to include a Component model (also one-to-one with Polygon) used to describe windows, doors, ... which have different heating coefficients than the wall.