Skip to content

Commit 1483724

Browse files
authored
Merge pull request #47 from panter/clear-scene
Clear scene
2 parents d6c9070 + a4d7884 commit 1483724

File tree

4 files changed

+18
-5
lines changed

4 files changed

+18
-5
lines changed

components/lib/createArComponent.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ export default (Manager, propTypes = {}) => {
1616
});
1717
}
1818

19-
componentWillUpdate() {
19+
componentWillUpdate(props) {
2020
Manager.mount({
2121
id: this.identifier,
22-
...parseColorInProps(this.props),
22+
...parseColorInProps(props),
2323
});
2424
}
2525

ios/RCTARKit.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ - (void)pause {
8181

8282
- (void)resume {
8383
[self.session runWithConfiguration:self.configuration];
84+
[self.nodeManager clear];
8485
}
8586

8687
- (void)focusScene {

ios/RCTARKitNodes.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,6 @@ typedef NS_OPTIONS(NSUInteger, RFReferenceFrame) {
4242
- (SCNNode *)nodeForKey:(NSString *)key;
4343
- (void)removeNodeForKey:(NSString *)key;
4444
- (NSDictionary *)getSceneObjectsHitResult:(const CGPoint)tapPoint;
45-
45+
- (void)clear;
4646

4747
@end

ios/RCTARKitNodes.m

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,19 @@ - (void)addNodeToScene:(SCNNode *)node property:(NSDictionary *)property {
8989
}
9090
}
9191

92-
92+
- (void) clear {
93+
// clear scene
94+
NSArray*keys=[self.nodes allKeys];
95+
96+
for(id key in keys) {
97+
id node = [self.nodes objectForKey:key];
98+
if(node) {
99+
[node removeFromParentNode];
100+
}
101+
102+
}
103+
[self.nodes removeAllObjects];
104+
}
93105

94106
- (void)addNodeToLocalFrame:(SCNNode *)node property:(NSDictionary *)property {
95107
node.position = [self getPositionFromProperty:property inReferenceFrame:RFReferenceFrameLocal];
@@ -105,7 +117,7 @@ - (void)addNodeToLocalFrame:(SCNNode *)node property:(NSDictionary *)property {
105117
if(property[@"rotation"]) {
106118
node.orientation = makeQuaternionFromDict(property[@"rotation"]);
107119
}
108-
120+
109121
node.referenceFrame = RFReferenceFrameLocal;
110122

111123
NSString *key = [NSString stringWithFormat:@"%@", property[@"id"]];

0 commit comments

Comments
 (0)