(self, node, additionalViews=())
| 653 | shutil.rmtree(tmpCache) |
| 654 | |
| 655 | def createViewpointsFile(self, node, additionalViews=()): |
| 656 | node.viewpointsFile = "" |
| 657 | if node.viewpoints or additionalViews: |
| 658 | newViews = [] |
| 659 | for path in additionalViews: # format additional views to match json format |
| 660 | newViews.append({"path": path}) |
| 661 | intrinsics = node.intrinsics.getPrimitiveValue(exportDefault=True) |
| 662 | for intrinsic in intrinsics: |
| 663 | intrinsic['principalPoint'] = [intrinsic['principalPoint']['x'], intrinsic['principalPoint']['y']] |
| 664 | intrinsic['undistortionOffset'] = [intrinsic['undistortionOffset']['x'], intrinsic['undistortionOffset']['y']] |
| 665 | intrinsic['undistortionType'] = 'none' |
| 666 | views = node.viewpoints.getPrimitiveValue(exportDefault=False) |
| 667 | |
| 668 | # convert the metadata string into a map |
| 669 | for view in views: |
| 670 | if 'metadata' in view: |
| 671 | view['metadata'] = json.loads(view['metadata']) |
| 672 | |
| 673 | sfmData = { |
| 674 | "version": [1, 2, 13], |
| 675 | "views": views + newViews, |
| 676 | "intrinsics": intrinsics, |
| 677 | "featureFolder": "", |
| 678 | "matchingFolder": "", |
| 679 | } |
| 680 | node.viewpointsFile = os.path.join(node.internalFolder, 'viewpoints.sfm') |
| 681 | with open(node.viewpointsFile, 'w') as f: |
| 682 | json.dump(sfmData, f, indent=4) |
| 683 | |
| 684 | def buildCommandLine(self, chunk): |
| 685 | cmd = desc.CommandLineNode.buildCommandLine(self, chunk) |
no test coverage detected