-
Notifications
You must be signed in to change notification settings - Fork 0
/
planeDetection.java
30 lines (25 loc) · 1002 Bytes
/
planeDetection.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Imperative approach using Java.
// The Objective C pattern would look very similar to this.
final ARScene scene = new ARScene();
scene.setListener(new ARScene.Listener() {
public void onAnchorFound(ARAnchor anchor, ARNode arNode) {
// Make sure anchor is a place
if (anchor.getType() == ARAnchor.Typea.PLANE) {
ARPlaneAnchor planeAnchor = (ARPlaneAnchor) anchor;
// Ensure this is a horizontal plane of the right size
if (planeAnchor.getAlignment() == ARPlaneAnchor.Alignment.HORIZONTAL &&
planeAnchor.getWidth() > 1.0 && planeAnchor.getHeight() > 1.0) {
Object3D dinosaur = new Object3D();
dinosaur.loadModel("file://android-asset/dinosaur.fbx", Object3D.Type.FBS);
arNode.addChildNode(dinosaur);
}
}
}
});
// What it would look like it React (declarative)
<ViroARPlane minHeight={1.0} minWidth={1.0} alignment="Horizontal">
<Viro3DObject
source={require("./res/dinosaur.vrx")}
type="VRX"
/>
</ViroARPlane>