Skip to content

Commit

Permalink
fix(react-components): don't add axis gizmo and use event listeners i…
Browse files Browse the repository at this point in the history
…f no flexible camera manager (#4540)

* chore(react-components): remove default axis gizmo tool

* fix: register event listeners if not using flexible camera

* Add gizmo in a function

* chore: lint fix

---------

Co-authored-by: Nils Petter Fremming <nils.fremming@cognite.com>
  • Loading branch information
haakonflatval-cognite and nilscognite authored May 28, 2024
1 parent bb70db0 commit 3aedf46
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 12 deletions.
2 changes: 1 addition & 1 deletion react-components/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cognite/reveal-react-components",
"version": "0.46.0",
"version": "0.46.1",
"exports": {
".": {
"import": "./dist/index.js",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import {
type Cognite3DViewer,
type IFlexibleCameraManager
} from '@cognite/reveal';
import { AxisGizmoTool } from '@cognite/reveal/tools';
import { NavigationTool } from '../commands/NavigationTool';
import {
Vector3,
Expand All @@ -27,6 +26,7 @@ import { getResizeCursor } from '../utilities/geometry/getResizeCursor';
import { VisualDomainObject } from '../domainObjects/VisualDomainObject';
import { ThreeView } from '../views/ThreeView';
import { type DomainObject } from '../domainObjects/DomainObject';
import { AxisGizmoTool } from '@cognite/reveal/tools';

const DIRECTIONAL_LIGHT_NAME = 'DirectionalLight';

Expand All @@ -38,11 +38,11 @@ export class RevealRenderTarget {
private readonly _viewer: Cognite3DViewer;
private readonly _toolController: ToolControllers;
private readonly _rootDomainObject: RootDomainObject;
private _axisGizmoTool: AxisGizmoTool | undefined;
private _ambientLight: AmbientLight | undefined;
private _directionalLight: DirectionalLight | undefined;
private _cropBoxBoundingBox: Box3 | undefined;
private _cropBoxName: string | undefined = undefined;
private _axisGizmoTool: AxisGizmoTool | undefined;

// ==================================================
// CONTRUCTORS
Expand All @@ -62,6 +62,11 @@ export class RevealRenderTarget {
this.initializeLights();
this._viewer.on('cameraChange', this.cameraChangeHandler);
this._viewer.on('beforeSceneRendered', this.beforeSceneRenderedHandler);

const navigationTool = new NavigationTool();
navigationTool.attach(this);
this.toolController.add(navigationTool);
this.toolController.setDefaultTool(navigationTool);
}

// ==================================================
Expand Down Expand Up @@ -124,14 +129,9 @@ export class RevealRenderTarget {
// INSTANCE METHODS
// ==================================================

public initialize(): void {
public addAxisGizmo(): void {
this._axisGizmoTool = new AxisGizmoTool();
this._axisGizmoTool.connect(this._viewer);

const navigationTool = new NavigationTool();
navigationTool.attach(this);
this.toolController.add(navigationTool);
this.toolController.setDefaultTool(navigationTool);
}

public dispose(): void {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,14 +101,17 @@ const useRevealFromKeepAlive = ({
function getOrInitializeRenderTarget(): RevealRenderTarget {
let renderTarget = revealKeepAliveData?.renderTargetRef.current;
if (renderTarget === undefined) {
const viewer = new Cognite3DViewer({ ...viewerOptions, sdk, hasEventListeners: false });
const viewer = new Cognite3DViewer({
...viewerOptions,
sdk,
hasEventListeners: !(viewerOptions?.useFlexibleCameraManager ?? false)
});
renderTarget = new RevealRenderTarget(viewer);
if (revealKeepAliveData !== undefined) {
revealKeepAliveData.renderTargetRef.current = renderTarget;
}
}
renderTarget.viewer.setBackgroundColor({ color, alpha: 1 });
renderTarget.initialize();
setRenderTarget(renderTarget);
return renderTarget;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ export const RevealStoryContext = ({
useFlexibleCameraManager: true
});
const renderTarget = new RevealRenderTarget(newViewer);
renderTarget.initialize();
renderTarget.addAxisGizmo();
return renderTarget;
}
}, [viewer]);
Expand Down

0 comments on commit 3aedf46

Please sign in to comment.