useHexagon
Hook used to create basic regular hexagon.
Configuration
note
useHexagon
create a regular hexagon by using usePolygon({ ...config, sides: 6 })
under the hood.
If you wished to create more complex hexagon, please try usePolygon({ vertices })
instead.
Property | Type | Default | Description |
---|---|---|---|
sideLength | number | 100 | The length of each side (optional). |
size | number | 100 | The diameter of circumscribed circle that polygon drawn in (optional). |
tip
When defining any regular polygon, you can specify either sideLength
or size
.
If you define both, size
will always take precedence.
extends
Primitive Configuration
(PrimitiveConfig) Base configurations for all primitives.
Property | Type | Default | Description |
---|---|---|---|
scale | number | Vertex | 1 | Scaling factor of the primitive. If Vertex is provided, it will scale x and y dimension accordingly (optional). |
rotate | number | 0 | Rotation of the primitive, in degrees, in clockwise manner (optional). |
position | Vertex | { x: 0, y: 0 } | Moving distance away from the primitive drawing centre. By default, primitive will start drawing in origin (0, 0) (optional). |
info
scale
, rotate
and position
can be considered as transformation of polygon after drawn, where position
can be considered as transform: translate
of css to the primitive.
The polygon will first be scaled, then rotated and lastly, translated.
Returns
(Primitive) All primitive return the following properties:
Property | Type | Description |
---|---|---|
vertices | Vertex[] | Vertices of the primitive. |
edges | Edge[] | Edges of the primitive. |
faces | Face[] | Faces of the primitive. |
centroid | Vertex | Centroid (geometric centre) of primitive. |
boundingBox | BoundingBox | Space constraint of the primitive, with properties x , y , width and height . |
svgPath | string | SVG path representing the shape of the primitive. |
drawToCanvas | (ctx: CanvasRenderingContext2D) => void | Callback that draws the primitive to a canvas context. |
modifyConfig | (newConfig: Partial<PolygonConfig>) => void | Callback to update the configuration of the primitive. |
Example
import { useHexagon } from "react-use-plygon";
const hexagon = useHexagon({ size: 100 });