(self, viewId)
| 788 | # RpcName: removeViewObserver => viewport.geometry.view.observer.remove |
| 789 | @exportRpc("viewport.geometry.view.observer.remove") |
| 790 | def removeViewObserver(self, viewId): |
| 791 | sView = self.getView(viewId) |
| 792 | if not sView: |
| 793 | return {"error": "Unable to get view with id %s" % viewId} |
| 794 | |
| 795 | realViewId = self.getApplication().GetObjectIdMap().GetGlobalId(sView) |
| 796 | |
| 797 | observerInfo = None |
| 798 | if realViewId in self.trackingViews: |
| 799 | observerInfo = self.trackingViews[realViewId] |
| 800 | |
| 801 | if not observerInfo: |
| 802 | return {"error": "Unable to find subscription for view %s" % realViewId} |
| 803 | |
| 804 | observerInfo["observerCount"] -= 1 |
| 805 | |
| 806 | if observerInfo["observerCount"] <= 0: |
| 807 | for tag in observerInfo["tags"]: |
| 808 | self.getApplication().RemoveObserver(tag) |
| 809 | del self.trackingViews[realViewId] |
| 810 | |
| 811 | return {"result": "success"} |
| 812 | |
| 813 | # RpcName: getViewState => viewport.geometry.view.get.state |
| 814 | @exportRpc("viewport.geometry.view.get.state") |
nothing calls this directly
no test coverage detected