@react-three/drei 9.57.2 → 9.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -8
- package/core/GizmoHelper.cjs.js +1 -1
- package/core/GizmoHelper.js +1 -0
- package/core/index.cjs.js +1 -1
- package/core/index.js +1 -1
- package/core/shapes.cjs.js +1 -1
- package/core/shapes.d.ts +45 -40
- package/core/shapes.js +37 -8
- package/index.cjs.js +1 -1
- package/index.js +1 -1
- package/native/index.cjs.js +1 -1
- package/native/index.js +1 -1
- package/package.json +1 -1
- package/web/index.cjs.js +1 -1
- package/web/index.js +1 -1
package/README.md
CHANGED
|
@@ -176,6 +176,7 @@ The `native` route of the library **does not** export `Html` or `Loader`. The de
|
|
|
176
176
|
<li><a href="#shapes">Dodecahedron</a></li>
|
|
177
177
|
<li><a href="#shapes">Extrude</a></li>
|
|
178
178
|
<li><a href="#shapes">Lathe</a></li>
|
|
179
|
+
<li><a href="#shapes">Shape</a></li>
|
|
179
180
|
<li><a href="#roundedbox">RoundedBox</a></li>
|
|
180
181
|
<li><a href="#screenquad">Screenquad</a></li>
|
|
181
182
|
<li><a href="#line">Line</a></li>
|
|
@@ -337,7 +338,15 @@ If you have moving objects, unset the prop and use a smaller `resolution` instea
|
|
|
337
338
|
|
|
338
339
|
If available controls have damping enabled by default, they manage their own updates, remove themselves on unmount, are compatible with the `frameloop="demand"` canvas-flag. They inherit all props from their underlying [THREE controls](https://github.com/mrdoob/three.js/tree/master/examples/jsm/controls). They are the first effects to run before all other useFrames, to ensure that other components may mutate the camera on top of them.
|
|
339
340
|
|
|
340
|
-
Some controls allow you to set `makeDefault`, similar to, for instance, PerspectiveCamera
|
|
341
|
+
[Some controls](https://github.com/search?q=repo%3Apmndrs%2Fdrei+language%3ATSX+path%3A%2F%5Esrc%5C%2Fcore%5C%2F.*Controls%5C.tsx%2F+makeDefault&type=code) allow you to set `makeDefault`, similar to, for instance, `PerspectiveCamera`. This will set [@react-three/fiber](https://docs.pmnd.rs/react-three-fiber/api/hooks#usethree)'s `controls` field in the root store. This can make it easier in situations where you want controls to be known and other parts of the app could respond to it. Some drei controls already take it into account, like `CameraShake`, `Gizmo` and `TransformControls`.
|
|
342
|
+
|
|
343
|
+
```tsx
|
|
344
|
+
<CameraControls makeDefault />
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
```tsx
|
|
348
|
+
const controls = useThree((state) => state.controls)
|
|
349
|
+
```
|
|
341
350
|
|
|
342
351
|
Drei currently exports OrbitControls [](https://drei.vercel.app/?path=/story/controls-orbitcontrols--orbit-controls-story), MapControls [](https://drei.vercel.app/?path=/story/controls-mapcontrols--map-controls-scene-st), TrackballControls, ArcballControls, FlyControls, DeviceOrientationControls, PointerLockControls [](https://drei.vercel.app/?path=/story/controls-pointerlockcontrols--pointer-lock-controls-scene-st), FirstPersonControls [](https://drei.vercel.app/?path=/story/controls-firstpersoncontrols--first-person-controls-story) and CameraControls [](https://drei.vercel.app/?path=/story/controls-cameracontrols--camera-controls-story)
|
|
343
352
|
|
|
@@ -535,10 +544,10 @@ enum Controls {
|
|
|
535
544
|
}
|
|
536
545
|
function App() {
|
|
537
546
|
const map = useMemo<KeyboardControlsEntry<Controls>[]>(()=>[
|
|
538
|
-
{ name: Controls.forward, keys: ['ArrowUp', '
|
|
539
|
-
{ name: Controls.back, keys: ['ArrowDown', '
|
|
540
|
-
{ name: Controls.left, keys: ['ArrowLeft', '
|
|
541
|
-
{ name: Controls.right, keys: ['ArrowRight', '
|
|
547
|
+
{ name: Controls.forward, keys: ['ArrowUp', 'KeyW'] },
|
|
548
|
+
{ name: Controls.back, keys: ['ArrowDown', 'KeyS'] },
|
|
549
|
+
{ name: Controls.left, keys: ['ArrowLeft', 'KeyA'] },
|
|
550
|
+
{ name: Controls.right, keys: ['ArrowRight', 'KeyD'] },
|
|
542
551
|
{ name: Controls.jump, keys: ['Space'] },
|
|
543
552
|
], [])
|
|
544
553
|
return (
|
|
@@ -764,7 +773,7 @@ useHelper(condition && mesh, BoxHelper, 'red') // you can passe false instead of
|
|
|
764
773
|
|
|
765
774
|
# Shapes
|
|
766
775
|
|
|
767
|
-
#### Plane, Box, Sphere, Circle, Cone, Cylinder, Tube, Torus, TorusKnot, Ring, Tetrahedron, Polyhedron, Icosahedron, Octahedron, Dodecahedron, Extrude, Lathe
|
|
776
|
+
#### Plane, Box, Sphere, Circle, Cone, Cylinder, Tube, Torus, TorusKnot, Ring, Tetrahedron, Polyhedron, Icosahedron, Octahedron, Dodecahedron, Extrude, Lathe, Shape
|
|
768
777
|
|
|
769
778
|
Short-cuts for a [mesh](https://threejs.org/docs/#api/en/objects/Mesh) with a [buffer geometry](https://threejs.org/docs/#api/en/core/BufferGeometry).
|
|
770
779
|
|
|
@@ -1446,8 +1455,8 @@ Easily add reflections and/or blur to any mesh. It takes surface roughness into
|
|
|
1446
1455
|
3 = distortion channel
|
|
1447
1456
|
4 = lod channel (based on the roughness)
|
|
1448
1457
|
*/
|
|
1449
|
-
|
|
1450
|
-
|
|
1458
|
+
reflectorOffset={0.2} // Offsets the virtual camera that projects the reflection. Useful when the reflective surface is some distance from the object's origin (default = 0)
|
|
1459
|
+
/>
|
|
1451
1460
|
</mesh>
|
|
1452
1461
|
```
|
|
1453
1462
|
|
package/core/GizmoHelper.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("@react-three/fiber"),t=require("three"),n=require("./OrthographicCamera.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("@react-three/fiber"),t=require("three"),n=require("./OrthographicCamera.cjs.js"),u=require("./Hud.cjs.js");function o(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}require("@babel/runtime/helpers/extends"),require("react-merge-refs"),require("./useFBO.cjs.js");var i=o(e);const a=i.createContext({}),c=2*Math.PI,s=new t.Object3D,l=new t.Matrix4,[p,d]=[new t.Quaternion,new t.Quaternion],f=new t.Vector3,h=new t.Vector3;exports.GizmoHelper=({alignment:e="bottom-right",margin:o=[80,80],renderPriority:m=1,onUpdate:y,onTarget:g,children:b})=>{const j=r.useThree((e=>e.size)),w=r.useThree((e=>e.camera)),q=r.useThree((e=>e.controls)),v=r.useThree((e=>e.invalidate)),O=i.useRef(),x=i.useRef(null),P=i.useRef(!1),T=i.useRef(0),C=i.useRef(new t.Vector3(0,0,0)),R=i.useRef(new t.Vector3(0,0,0));i.useEffect((()=>{R.current.copy(w.up)}),[w]);const E=i.useCallback((e=>{P.current=!0,(q||g)&&(C.current=(null==q?void 0:q.target)||(null==g?void 0:g())),T.current=w.position.distanceTo(f),p.copy(w.quaternion),h.copy(e).multiplyScalar(T.current).add(f),s.lookAt(h),s.up.copy(w.up),d.copy(s.quaternion),v()}),[q,w,g,v]);r.useFrame(((e,r)=>{if(x.current&&O.current){var t;if(P.current)if(p.angleTo(d)<.01)P.current=!1,"minPolarAngle"in q&&w.up.copy(R.current);else{const e=r*c;p.rotateTowards(d,e),w.position.set(0,0,1).applyQuaternion(p).multiplyScalar(T.current).add(C.current),w.up.set(0,1,0).applyQuaternion(p).normalize(),w.quaternion.copy(p),y?y():q&&q.update(),v()}l.copy(w.matrix).invert(),null==(t=O.current)||t.quaternion.setFromRotationMatrix(l)}}));const M=i.useMemo((()=>({tweenCamera:E})),[E]),[z,k]=o,Q=e.endsWith("-center")?0:e.endsWith("-left")?-j.width/2+z:j.width/2-z,V=e.startsWith("center-")?0:e.startsWith("top-")?j.height/2-k:-j.height/2+k;return i.createElement(u.Hud,{renderPriority:m},i.createElement(a.Provider,{value:M},i.createElement(n.OrthographicCamera,{makeDefault:!0,ref:x,position:[0,0,200]}),i.createElement("group",{ref:O,position:[Q,V,0]},b)))},exports.useGizmoContext=()=>i.useContext(a);
|
package/core/GizmoHelper.js
CHANGED
|
@@ -51,6 +51,7 @@ const GizmoHelper = ({
|
|
|
51
51
|
|
|
52
52
|
targetPosition.copy(direction).multiplyScalar(radius.current).add(target);
|
|
53
53
|
dummy.lookAt(targetPosition);
|
|
54
|
+
dummy.up.copy(mainCamera.up);
|
|
54
55
|
q2.copy(dummy.quaternion);
|
|
55
56
|
invalidate();
|
|
56
57
|
}, [defaultControls, mainCamera, onTarget, invalidate]);
|
package/core/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./CatmullRomLine.cjs.js"),i=require("./Line.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./CatmullRomLine.cjs.js"),i=require("./Line.cjs.js"),a=require("./PositionalAudio.cjs.js"),u=require("./Text.cjs.js"),c=require("./Text3D.cjs.js"),n=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),p=require("./Image.cjs.js"),x=require("./Edges.cjs.js"),l=require("./Trail.cjs.js"),q=require("./Sampler.cjs.js"),d=require("./ComputedAttribute.cjs.js"),m=require("./Clone.cjs.js"),h=require("./MarchingCubes.cjs.js"),C=require("./Decal.cjs.js"),M=require("./Svg.cjs.js"),S=require("./Gltf.cjs.js"),T=require("./AsciiRenderer.cjs.js"),B=require("./OrthographicCamera.cjs.js"),P=require("./PerspectiveCamera.cjs.js"),b=require("./CubeCamera.cjs.js"),f=require("./DeviceOrientationControls.cjs.js"),g=require("./FlyControls.cjs.js"),v=require("./MapControls.cjs.js"),A=require("./OrbitControls.cjs.js"),L=require("./TrackballControls.cjs.js"),k=require("./ArcballControls.cjs.js"),G=require("./TransformControls.cjs.js"),D=require("./PointerLockControls.cjs.js"),R=require("./FirstPersonControls.cjs.js"),E=require("./CameraControls.cjs.js"),w=require("./GizmoHelper.cjs.js"),z=require("./GizmoViewcube.cjs.js"),F=require("./GizmoViewport.cjs.js"),O=require("./Grid.cjs.js"),I=require("./useCubeTexture.cjs.js"),H=require("./useFBX.cjs.js"),V=require("./useGLTF.cjs.js"),y=require("./useKTX2.cjs.js"),Q=require("./useProgress.cjs.js"),X=require("./useTexture.cjs.js"),K=require("./useVideoTexture.cjs.js"),W=require("./Stats.cjs.js"),N=require("./useDepthBuffer.cjs.js"),U=require("./useAspect.cjs.js"),_=require("./useCamera.cjs.js"),J=require("./useDetectGPU.cjs.js"),Y=require("./useHelper.cjs.js"),Z=require("./useBVH.cjs.js"),$=require("./useContextBridge.cjs.js"),ee=require("./useAnimations.cjs.js"),re=require("./useFBO.cjs.js"),se=require("./useIntersect.cjs.js"),te=require("./useBoxProjectedEnv.cjs.js"),oe=require("./BBAnchor.cjs.js"),ie=require("./useTrailTexture.cjs.js"),ae=require("./CurveModifier.cjs.js"),ue=require("./MeshDistortMaterial.cjs.js"),ce=require("./MeshWobbleMaterial.cjs.js"),ne=require("./MeshReflectorMaterial.cjs.js"),je=require("./MeshRefractionMaterial.cjs.js"),pe=require("./MeshTransmissionMaterial.cjs.js"),xe=require("./PointMaterial.cjs.js"),le=require("./shaderMaterial.cjs.js"),qe=require("./softShadows.cjs.js"),de=require("./shapes.cjs.js"),me=require("./RoundedBox.cjs.js"),he=require("./ScreenQuad.cjs.js"),Ce=require("./Center.cjs.js"),Me=require("./Bounds.cjs.js"),Se=require("./CameraShake.cjs.js"),Te=require("./Float.cjs.js"),Be=require("./Stage.cjs.js"),Pe=require("./Backdrop.cjs.js"),be=require("./Shadow.cjs.js"),fe=require("./Caustics.cjs.js"),ge=require("./ContactShadows.cjs.js"),ve=require("./AccumulativeShadows.cjs.js"),Ae=require("./Reflector.cjs.js"),Le=require("./SpotLight.cjs.js"),ke=require("./Environment.cjs.js"),Ge=require("./Lightformer.cjs.js"),De=require("./Sky.cjs.js"),Re=require("./Stars.cjs.js"),Ee=require("./Cloud.cjs.js"),we=require("./Sparkles.cjs.js"),ze=require("./useMatcapTexture.cjs.js"),Fe=require("./useNormalTexture.cjs.js"),Oe=require("./Points.cjs.js"),Ie=require("./Instances.cjs.js"),He=require("./Segments.cjs.js"),Ve=require("./Detailed.cjs.js"),ye=require("./Preload.cjs.js"),Qe=require("./BakeShadows.cjs.js"),Xe=require("./meshBounds.cjs.js"),Ke=require("./AdaptiveDpr.cjs.js"),We=require("./AdaptiveEvents.cjs.js"),Ne=require("./PerformanceMonitor.cjs.js"),Ue=require("./RenderTexture.cjs.js"),_e=require("./Mask.cjs.js"),Je=require("./Hud.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("three"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=t.CubicBezierLine,exports.CatmullRomLine=o.CatmullRomLine,exports.Line=i.Line,exports.PositionalAudio=a.PositionalAudio,exports.Text=u.Text,exports.Text3D=c.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.Image=p.Image,exports.Edges=x.Edges,exports.Trail=l.Trail,exports.useTrail=l.useTrail,exports.Sampler=q.Sampler,exports.useSurfaceSampler=q.useSurfaceSampler,exports.ComputedAttribute=d.ComputedAttribute,exports.Clone=m.Clone,exports.MarchingCube=h.MarchingCube,exports.MarchingCubes=h.MarchingCubes,exports.MarchingPlane=h.MarchingPlane,exports.Decal=C.Decal,exports.Svg=M.Svg,exports.Gltf=S.Gltf,exports.AsciiRenderer=T.AsciiRenderer,exports.OrthographicCamera=B.OrthographicCamera,exports.PerspectiveCamera=P.PerspectiveCamera,exports.CubeCamera=b.CubeCamera,exports.DeviceOrientationControls=f.DeviceOrientationControls,exports.FlyControls=g.FlyControls,exports.MapControls=v.MapControls,exports.OrbitControls=A.OrbitControls,exports.TrackballControls=L.TrackballControls,exports.ArcballControls=k.ArcballControls,exports.TransformControls=G.TransformControls,exports.PointerLockControls=D.PointerLockControls,exports.FirstPersonControls=R.FirstPersonControls,exports.CameraControls=E.CameraControls,exports.GizmoHelper=w.GizmoHelper,exports.useGizmoContext=w.useGizmoContext,exports.GizmoViewcube=z.GizmoViewcube,exports.GizmoViewport=F.GizmoViewport,exports.Grid=O.Grid,exports.useCubeTexture=I.useCubeTexture,exports.useFBX=H.useFBX,exports.useGLTF=V.useGLTF,exports.useKTX2=y.useKTX2,exports.useProgress=Q.useProgress,exports.IsObject=X.IsObject,exports.useTexture=X.useTexture,exports.useVideoTexture=K.useVideoTexture,exports.Stats=W.Stats,exports.useDepthBuffer=N.useDepthBuffer,exports.useAspect=U.useAspect,exports.useCamera=_.useCamera,exports.useDetectGPU=J.useDetectGPU,exports.useHelper=Y.useHelper,exports.Bvh=Z.Bvh,exports.useBVH=Z.useBVH,exports.useContextBridge=$.useContextBridge,exports.useAnimations=ee.useAnimations,exports.useFBO=re.useFBO,exports.useIntersect=se.useIntersect,exports.useBoxProjectedEnv=te.useBoxProjectedEnv,exports.BBAnchor=oe.BBAnchor,exports.useTrailTexture=ie.useTrailTexture,exports.CurveModifier=ae.CurveModifier,exports.MeshDistortMaterial=ue.MeshDistortMaterial,exports.MeshWobbleMaterial=ce.MeshWobbleMaterial,exports.MeshReflectorMaterial=ne.MeshReflectorMaterial,exports.MeshRefractionMaterial=je.MeshRefractionMaterial,exports.MeshTransmissionMaterial=pe.MeshTransmissionMaterial,exports.PointMaterial=xe.PointMaterial,exports.PointMaterialImpl=xe.PointMaterialImpl,exports.shaderMaterial=le.shaderMaterial,exports.SoftShadows=qe.SoftShadows,exports.Box=de.Box,exports.Capsule=de.Capsule,exports.Circle=de.Circle,exports.Cone=de.Cone,exports.Cylinder=de.Cylinder,exports.Dodecahedron=de.Dodecahedron,exports.Extrude=de.Extrude,exports.Icosahedron=de.Icosahedron,exports.Lathe=de.Lathe,exports.Octahedron=de.Octahedron,exports.Plane=de.Plane,exports.Polyhedron=de.Polyhedron,exports.Ring=de.Ring,exports.Shape=de.Shape,exports.Sphere=de.Sphere,exports.Tetrahedron=de.Tetrahedron,exports.Torus=de.Torus,exports.TorusKnot=de.TorusKnot,exports.Tube=de.Tube,exports.RoundedBox=me.RoundedBox,exports.ScreenQuad=he.ScreenQuad,exports.Center=Ce.Center,exports.Bounds=Me.Bounds,exports.useBounds=Me.useBounds,exports.CameraShake=Se.CameraShake,exports.Float=Te.Float,exports.Stage=Be.Stage,exports.Backdrop=Pe.Backdrop,exports.Shadow=be.Shadow,exports.Caustics=fe.Caustics,exports.ContactShadows=ge.ContactShadows,exports.AccumulativeShadows=ve.AccumulativeShadows,exports.RandomizedLight=ve.RandomizedLight,exports.accumulativeContext=ve.accumulativeContext,exports.Reflector=Ae.Reflector,exports.SpotLight=Le.SpotLight,exports.SpotLightShadow=Le.SpotLightShadow,exports.Environment=ke.Environment,exports.EnvironmentCube=ke.EnvironmentCube,exports.EnvironmentMap=ke.EnvironmentMap,exports.EnvironmentPortal=ke.EnvironmentPortal,exports.useEnvironment=ke.useEnvironment,exports.Lightformer=Ge.Lightformer,exports.Sky=De.Sky,exports.calcPosFromAngles=De.calcPosFromAngles,exports.Stars=Re.Stars,exports.Cloud=Ee.Cloud,exports.Sparkles=we.Sparkles,exports.useMatcapTexture=ze.useMatcapTexture,exports.useNormalTexture=Fe.useNormalTexture,exports.Point=Oe.Point,exports.Points=Oe.Points,exports.PointsBuffer=Oe.PointsBuffer,exports.PositionPoint=Oe.PositionPoint,exports.Instance=Ie.Instance,exports.Instances=Ie.Instances,exports.Merged=Ie.Merged,exports.Segment=He.Segment,exports.SegmentObject=He.SegmentObject,exports.Segments=He.Segments,exports.Detailed=Ve.Detailed,exports.Preload=ye.Preload,exports.BakeShadows=Qe.BakeShadows,exports.meshBounds=Xe.meshBounds,exports.AdaptiveDpr=Ke.AdaptiveDpr,exports.AdaptiveEvents=We.AdaptiveEvents,exports.PerformanceMonitor=Ne.PerformanceMonitor,exports.usePerformanceMonitor=Ne.usePerformanceMonitor,exports.RenderTexture=Ue.RenderTexture,exports.Mask=_e.Mask,exports.useMask=_e.useMask,exports.Hud=Je.Hud;
|
package/core/index.js
CHANGED
|
@@ -67,7 +67,7 @@ export { MeshTransmissionMaterial } from './MeshTransmissionMaterial.js';
|
|
|
67
67
|
export { PointMaterial, PointMaterialImpl } from './PointMaterial.js';
|
|
68
68
|
export { shaderMaterial } from './shaderMaterial.js';
|
|
69
69
|
export { SoftShadows } from './softShadows.js';
|
|
70
|
-
export { Box, Capsule, Circle, Cone, Cylinder, Dodecahedron, Extrude, Icosahedron, Lathe, Octahedron, Plane, Polyhedron, Ring, Sphere, Tetrahedron, Torus, TorusKnot, Tube } from './shapes.js';
|
|
70
|
+
export { Box, Capsule, Circle, Cone, Cylinder, Dodecahedron, Extrude, Icosahedron, Lathe, Octahedron, Plane, Polyhedron, Ring, Shape, Sphere, Tetrahedron, Torus, TorusKnot, Tube } from './shapes.js';
|
|
71
71
|
export { RoundedBox } from './RoundedBox.js';
|
|
72
72
|
export { ScreenQuad } from './ScreenQuad.js';
|
|
73
73
|
export { Center } from './Center.js';
|
package/core/shapes.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=o(e),u=n(t),a=n(r);function c(e,t){const r=e+"Geometry";return u.forwardRef((({args:e,children:o,...n},a)=>{const c=u.useRef(null);return u.useImperativeHandle(a,(()=>c.current)),u.useLayoutEffect((()=>{null==t||t(c.current)})),u.createElement("mesh",s.default({ref:c},n),u.createElement(r,{attach:"geometry",args:e}),o)}))}const p=c("box"),l=c("circle"),i=c("cone"),d=c("cylinder"),f=c("sphere"),x=c("plane"),h=c("tube"),b=c("torus"),y=c("torusKnot"),g=c("tetrahedron"),m=c("ring"),O=c("polyhedron"),j=c("icosahedron"),v=c("octahedron"),w=c("dodecahedron"),E=c("extrude"),P=c("lathe"),B=c("capsule"),C=c("shape",(({geometry:e})=>{const t=e.attributes.position,r=(new a.Box3).setFromBufferAttribute(t),o=new a.Vector3;r.getSize(o);const n=[];let s=0,u=0,c=0,p=0;for(let e=0;e<t.count;e++)s=t.getX(e),u=t.getY(e),c=(s-r.min.x)/o.x,p=(u-r.min.y)/o.y,n.push(c,p);e.setAttribute("uv",new a.Float32BufferAttribute(n,2))}));exports.Box=p,exports.Capsule=B,exports.Circle=l,exports.Cone=i,exports.Cylinder=d,exports.Dodecahedron=w,exports.Extrude=E,exports.Icosahedron=j,exports.Lathe=P,exports.Octahedron=v,exports.Plane=x,exports.Polyhedron=O,exports.Ring=m,exports.Shape=C,exports.Sphere=f,exports.Tetrahedron=g,exports.Torus=b,exports.TorusKnot=y,exports.Tube=h;
|
package/core/shapes.d.ts
CHANGED
|
@@ -1,78 +1,83 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import * as THREE from 'three';
|
|
2
3
|
export declare type Args<T> = T extends new (...args: any) => any ? ConstructorParameters<T> : T;
|
|
3
|
-
export declare type ShapeProps<T> = Omit<JSX.IntrinsicElements['mesh'], 'args'> & {
|
|
4
|
+
export declare type ShapeProps<T> = Omit<JSX.IntrinsicElements['mesh'], 'args' | 'type'> & {
|
|
4
5
|
args?: Args<T>;
|
|
5
6
|
children?: React.ReactNode;
|
|
6
7
|
};
|
|
7
|
-
export declare const Box: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
8
|
+
export declare const Box: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
8
9
|
args?: [width?: number | undefined, height?: number | undefined, depth?: number | undefined, widthSegments?: number | undefined, heightSegments?: number | undefined, depthSegments?: number | undefined] | undefined;
|
|
9
10
|
children?: React.ReactNode;
|
|
10
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
11
|
-
export declare const Circle: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
11
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
12
|
+
export declare const Circle: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
12
13
|
args?: [radius?: number | undefined, segments?: number | undefined, thetaStart?: number | undefined, thetaLength?: number | undefined] | undefined;
|
|
13
14
|
children?: React.ReactNode;
|
|
14
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
15
|
-
export declare const Cone: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
15
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
16
|
+
export declare const Cone: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
16
17
|
args?: [radius?: number | undefined, height?: number | undefined, radialSegments?: number | undefined, heightSegments?: number | undefined, openEnded?: boolean | undefined, thetaStart?: number | undefined, thetaLength?: number | undefined] | undefined;
|
|
17
18
|
children?: React.ReactNode;
|
|
18
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
19
|
-
export declare const Cylinder: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
19
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
20
|
+
export declare const Cylinder: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
20
21
|
args?: [radiusTop?: number | undefined, radiusBottom?: number | undefined, height?: number | undefined, radialSegments?: number | undefined, heightSegments?: number | undefined, openEnded?: boolean | undefined, thetaStart?: number | undefined, thetaLength?: number | undefined] | undefined;
|
|
21
22
|
children?: React.ReactNode;
|
|
22
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
23
|
-
export declare const Sphere: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
23
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
24
|
+
export declare const Sphere: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
24
25
|
args?: [radius?: number | undefined, widthSegments?: number | undefined, heightSegments?: number | undefined, phiStart?: number | undefined, phiLength?: number | undefined, thetaStart?: number | undefined, thetaLength?: number | undefined] | undefined;
|
|
25
26
|
children?: React.ReactNode;
|
|
26
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
27
|
-
export declare const Plane: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
27
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
28
|
+
export declare const Plane: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
28
29
|
args?: [width?: number | undefined, height?: number | undefined, widthSegments?: number | undefined, heightSegments?: number | undefined] | undefined;
|
|
29
30
|
children?: React.ReactNode;
|
|
30
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
31
|
-
export declare const Tube: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
32
|
-
args?: [path?:
|
|
31
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
32
|
+
export declare const Tube: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
33
|
+
args?: [path?: THREE.Curve<THREE.Vector3> | undefined, tubularSegments?: number | undefined, radius?: number | undefined, radiusSegments?: number | undefined, closed?: boolean | undefined] | undefined;
|
|
33
34
|
children?: React.ReactNode;
|
|
34
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
35
|
-
export declare const Torus: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
35
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
36
|
+
export declare const Torus: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
36
37
|
args?: [radius?: number | undefined, tube?: number | undefined, radialSegments?: number | undefined, tubularSegments?: number | undefined, arc?: number | undefined] | undefined;
|
|
37
38
|
children?: React.ReactNode;
|
|
38
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
39
|
-
export declare const TorusKnot: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
39
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
40
|
+
export declare const TorusKnot: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
40
41
|
args?: [radius?: number | undefined, tube?: number | undefined, tubularSegments?: number | undefined, radialSegments?: number | undefined, p?: number | undefined, q?: number | undefined] | undefined;
|
|
41
42
|
children?: React.ReactNode;
|
|
42
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
43
|
-
export declare const Tetrahedron: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
43
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
44
|
+
export declare const Tetrahedron: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
44
45
|
args?: [radius?: number | undefined, detail?: number | undefined] | undefined;
|
|
45
46
|
children?: React.ReactNode;
|
|
46
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
47
|
-
export declare const Ring: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
47
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
48
|
+
export declare const Ring: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
48
49
|
args?: [innerRadius?: number | undefined, outerRadius?: number | undefined, thetaSegments?: number | undefined, phiSegments?: number | undefined, thetaStart?: number | undefined, thetaLength?: number | undefined] | undefined;
|
|
49
50
|
children?: React.ReactNode;
|
|
50
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
51
|
-
export declare const Polyhedron: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
51
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
52
|
+
export declare const Polyhedron: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
52
53
|
args?: [vertices?: number[] | undefined, indices?: number[] | undefined, radius?: number | undefined, detail?: number | undefined] | undefined;
|
|
53
54
|
children?: React.ReactNode;
|
|
54
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
55
|
-
export declare const Icosahedron: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
55
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
56
|
+
export declare const Icosahedron: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
56
57
|
args?: [radius?: number | undefined, detail?: number | undefined] | undefined;
|
|
57
58
|
children?: React.ReactNode;
|
|
58
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
59
|
-
export declare const Octahedron: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
59
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
60
|
+
export declare const Octahedron: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
60
61
|
args?: [radius?: number | undefined, detail?: number | undefined] | undefined;
|
|
61
62
|
children?: React.ReactNode;
|
|
62
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
63
|
-
export declare const Dodecahedron: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
63
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
64
|
+
export declare const Dodecahedron: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
64
65
|
args?: [radius?: number | undefined, detail?: number | undefined] | undefined;
|
|
65
66
|
children?: React.ReactNode;
|
|
66
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
67
|
-
export declare const Extrude: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
68
|
-
args?: [shapes?:
|
|
67
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
68
|
+
export declare const Extrude: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
69
|
+
args?: [shapes?: THREE.Shape | THREE.Shape[] | undefined, options?: THREE.ExtrudeGeometryOptions | undefined] | undefined;
|
|
69
70
|
children?: React.ReactNode;
|
|
70
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
71
|
-
export declare const Lathe: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
72
|
-
args?: [points?:
|
|
71
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
72
|
+
export declare const Lathe: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
73
|
+
args?: [points?: THREE.Vector2[] | undefined, segments?: number | undefined, phiStart?: number | undefined, phiLength?: number | undefined] | undefined;
|
|
73
74
|
children?: React.ReactNode;
|
|
74
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
75
|
-
export declare const Capsule: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & {
|
|
75
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
76
|
+
export declare const Capsule: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
76
77
|
args?: [radius?: number | undefined, length?: number | undefined, capSegments?: number | undefined, radialSegments?: number | undefined] | undefined;
|
|
77
78
|
children?: React.ReactNode;
|
|
78
|
-
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "
|
|
79
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
|
80
|
+
export declare const Shape: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args" | "type"> & {
|
|
81
|
+
args?: [shapes?: THREE.Shape | THREE.Shape[] | undefined, curveSegments?: number | undefined] | undefined;
|
|
82
|
+
children?: React.ReactNode;
|
|
83
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
package/core/shapes.js
CHANGED
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import * as THREE from 'three';
|
|
3
4
|
|
|
4
|
-
function create(type) {
|
|
5
|
+
function create(type, effect) {
|
|
5
6
|
const El = type + 'Geometry';
|
|
6
7
|
return /*#__PURE__*/React.forwardRef(({
|
|
7
8
|
args,
|
|
8
9
|
children,
|
|
9
10
|
...props
|
|
10
|
-
},
|
|
11
|
-
ref
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
}, fref) => {
|
|
12
|
+
const ref = React.useRef(null);
|
|
13
|
+
React.useImperativeHandle(fref, () => ref.current);
|
|
14
|
+
React.useLayoutEffect(() => void (effect == null ? void 0 : effect(ref.current)));
|
|
15
|
+
return /*#__PURE__*/React.createElement("mesh", _extends({
|
|
16
|
+
ref: ref
|
|
17
|
+
}, props), /*#__PURE__*/React.createElement(El, {
|
|
18
|
+
attach: "geometry",
|
|
19
|
+
args: args
|
|
20
|
+
}), children);
|
|
21
|
+
});
|
|
16
22
|
}
|
|
17
23
|
|
|
18
24
|
const Box = create('box');
|
|
@@ -33,5 +39,28 @@ const Dodecahedron = create('dodecahedron');
|
|
|
33
39
|
const Extrude = create('extrude');
|
|
34
40
|
const Lathe = create('lathe');
|
|
35
41
|
const Capsule = create('capsule');
|
|
42
|
+
const Shape = create('shape', ({
|
|
43
|
+
geometry
|
|
44
|
+
}) => {
|
|
45
|
+
const pos = geometry.attributes.position;
|
|
46
|
+
const b3 = new THREE.Box3().setFromBufferAttribute(pos);
|
|
47
|
+
const b3size = new THREE.Vector3();
|
|
48
|
+
b3.getSize(b3size);
|
|
49
|
+
const uv = [];
|
|
50
|
+
let x = 0,
|
|
51
|
+
y = 0,
|
|
52
|
+
u = 0,
|
|
53
|
+
v = 0;
|
|
36
54
|
|
|
37
|
-
|
|
55
|
+
for (let i = 0; i < pos.count; i++) {
|
|
56
|
+
x = pos.getX(i);
|
|
57
|
+
y = pos.getY(i);
|
|
58
|
+
u = (x - b3.min.x) / b3size.x;
|
|
59
|
+
v = (y - b3.min.y) / b3size.y;
|
|
60
|
+
uv.push(u, v);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
geometry.setAttribute('uv', new THREE.Float32BufferAttribute(uv, 2));
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
export { Box, Capsule, Circle, Cone, Cylinder, Dodecahedron, Extrude, Icosahedron, Lathe, Octahedron, Plane, Polyhedron, Ring, Shape, Sphere, Tetrahedron, Torus, TorusKnot, Tube };
|