Initial project import
This commit is contained in:
28
node_modules/@react-three/drei/core/CubicBezierLine.js
generated
vendored
Normal file
28
node_modules/@react-three/drei/core/CubicBezierLine.js
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
import _extends from '@babel/runtime/helpers/esm/extends';
|
||||
import * as React from 'react';
|
||||
import { Vector3, CubicBezierCurve3 } from 'three';
|
||||
import { Line } from './Line.js';
|
||||
|
||||
const CubicBezierLine = /* @__PURE__ */React.forwardRef(function CubicBezierLine({
|
||||
start,
|
||||
end,
|
||||
midA,
|
||||
midB,
|
||||
segments = 20,
|
||||
...rest
|
||||
}, ref) {
|
||||
const points = React.useMemo(() => {
|
||||
const startV = start instanceof Vector3 ? start : new Vector3(...start);
|
||||
const endV = end instanceof Vector3 ? end : new Vector3(...end);
|
||||
const midAV = midA instanceof Vector3 ? midA : new Vector3(...midA);
|
||||
const midBV = midB instanceof Vector3 ? midB : new Vector3(...midB);
|
||||
const interpolatedV = new CubicBezierCurve3(startV, midAV, midBV, endV).getPoints(segments);
|
||||
return interpolatedV;
|
||||
}, [start, end, midA, midB, segments]);
|
||||
return /*#__PURE__*/React.createElement(Line, _extends({
|
||||
ref: ref,
|
||||
points: points
|
||||
}, rest));
|
||||
});
|
||||
|
||||
export { CubicBezierLine };
|
||||
Reference in New Issue
Block a user