Skip to content

useRectangle ​

Composable for working with rectangles.

useRectangle({width: 200, height: 100})

Configuration ​

The useRectangle function accepts a single configuration object as an argument, where each property has a default value if not provided.

PropertyDefaultDescription
width100The width of the rectangle.
height50The height of the rectangle.

extends Primitive Configuration ​

The following configuration parameters are applicable to all primitive shapes.

PropertyDefaultDescription
position{ x: 0, y: 0 }A 2D vector representing the position of the primitive.
rotation0The rotation of the primitive (in degrees).
scale1The scale factor of the primitive.

Example Usage ​

ts
import {useRectangle} from 'vuexyz'

const width: Ref<number> = ref(100)
const height: Ref<number> = ref(50)
const {vertices, edges, faces} = useRectangle({width, height})

Returns ​

All primitive shapes return the following reactive members:

PropertyType DeclarationDescription
verticesComputedRef<Vertex[]>An array of all vertices.
edgesComputedRef<Edge[]>An array of all edges.
facesComputedRef<Face[]>An array of all faces.
centroidComputedRef<Vertex[]>The centroid (geometric center) of all vertices.
boundingBoxComputedRef<BoundingBox>The bounding box of the primitive, with properties x, y, width, height, maxX and maxY
svgPathComputedRef<string>An SVG path representing the shape of the primitive.
drawToCanvas(ctx: CanvasRenderingContext2D) => voidA method that draws the primitive to a canvas context.
threeShapeComputedRef<THREE.Shape>A THREE.Shape object representing the primitive's 2D face. Only applicable with closed shapes.
threeCurvePathComputedRef<THREE.CurvePath>A THREE.CurvePath object representing the primitive's 2D edges. Can be used in three and tres.

Released under the MIT License.