Skip to content

Commit af7de45

Browse files
authored
Merge pull request #4 from bohdanbirdie/gh-pages
added onrender callback, added new props for classname
2 parents a37bbd2 + 369bcfd commit af7de45

File tree

12 files changed

+199
-130
lines changed

12 files changed

+199
-130
lines changed

.idea/workspace.xml

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

build/index.js

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49772,7 +49772,9 @@ var OBJViewer = function (_Component) {
4977249772
height = props.height,
4977349773
modelColor = props.modelColor,
4977449774
backgroundColor = props.backgroundColor,
49775-
orbitControls = props.orbitControls;
49775+
orbitControls = props.orbitControls,
49776+
onSceneRendered = props.onSceneRendered,
49777+
sceneClassName = props.sceneClassName;
4977649778

4977749779
var xDims = void 0,
4977849780
yDims = void 0,
@@ -49818,10 +49820,11 @@ var OBJViewer = function (_Component) {
4981849820
object.position.y = -95;
4981949821
scene.add(object);
4982049822

49821-
renderer = new THREE.WebGLRenderer({ preserveDrawingBuffer: true });
49823+
renderer = new THREE.WebGLRenderer({ preserveDrawingBuffer: true, antialias: true });
4982249824
renderer.setPixelRatio(window.devicePixelRatio);
4982349825
renderer.setClearColor(backgroundColor, 1);
4982449826
renderer.setSize(width, height);
49827+
renderer.domElement.className = sceneClassName;
4982549828

4982649829
if (orbitControls) {
4982749830
controls = new OrbitControls(camera, _reactDom2.default.findDOMNode(_this2));
@@ -49832,6 +49835,10 @@ var OBJViewer = function (_Component) {
4983249835
_reactDom2.default.findDOMNode(_this2).replaceChild(renderer.domElement, _reactDom2.default.findDOMNode(_this2).firstChild);
4983349836

4983449837
render();
49838+
49839+
if (typeof onSceneRendered === "function") {
49840+
onSceneRendered(_reactDom2.default.findDOMNode(renderer.domElement));
49841+
}
4983549842
};
4983649843

4983749844
var onError = function onError(xhr) {};
@@ -49920,14 +49927,17 @@ OBJViewer.propTypes = {
4992049927
width: _propTypes2.default.number,
4992149928
height: _propTypes2.default.number,
4992249929
backgroundColor: _propTypes2.default.string,
49923-
modelColor: _propTypes2.default.string
49930+
modelColor: _propTypes2.default.string,
49931+
sceneClassName: _propTypes2.default.string,
49932+
onSceneRendered: _propTypes2.default.func
4992449933
};
4992549934
OBJViewer.defaultProps = {
4992649935
backgroundColor: '#EAEAEA',
4992749936
modelColor: '#B92C2C',
4992849937
height: 400,
4992949938
width: 400,
49930-
orbitControls: true
49939+
orbitControls: true,
49940+
sceneClassName: ''
4993149941
};
4993249942
;
4993349943

@@ -70670,7 +70680,9 @@ var STLViewer = function (_Component) {
7067070680
height = props.height,
7067170681
modelColor = props.modelColor,
7067270682
backgroundColor = props.backgroundColor,
70673-
orbitControls = props.orbitControls;
70683+
orbitControls = props.orbitControls,
70684+
sceneClassName = props.sceneClassName,
70685+
onSceneRendered = props.onSceneRendered;
7067470686

7067570687
var xDims = void 0,
7067670688
yDims = void 0,
@@ -70717,6 +70729,7 @@ var STLViewer = function (_Component) {
7071770729
});
7071870730
renderer.setSize(width, height);
7071970731
renderer.setClearColor(backgroundColor, 1);
70732+
renderer.domElement.className = sceneClassName;
7072070733

7072170734
if (orbitControls) {
7072270735
controls = new OrbitControls(camera, _reactDom2.default.findDOMNode(component));
@@ -70727,6 +70740,10 @@ var STLViewer = function (_Component) {
7072770740
_reactDom2.default.findDOMNode(_this2).replaceChild(renderer.domElement, _reactDom2.default.findDOMNode(_this2).firstChild);
7072870741

7072970742
render();
70743+
70744+
if (typeof onSceneRendered === "function") {
70745+
onSceneRendered(_reactDom2.default.findDOMNode(renderer.domElement));
70746+
}
7073070747
};
7073170748

7073270749
var onProgress = function onProgress(xhr) {
@@ -70809,15 +70826,18 @@ STLViewer.propTypes = {
7080970826
width: _propTypes2.default.number,
7081070827
height: _propTypes2.default.number,
7081170828
backgroundColor: _propTypes2.default.string,
70812-
modelColor: _propTypes2.default.string
70829+
modelColor: _propTypes2.default.string,
70830+
sceneClassName: _propTypes2.default.string,
70831+
onSceneRendered: _propTypes2.default.func
7081370832
};
7081470833
STLViewer.defaultProps = {
7081570834
backgroundColor: '#EAEAEA',
7081670835
modelColor: '#B92C2C',
7081770836
height: 400,
7081870837
width: 400,
7081970838
rotate: true,
70820-
orbitControls: true
70839+
orbitControls: true,
70840+
sceneClassName: ''
7082170841
};
7082270842
;
7082370843

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-stl-obj-viewer",
3-
"version": "1.0.0",
3+
"version": "1.0.1",
44
"description": "React components to view STL and OBJ models.",
55
"main": "build/index.js",
66
"peerDependencies": {

src/OBJViewer.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ class OBJViewer extends Component {
1818
height: PropTypes.number,
1919
backgroundColor: PropTypes.string,
2020
modelColor: PropTypes.string,
21+
sceneClassName: PropTypes.string,
22+
onSceneRendered: PropTypes.func,
2123
};
2224

2325
static defaultProps = {
@@ -26,6 +28,7 @@ class OBJViewer extends Component {
2628
height: 400,
2729
width: 400,
2830
orbitControls: true,
31+
sceneClassName: '',
2932
};
3033

3134
constructor(props) {
@@ -43,7 +46,7 @@ class OBJViewer extends Component {
4346

4447
renderModel(props) {
4548
let camera, scene, renderer, controls;
46-
const {url, file, width, height, modelColor, backgroundColor, orbitControls} = props;
49+
const {url, file, width, height, modelColor, backgroundColor, orbitControls, onSceneRendered, sceneClassName} = props;
4750
let xDims, yDims, zDims;
4851

4952
camera = new THREE.PerspectiveCamera(30, width / height, 1, 10000);
@@ -87,10 +90,11 @@ class OBJViewer extends Component {
8790
object.position.y = -95;
8891
scene.add(object);
8992

90-
renderer = new THREE.WebGLRenderer({preserveDrawingBuffer: true});
93+
renderer = new THREE.WebGLRenderer({preserveDrawingBuffer: true, antialias: true});
9194
renderer.setPixelRatio(window.devicePixelRatio);
9295
renderer.setClearColor(backgroundColor, 1);
9396
renderer.setSize(width, height);
97+
renderer.domElement.className = sceneClassName;
9498

9599
if (orbitControls) {
96100
controls = new OrbitControls(camera, ReactDOM.findDOMNode(this));
@@ -104,6 +108,10 @@ class OBJViewer extends Component {
104108

105109

106110
render();
111+
112+
if (typeof onSceneRendered === "function") {
113+
onSceneRendered(ReactDOM.findDOMNode(renderer.domElement))
114+
}
107115
};
108116

109117
const onError = function (xhr) {

src/STLViewer.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ class STLViewer extends Component {
1818
height: PropTypes.number,
1919
backgroundColor: PropTypes.string,
2020
modelColor: PropTypes.string,
21+
sceneClassName: PropTypes.string,
22+
onSceneRendered: PropTypes.func,
2123
};
2224

2325
static defaultProps = {
@@ -27,6 +29,7 @@ class STLViewer extends Component {
2729
width: 400,
2830
rotate: true,
2931
orbitControls: true,
32+
sceneClassName: '',
3033
};
3134

3235
componentDidMount() {
@@ -35,7 +38,7 @@ class STLViewer extends Component {
3538

3639
renderModel(props) {
3740
let camera, scene, renderer, mesh, distance, controls;
38-
const {url, file, width, height, modelColor, backgroundColor, orbitControls} = props;
41+
const {url, file, width, height, modelColor, backgroundColor, orbitControls, sceneClassName, onSceneRendered} = props;
3942
let xDims, yDims, zDims;
4043
let component = this;
4144

@@ -83,6 +86,7 @@ class STLViewer extends Component {
8386
});
8487
renderer.setSize(width, height);
8588
renderer.setClearColor(backgroundColor, 1);
89+
renderer.domElement.className = sceneClassName;
8690

8791

8892
if (orbitControls) {
@@ -95,6 +99,10 @@ class STLViewer extends Component {
9599
ReactDOM.findDOMNode(this).firstChild);
96100

97101
render();
102+
103+
if (typeof onSceneRendered === "function") {
104+
onSceneRendered(ReactDOM.findDOMNode(renderer.domElement))
105+
}
98106
};
99107

100108
const onProgress = (xhr) => {

test-app/build/asset-manifest.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"main.css": "static/css/main.65027555.css",
33
"main.css.map": "static/css/main.65027555.css.map",
4-
"main.js": "static/js/main.32c4e3b3.js",
5-
"main.js.map": "static/js/main.32c4e3b3.js.map"
4+
"main.js": "static/js/main.89516218.js",
5+
"main.js.map": "static/js/main.89516218.js.map"
66
}

test-app/build/index.html

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1 @@
1-
<!DOCTYPE html>
2-
<html lang="en">
3-
<head>
4-
<meta charset="utf-8">
5-
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
6-
<meta name="theme-color" content="#000000">
7-
<link rel="manifest" href="/react-stl-obj-viewer/manifest.json">
8-
<link rel="shortcut icon" href="/react-stl-obj-viewer/favicon.ico">
9-
<title>React App</title>
10-
<link href="/react-stl-obj-viewer/static/css/main.65027555.css" rel="stylesheet">
11-
</head>
12-
<body>
13-
<noscript>You need to enable JavaScript to run this app.</noscript>
14-
<div id="root"></div>
15-
<script type="text/javascript" src="/react-stl-obj-viewer/static/js/main.32c4e3b3.js"></script>
16-
</body>
17-
</html>
1+
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><link rel="manifest" href="/react-stl-obj-viewer/manifest.json"><link rel="shortcut icon" href="/react-stl-obj-viewer/favicon.ico"><title>React App</title><link href="/react-stl-obj-viewer/static/css/main.65027555.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script type="text/javascript" src="/react-stl-obj-viewer/static/js/main.89516218.js"></script></body></html>

test-app/build/service-worker.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test-app/build/static/js/main.32c4e3b3.js

Lines changed: 0 additions & 2 deletions
This file was deleted.

test-app/build/static/js/main.89516218.js

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

0 commit comments

Comments
 (0)