videx-3d
Version:
React 3D component library designed for sub surface visualizations in the browser
35 lines (34 loc) • 1.08 kB
TypeScript
import { BufferGeometry } from 'three';
import { Tuplet } from '../../types/common';
import { Curve3D } from './curve-3d';
export type RadiusModifier = {
type: 'linear' | 'stepped';
steps: Tuplet<number>[];
};
export type AttributeOptions = {
computeNormals?: boolean;
computeUvs?: boolean;
};
export type TubeGeometryOptions = AttributeOptions & {
radialSegments?: number;
from?: number;
to?: number;
startCap?: boolean;
endCap?: boolean;
radius?: number;
segmentsPerMeter?: number;
radiusModifier?: RadiusModifier;
simplificationThreshold?: number;
computeLengths?: boolean;
computeRelativeLengths?: boolean;
computeCurveNormals?: boolean;
computeCurveTangents?: boolean;
computeCurveBinormals?: boolean;
innerRadius?: number;
thickness?: number;
addGroups?: boolean;
};
/**
* Generates a fully customized tube geometry extruded from a curve.
*/
export declare function createTubeGeometry(curve: Curve3D, options?: TubeGeometryOptions): BufferGeometry<import('three').NormalBufferAttributes>;