Skip to content

Commit

Permalink
chore: factor out common function for updating resource count
Browse files Browse the repository at this point in the history
  • Loading branch information
haakonflatval-cognite committed Jul 1, 2024
1 parent 64aad4b commit 01fec94
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { type CadModelStyling, useApplyCadModelStyling } from './useApplyCadMode
import { useReveal3DResourcesCount } from '../Reveal3DResources/Reveal3DResourcesCountContext';
import { isEqual } from 'lodash';
import { modelExists } from '../../utilities/modelExists';
import { getViewerResourceCount } from '../../utilities/getViewerResourceCount';

export type CogniteCadModelProps = {
addModelOptions: AddModelOptions;
Expand Down Expand Up @@ -44,7 +45,7 @@ export function CadModelContainer({
addModel(addModelOptions, transform)
.then((model) => {
onLoad?.(model);
setRevealResourcesCount(viewer.models.length + viewer.get360ImageCollections().length);
setRevealResourcesCount(getViewerResourceCount(viewer));
})
.catch((error) => {
const errorReportFunction = onLoadError ?? defaultLoadErrorHandler;
Expand Down Expand Up @@ -98,7 +99,7 @@ export function CadModelContainer({
return;

viewer.removeModel(model);
setRevealResourcesCount(viewer.models.length + viewer.get360ImageCollections().length);
setRevealResourcesCount(getViewerResourceCount(viewer));
setModel(undefined);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import {
DEFAULT_IMAGE360_ICON_CULLING_RADIUS
} from './constants';
import { useReveal3DResourcesCount } from '../Reveal3DResources/Reveal3DResourcesCountContext';
import { getViewerResourceCount } from '../../utilities/getViewerResourceCount';

type Image360CollectionContainerProps = {
addImage360CollectionOptions: AddImage360CollectionOptions;
Expand Down Expand Up @@ -84,7 +85,7 @@ export function Image360CollectionContainer({

modelRef.current = image360Collection;
onLoad?.(image360Collection);
setRevealResourcesCount(viewer.models.length + viewer.get360ImageCollections().length);
setRevealResourcesCount(getViewerResourceCount(viewer));
})
.catch((error: any) => {
const errorReportFunction = onLoadError ?? defaultLoadErrorHandler;
Expand Down Expand Up @@ -124,7 +125,7 @@ export function Image360CollectionContainer({
return;

viewer.remove360ImageSet(modelRef.current);
setRevealResourcesCount(viewer.models.length + viewer.get360ImageCollections().length);
setRevealResourcesCount(getViewerResourceCount(viewer));
modelRef.current = undefined;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
type PointCloudModelStyling
} from './useApplyPointCloudStyling';
import { modelExists } from '../../utilities/modelExists';
import { getViewerResourceCount } from '../../utilities/getViewerResourceCount';

export type CognitePointCloudModelProps = {
addModelOptions: AddModelOptions;
Expand Down Expand Up @@ -47,7 +48,7 @@ export function PointCloudContainer({
addModel(modelId, revisionId, transform)
.then((pointCloudModel) => {
onLoad?.(pointCloudModel);
setRevealResourcesCount(viewer.models.length + viewer.get360ImageCollections().length);
setRevealResourcesCount(getViewerResourceCount(viewer));
})
.catch((error) => {
const errorHandler = onLoadError ?? defaultLoadErrorHandler;
Expand Down Expand Up @@ -101,7 +102,7 @@ export function PointCloudContainer({
return;

viewer.removeModel(model);
setRevealResourcesCount(viewer.models.length + viewer.get360ImageCollections().length);
setRevealResourcesCount(getViewerResourceCount(viewer));
setModel(undefined);
}
}
Expand Down
8 changes: 8 additions & 0 deletions react-components/src/utilities/getViewerResourceCount.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/*!
* Copyright 2024 Cognite AS
*/
import { type Cognite3DViewer } from '@cognite/reveal';

export function getViewerResourceCount(viewer: Cognite3DViewer): number {
return viewer.models.length + viewer.get360ImageCollections().length;
}

0 comments on commit 01fec94

Please sign in to comment.