new GroupedSpaceData()
Creates a new grouped space data instance.
Members
-
:Array.<Array.<PD.ClipPt2D>>
boundaryPaths
-
Accumulates the outer space boundaries of bounded spaces that lie on the floor slab.
Type
- Array.<Array.<PD.ClipPt2D>>
-
:Array.<Array.<PD.ClipPt2D>>
innerPaths
-
Accumulates the internal space footprints of all bounded spaces.
Type
- Array.<Array.<PD.ClipPt2D>>
-
:PD.Polyline
internalWalls
-
Stores the inner boundary footprint of the host space with the outer boundaries of all bounded spaces removed.
+ - - - - - - - - - - - - - - - - - + . +-----------------+ + - - - + + - - - - + . . | | . . . . . . | | . . . . . . | | . . . . . . | | + - - - + . . . . | +-------------+ . . . . | | + - - - - + . . | +----------------+ . . | | . . | +---------------+ | . . | | + - - - + | | . . | | . ' | | . . | | + - - - + | | . . | +---------------+ | . . | | . . +------------------------------------------------+ . + - - - - - - - - - - - - - - - - - +Storing this shape allows improved identification of those areas of the host space footprint that are fully exposed to the interior and not abutted by any bounded spaces at any height. Thus, rather than try to work out from the footprint which parts of each segment are exposed, we can quickly check which segments of this polygon lie on the outer boundary and know exactly which parts are which.
Whilst this is a separate polyline, its vertices are all cached and reused from the inner shell of the host space, so it can be completely cleared and recreated on each update without triggering garbage collection.
Type
-
:Array
junctionsWithApertures
-
Caches all path junctions in bounded spaces that contain apertures.
Type
- Array
-
:Array
junctionsWithExternalApertures
-
Caches all path junctions in bounded spaces that contain apertures likely to be adjacent to external walls.
Type
- Array
-
:Array.<Array.<PD.ClipPt2D>>
outerPaths
-
Accumulates the outer space footprints of all bounded spaces.
Type
- Array.<Array.<PD.ClipPt2D>>
-
:PD.Polyline
planSection
-
Stores the outer boundary footprint of all bounded spaces with both the inner space footprint and sectioned apertures removed.
+ - - - - - - - - - - - - - - - - - + . + - - - - - + + - - - + + - - - - + . . . | | | | . . . . | | | | . . . . | | | | . . . . | +-+ +-+ | . . . . +---+ +-+ | . . . . | +--+ +--+ . . . +----+ +--+ . . . . . . . +----+ +----+ . . . . | +--+ +--+ | . . . . | | | | . . . . | +-----------+ | . . . . +---------------+ . . . . . . . + - - - - - - - - - - - - - - - -+ . + - - - - - - - - - - - - - - - - - +This polygon is used to display the outline of internal bounded space walls when the model is displayed in 2D plan-section view.
This is stored as a polyline rather than a polygon as aperture holes may result in multiple separate
islandsof grouped space walls. A useful byproduct of this is that internal spaces with no apertures will automatically highlight as a completely filled area (being rendered as two overlapping shapes). This is a great visual indicator that there are no doors so no-one can actually access the space.Whilst this is a separate polyline, its vertices are all cached and reused from the inner shell of the host space, so it can be completely cleared and recreated on each update without triggering garbage collection.
Type