constructs the straight skeleton-based extrusion of a polygon with holes.
Given a polygon with holes and a set of weights, 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.
This function allows cropping the extruded skeleton at a maximum height, using the optional maximum_height() named parameter.
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.
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 eitger 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