Skip to content

Commit e8088cb

Browse files
authored
Merge pull request #561 from orionarcher/tiling
Add tiling to CrystalToolkitScene
2 parents 99b821d + 7ecca15 commit e8088cb

File tree

11 files changed

+1102
-254
lines changed

11 files changed

+1102
-254
lines changed

.babelrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
"plugins": [
44
"@babel/transform-runtime"
55
]
6-
}
6+
}

package-lock.json

Lines changed: 68 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
"react": "^16.14.0",
4545
"react-aria-menubutton": "^7.0.1",
4646
"react-collapsible": "^2.8.3",
47+
"react-compound-slider": "^3.4.0",
4748
"react-data-table-component": "^6.11.6",
4849
"react-dom": "^16.14.0",
4950
"react-graph-vis": "^1.0.5",

src/app.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { Sandbox } from './pages/Sandbox';
2222
import { SynthesisExplorer } from './pages/SynthesisExplorer';
2323
import { MPContribsSearch } from './pages/MPContribsSearch';
2424
import { CatalystExplorer } from './pages/CatalystExplorer';
25+
import { TilingVisualization } from './pages/TilingVisualization';
2526
import { Navbar } from './components/navigation/Navbar';
2627
import periodicTableImage from './assets/images/periodictable.png';
2728
import { MofExplorer } from './pages/MofExplorer';
@@ -45,6 +46,7 @@ ReactDOM.render(
4546
<Link to="/phasediagram">Phase Diagram</Link>
4647
<Link to="/contribs">Contributions</Link>
4748
<Link to="/crystal">Crystal Structure</Link>
49+
<Link to="/tiling">Tiling Visualization</Link>
4850
<Link to="/sandbox">Sandbox</Link>
4951
</div>
5052
<section>
@@ -85,6 +87,9 @@ ReactDOM.render(
8587
<Route path="/matscholar">
8688
<MatscholarMaterialsExplorer />
8789
</Route>
90+
<Route path="/tiling">
91+
<TilingVisualization />
92+
</Route>
8893
<Route path="/">
8994
<MaterialsExplorer />
9095
</Route>

src/components/crystal-toolkit/CrystalToolkitScene/CrystalToolkitScene.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,14 @@ export interface CrystalToolkitSceneProps {
107107
*/
108108
settings?: any;
109109

110+
/**
111+
* the dynamic tiling, to be updated in scene.
112+
*/
113+
tiling?: number[];
114+
/**
115+
* the maximum size of the tiling, controls render size
116+
*/
117+
maxTiling?: number;
110118
/**
111119
* Hide/show nodes in scene by its name (key), value is 1 to show the node
112120
* and 0 to hide it.
@@ -371,6 +379,8 @@ export const CrystalToolkitScene: React.FC<CrystalToolkitSceneProps> = ({
371379
props.settings,
372380
props.inletSize,
373381
props.inletPadding,
382+
props.tiling,
383+
props.maxTiling,
374384
(objects) => {
375385
if (props.onObjectClicked) {
376386
props.onObjectClicked(objects);
@@ -433,6 +443,9 @@ export const CrystalToolkitScene: React.FC<CrystalToolkitSceneProps> = ({
433443
() => scene.current!.updateInsetSettings(props.inletSize!, props.inletPadding!, props.axisView),
434444
[props.inletSize, props.inletPadding, props.axisView]
435445
);
446+
useEffect(() => {
447+
scene.current!.updateTiles(props.tiling);
448+
}, [props.tiling]);
436449

437450
useEffect(() => {
438451
scene.current!.resizeRendererToDisplaySize();

0 commit comments

Comments
 (0)