constructs the straight skeleton-based extrusion of a polygon with holes.
Given a polygon with holes and a set of weights (or angles) associated to its edges, the skeleton extrusion is a volume constructed from the weighted straight skeleton by associating a height to the vertices of the skeleton, which corresponds to the time at the vertex. The input polygon is placed at z = 0.
The result is a closed, 2-manifold surface triangle mesh. Note that this mesh can have non-local self-intersections if a maximal height is provided due to possible (geometric) non-manifold occurrences.
It is possible to crop the extruded skeleton at a maximum height using the optional maximum_height() named parameter. A maximum height must be specified if the weights (or angles) associated to the edges of the input polygon correspond an outward extrusion, i.e. if no weight is greater than zero (or no angle is smaller than 90 degrees).
an optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
a range of weights, one for each edge of the input polygon
Type: a model of Range whose value type is a model of Range whose value type is FT
Default: an empty range (uniform weights are used)
Extra: Weights should be finite and all of the same sign. Negative weights are used to signify exterior extrusion. Contrary to weighted skeleton functions, a weight 0 can here be used to signify a vertical extrusion of this edge.
Extra: If neither weights nor angles are provided, uniform weights are used.
a range of angles, one for each edge of the input polygon. For each contour edge, the angle is the dihedral angle between the z=0 plane and the desired extrusion plane.
Type: a model of Range whose value type is a model of Range whose value type is FT
Default: an empty range (uniform weights are used)
Extra: Angles are measured in degrees and should be strictly within 0 and 180 degrees and should be either all acute (inward extrusion) or all obtuse (outward extrusion).
Extra: This parameter is ignored if the weights parameter is provided.
Extra: The conversion to weights involves trigonometry and will be inexact, even when using a number type with exact square roots.
the maximum height of the extrusion
Type: FT, a model of FieldNumberType convertible to the kernel type of the polygon.
Default: unused
Extra: This parameter should not be null, but can be negative; in this case, the polygon is extruded downwards.
Whether information about the extrusion process should be printed to std::cout