Skip to content

Commit

Permalink
feat(react-components): expose viewer options (#3468)
Browse files Browse the repository at this point in the history
* feat: expose viewer options in RevealContainer

* chore: bump package version
  • Loading branch information
christjt authored Jul 5, 2023
1 parent cb946e0 commit 15a4389
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 5 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.3.0",
"version": "0.4.0",
"exports": "./dist/index.js",
"types": "./dist/index.d.ts",
"type": "module",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*/
import { type CogniteClient } from '@cognite/sdk';
import { useEffect, useRef, type ReactNode, useState, type ReactElement } from 'react';
import { Cognite3DViewer } from '@cognite/reveal';
import { Cognite3DViewer, type Cognite3DViewerOptions } from '@cognite/reveal';
import { RevealContext } from './RevealContext';
import { type Color } from 'three';
import { ModelsLoadingStateContext } from '../Reveal3DResources/ModelsLoadingContext';
Expand All @@ -12,9 +12,24 @@ type RevealContainerProps = {
color?: Color;
sdk: CogniteClient;
children?: ReactNode;
viewerOptions?: Pick<
Cognite3DViewerOptions,
| 'antiAliasingHint'
| 'loadingIndicatorStyle'
| 'rendererResolutionThreshold'
| 'antiAliasingHint'
| 'ssaoQualityHint'
| 'pointCloudEffects'
| 'enableEdges'
>;
};

export function RevealContainer({ children, sdk, color }: RevealContainerProps): ReactElement {
export function RevealContainer({
children,
sdk,
color,
viewerOptions
}: RevealContainerProps): ReactElement {
const [viewer, setViewer] = useState<Cognite3DViewer>();
const revealDomElementRef = useRef<HTMLDivElement>(null);

Expand Down Expand Up @@ -45,7 +60,7 @@ export function RevealContainer({ children, sdk, color }: RevealContainerProps):
if (domElement === null) {
throw new Error('Failure in mounting RevealContainer to DOM.');
}
const viewer = new Cognite3DViewer({ sdk, domElement });
const viewer = new Cognite3DViewer({ ...viewerOptions, sdk, domElement });
viewer.setBackgroundColor({ color, alpha: 1 });
setViewer(viewer);
}
Expand Down
10 changes: 9 additions & 1 deletion react-components/stories/Reveal3DResources.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,15 @@ export const Main: Story = {
]
},
render: ({ resources }) => (
<RevealContainer sdk={sdk} color={new Color(0x4a4a4a)}>
<RevealContainer
sdk={sdk}
color={new Color(0x4a4a4a)}
viewerOptions={{
loadingIndicatorStyle: {
opacity: 1,
placement: 'topRight'
}
}}>
<Reveal3DResources resources={resources} />
<CameraController
initialFitCamera={{
Expand Down

0 comments on commit 15a4389

Please sign in to comment.