mfessenden / Scenegraph
PySide scene graph UI framework.
Stars: ✭ 118
Programming Languages
python
139335 projects - #7 most used programming language
Projects that are alternatives of or similar to Scenegraph
Pyvfx Boilerplate
A boilerplate for creating PySide/PyQt or PySide2/PyQt5 applications running inside of Maya, Nuke and standalone - using Python 2 or 3.
Stars: ✭ 131 (+11.02%)
Mutual labels: maya, pyside
TACTIC-Handler
PySide based TACTIC client for maya, nuke, 3dsmax, houdini, etc
Stars: ✭ 67 (-43.22%)
Mutual labels: pyside, maya
Nodegraphqt
Node graph framework that can be re-implemented into applications that supports PySide2
Stars: ✭ 401 (+239.83%)
Mutual labels: pyside
Qtpy
Provides an uniform layer to support PyQt5, PySide2, PyQt4 and PySide with a single codebase
Stars: ✭ 492 (+316.95%)
Mutual labels: pyside
Mayamatchmovesolver
A Bundle Adjustment solver for MatchMove related tasks.
Stars: ✭ 50 (-57.63%)
Mutual labels: maya
Gparticlesio
Simple IO transfer particles cache in DCC application
Stars: ✭ 8 (-93.22%)
Mutual labels: maya
Web2executable
Uses NW.js to generate "native" apps for already existing web apps.
Stars: ✭ 824 (+598.31%)
Mutual labels: pyside
Picacg Windows
哔咔漫画window客户端,界面使用PySide2,已实现分类、搜索、收藏夹、下载、在线观看、waifu2x等功能。
Stars: ✭ 35 (-70.34%)
Mutual labels: pyside
Unity Runtime Animation Recorder
Record animations in Unity runtime. Can save to .anim, maya, or FBX ASCII format.
Stars: ✭ 407 (+244.92%)
Mutual labels: maya
Qt Python Binding Examples
Lots of simple and Pythonic PySide demos
Stars: ✭ 312 (+164.41%)
Mutual labels: pyside
Qt.py
Minimal Python 2 & 3 shim around all Qt bindings - PySide, PySide2, PyQt4 and PyQt5.
Stars: ✭ 684 (+479.66%)
Mutual labels: pyside
SceneGraph
SceneGraph is a fast & flexible framework for visualizing node graphs using in visual effects DCCs using PySide. Scenes can be saved and loaded in a variety of applications, and users can easily add their own nodes to suit their needs.
===== Usage
Launching the interface:
from SceneGraph import scenegraph
sgui = scenegraph.SceneGraphUI()
sgui.show()
# access the node graph
graph = sgui.graph
# list all node names
node_names = graph.node_names()
# get all of the node widgets from the GraphicsScene
scene = sgui.view.scene()
nodes = scene.nodes()
# query all of the current dag nodes
dags = graph.nodes()
# return a named dag node
dagnode = graph.get_node('node1')
# get node attributes
dagnode.getNodeAttributes()
# set arbitrary attributes
dagnode.setNodeAttributes(env='maya', version='2014')
# querying widgets
# get an output connection widget
c_output=n1.get_connection('output')
# query an edge
e1=scene.get_edge('node1.output', 'node2.input')[0]
# get edge source item (Connection)
e1.source_item
# get connected nodes from an edge
e1.listConnections()
Maya Usage:
from SceneGraph import scenegraph_maya
scenegraph_maya.main()
Nuke Usage:
from SceneGraph import scenegraph_nuke
scenegraph_nuke.main()
SceneGraph API:
# create a graph
from SceneGraph import core
g=core.Graph()
# query the currently loaded node types
node_types = g.node_types()
# add some default nodes
n1 = g.add_node('default', name='node1')
n2 = g.add_node('default', name='node2')
# query node connections
if n1.is_input_connection:
conn = n1.output_connections()
# add a new input and output attribute
n1.add_input(name='fileIn')
# connect the nodes (default output/inputs assumed)
e1 = g.add_edge(n1, n2)
# connect with a connection string
e1 = g.connect('node1.output', 'node2.input')
# write the graph
g.write('~/graphs/my_graph.json')
# query all nodes in the graph
print g.nodes()
# query all node names
print g.node_names()
# query all connections
print g.connections()
# Updating Attributes
from SceneGraph import core
g = core.Graph()
d = g.add_node('default')
m = g.add_node('merge')
g.add_edge(d, m, dest_attr='inputA')
m.rename_connection('inputA', 'newInput')
Advanced API:
# add attributes to a dag node, flag it as an input connection
attr=n1.addAttr('env', value='maya', input=True)
# set the value via the node
n1.env = 'nuke'
# set the value via the attribute instance
attr.value = 'houdini'
Dependencies:
- Python 2.7
- simplejson
- NetworkX 1.9.1
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].