예제 #1
0
    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()
예제 #2
0
파일: kUtility.py 프로젝트: lvyuedong/demo
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
예제 #3
0
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