UNPKG

videx-3d

Version:

React 3D component library designed for sub surface visualizations in the browser

63 lines (62 loc) 2.55 kB
import { Color, Texture } from 'three'; import { Vec2 } from '../../../sdk/types/common'; import { CommonComponentProps } from '../../common'; /** * Grid props * @expand */ export type GridProps = CommonComponentProps & { plane: 'xz' | 'xy' | 'zy'; size: Vec2; cellSize?: number; subDivisions?: number; gridOrigin?: Vec2; gridScale?: Vec2; background?: string | Color | number; backgroundOpacity?: number; opacity?: number; gridColorMajor?: string | number | Color; gridColorMinor?: string | number | Color; gridLineWidth?: number; showAxes?: boolean; showAxesLabels?: boolean; trimAxesLabels?: boolean; axesOffset?: Vec2; axesColor?: string | number | Color; axesLineWidth?: number; axesTickSize?: number; originValue?: Vec2; radial?: boolean; dynamicSegments?: boolean; showRulers?: boolean; rulerColor?: string | number | Color; rulerLineWidth?: number; rulerOpacity?: number; planeOffset?: number; dynamicCellSize?: boolean; cellSizeDistanceFactors?: number[][]; side?: 'front' | 'back' | 'both'; texture?: Texture; textureMix?: number; enableProjection?: boolean; projectionDistance?: number; projectionColor?: string | number | Color; projectionResolution?: number; projectionRefreshRate?: number; onRulerUpdate?: ((coords: Vec2 | null) => void) | null; }; /** * Renders an axis aligned grid plane (xz, xy or zy). * * @example * <Grid plane="xz" size={[1000, 1000]} cellSize={10} /> * * @remarks * The Grid component is very flexible and has many different options which allows you * to customize both behaviours and appearances. See the storybook linked below for examples. * * @see [Storybook](/videx-3d/?path=/docs/components-grids-grid--docs) * * @group Components */ export declare const Grid: ({ plane, size, position, gridOrigin, gridScale, cellSize, subDivisions, background, backgroundOpacity, opacity, gridColorMajor, gridColorMinor, gridLineWidth, showAxes, showAxesLabels, trimAxesLabels, axesOffset, axesColor, axesLineWidth, axesTickSize, originValue, radial, dynamicSegments, showRulers, rulerColor, rulerLineWidth, rulerOpacity, planeOffset, dynamicCellSize, cellSizeDistanceFactors, side, onRulerUpdate, texture, textureMix, enableProjection, projectionDistance, projectionColor, projectionResolution, projectionRefreshRate, name, userData, renderOrder, visible, castShadow, receiveShadow, layers, }: GridProps) => import("react/jsx-runtime").JSX.Element;