@equinor/videx-3d 1.1.0 → 1.1.1

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.
@@ -1,4 +1,4 @@
1
- import { Camera, Object3D } from 'three';
1
+ import { Camera, Material, Object3D } from 'three';
2
2
  import { Vec2, Vec3 } from '../../sdk';
3
3
  export type KeysPressed = {
4
4
  altKey: boolean;
@@ -22,6 +22,7 @@ export type Listener = {
22
22
  ref?: any;
23
23
  threshold?: number;
24
24
  handlers: Record<string, EventEmitterCallback>;
25
+ customMaterial?: Material;
25
26
  };
26
27
  export type Emitter = {
27
28
  source: Object3D;
@@ -1,3 +1,4 @@
1
1
  export * from './EventEmitter';
2
2
  export * from './EventEmitterContext';
3
3
  export * from './picking-helper';
4
+ export * from './picking-material';
@@ -20,6 +20,9 @@ export declare class PickingHelper {
20
20
  private _pbo;
21
21
  private _buffer;
22
22
  private _material;
23
+ private _listeners;
24
+ private _emitters;
25
+ private _currentObjectMap;
23
26
  constructor(options?: {});
24
27
  private traverseObject;
25
28
  updateListeners: () => void;
@@ -1,11 +1,14 @@
1
- import { Camera, Object3D, Scene, ShaderMaterial, WebGLRenderer } from 'three';
1
+ import { Camera, Object3D, Scene, ShaderMaterial, Uniform, WebGLRenderer } from 'three';
2
2
  import { BufferGeometry } from 'three/webgpu';
3
- import { Emitter, Listener } from './EventEmitterContext';
3
+ export declare const pickingMaterialUniforms: {
4
+ emitterId: Uniform<number>;
5
+ side: Uniform<number>;
6
+ };
4
7
  export declare class PickingMaterial extends ShaderMaterial {
5
- listeners: Map<number, Listener>;
6
- emitters: Map<number, Emitter>;
7
- currentObjectMap: Array<number> | null;
8
8
  constructor();
9
9
  dispose(): void;
10
10
  onBeforeRender(_renderer: WebGLRenderer, _scene: Scene, _camera: Camera, _geometry: BufferGeometry, object: Object3D): void;
11
11
  }
12
+ export declare class CustomPickingMaterial extends PickingMaterial {
13
+ constructor(vertexShader?: string, uniforms?: Record<string, Uniform>);
14
+ }
@@ -0,0 +1,16 @@
1
+ import { CustomPickingMaterial } from '../../EventEmitter/picking-material';
2
+ export declare class CasingEmitterMaterial extends CustomPickingMaterial {
3
+ constructor();
4
+ get sizeMultiplier(): number;
5
+ set sizeMultiplier(v: number);
6
+ get radius(): number;
7
+ set radius(v: number);
8
+ get innerRadius(): number;
9
+ set innerRadius(v: number);
10
+ get sliceOffset(): number;
11
+ set sliceOffset(v: number);
12
+ get sliceAngle(): number;
13
+ set sliceAngle(v: number);
14
+ get autoSlicePosition(): boolean;
15
+ set autoSlicePosition(v: boolean);
16
+ }
@@ -1,3 +1,4 @@
1
+ import { PointerEvents } from '../../../main';
1
2
  import { CasingSectionMaterialOptions } from './Casings';
2
3
  import { CasingSectionType } from './casings-defs';
3
4
  type CasingSectionProps = {
@@ -10,6 +11,6 @@ type CasingSectionProps = {
10
11
  autoSlicePosition?: boolean;
11
12
  opacity?: number;
12
13
  renderOrder?: number;
13
- };
14
- export declare const CasingSection: ({ section, materialOptions, radialSegments, sizeMultiplier, sliceAngle, sliceOffset, autoSlicePosition, opacity, renderOrder, }: CasingSectionProps) => import("react/jsx-runtime").JSX.Element;
14
+ } & PointerEvents;
15
+ export declare const CasingSection: ({ section, materialOptions, radialSegments, sizeMultiplier, sliceAngle, sliceOffset, autoSlicePosition, opacity, renderOrder, onPointerClick, onPointerEnter, onPointerLeave, onPointerMove, }: CasingSectionProps) => import("react/jsx-runtime").JSX.Element;
15
16
  export {};
@@ -1,6 +1,7 @@
1
1
  import { ReactElement } from 'react';
2
2
  import { Group, MeshStandardMaterialParameters, Object3D } from 'three';
3
3
  import { CommonComponentProps } from '../../../common/types';
4
+ import { PointerEvents } from '../../../main';
4
5
  import { CasingSectionType } from './casings-defs';
5
6
  /**
6
7
  * CasingSectionMaterialOptions
@@ -20,7 +21,7 @@ export type MaterialOptions = (section: CasingSectionType) => CasingSectionMater
20
21
  * Casing props
21
22
  * @expand
22
23
  */
23
- export type CasingProps = CommonComponentProps & {
24
+ export type CasingProps = PointerEvents & CommonComponentProps & {
24
25
  fallback?: () => ReactElement<Object3D>;
25
26
  radialSegments?: number;
26
27
  sliceAngle?: number;
@@ -55,7 +56,7 @@ export type CasingProps = CommonComponentProps & {
55
56
  *
56
57
  * @group Components
57
58
  */
58
- export declare const Casings: import('react').ForwardRefExoticComponent<CommonComponentProps & {
59
+ export declare const Casings: import('react').ForwardRefExoticComponent<PointerEvents & CommonComponentProps & {
59
60
  fallback?: () => ReactElement<Object3D>;
60
61
  radialSegments?: number;
61
62
  sliceAngle?: number;
@@ -11,7 +11,9 @@ export * from './geometries/curve/curve-3d';
11
11
  export * from './geometries/curve/tube-geometry';
12
12
  export * from './geometries/delatin';
13
13
  export * from './geometries/fence';
14
+ export * from './geometries/geometry';
14
15
  export * from './geometries/packing';
16
+ export * from './geometries/planar-geometry';
15
17
  export * from './geometries/triangulate-grid';
16
18
  export * from './geometries/triangulate-grid-delaunay';
17
19
  export * from './managers/CameraManager';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@equinor/videx-3d",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "MIT",