def __viewNodeChangedEvent(self, node): viewedTime = NodegraphAPI.GetCurrentTime() viewedNode = NodegraphAPI.GetViewNode() print "viewNode ---> ", viewedNode if not viewedNode: self.__runtime = None self.__client = None return self.__runtime = FnGeolib.GetRegisteredRuntimeInstance() txn = self.__runtime.createTransaction() op = Nodes3DAPI.GetOp(txn, viewedNode, viewedTime) if not op: self.__runtime = None return self.__client = txn.createClient() txn.setClientOp(self.__client, op) self.__runtime.commit(txn) self.__setLocations()
def getRenderCamera(): ''' this method traverse upstream from the current viewed node to find the renderSettings node, then retrive the cameraName location from the renderSettings. If multiple renderSettings exists, we only use the first encounter. ''' view_node = NodegraphAPI.GetViewNode() render_setting = kcf.ng_traverseUp(view_node, 'RenderSettings') if not render_setting: return None # we get camera matrix only from the first renderSettings cam_location = render_setting[0].getParameter('args.renderSettings.cameraName.value').getValue(0) #cam_matrix = kcf.getWorldXform(cam_location) return cam_location
def getAll(): node = NodegraphAPI.GetViewNode() runtime = FnGeolib.GetRegisteredRuntimeInstance() txn = runtime.createTransaction() client = txn.createClient() op = Nodes3DAPI.GetOp(txn, node) txn.setClientOp(client, op) runtime.commit(txn) locationPathsAndData = [] traversal = FnGeolib.Util.Traversal(client, "/root") while traversal.valid(): locationPathsAndData.append( (traversal.getLocationPath(), traversal.getLocationData())) traversal.next() for i in locationPathsAndData: print i