Get objects from the Blender ``Scene`` and output them into Sverchok's node tree. This node supports most object types. All are converted to a Sverchok representation of ``Mesh`` where possible.
Get objects from the Blender ``Scene`` and output them into Sverchok's node tree. This node supports most object types. All are converted to a Sverchok representation of ``Mesh`` where possible.
A few points worth stating explicitely.
A few points worth stating explicitly.
- Empties, Cameras, and Lamps produce only matrix data.
- Empties, Cameras, and Lamps produce only matrix data.
- The order of the selected Objects can be sorted by name.
- The order of the selected Objects can be sorted by name.
- It supports Object collections.
- It supports Object collections.
- It understands also ``vertex groups``, when activated, showing additional socket representing indices, that you can use for further processing. All groups are cached in one list _without_weights_.
- It understands also ``vertex groups``, when activated, showing additional socket representing indices, that you can use for further processing. All groups are cached in one list _without_weights_.
- When you ``Get`` objects from the Scene that have modifiers on them, you can import the final mesh by enableing the ``Post`` button.
- When you ``Get`` objects from the Scene that have modifiers on them, you can import the final mesh by enabling the ``Post`` button.
- Importing Objects with a lot of geometry will decrease Sverchok tree update speed, be careful with any modifiers that produce a lot of extra geometry (like subdivision modifier)
- Importing Objects with a lot of geometry will decrease Sverchok tree update speed, be careful with any modifiers that produce a lot of extra geometry (like subdivision modifier)
- The Matrix socket lets you ignore or acquire the Object's ``World Matrix``, by default the Object data is untransformed. Use a matrix-apply node if you want to explicitely transform the vertex data.
- The Matrix socket lets you ignore or acquire the Object's ``World Matrix``, by default the Object data is untransformed. Use a matrix-apply node if you want to explicitly transform the vertex data.
This node takes ``verts`` and ``edges`` and makes straight sections of Curve to represent them. Like a pipe, but without smooth transitions between pipes. Each edge is truely disjoint and the renderable geometry can overlap.
This node takes ``verts`` and ``edges`` and makes straight sections of Curve to represent them. Like a pipe, but without smooth transitions between pipes. Each edge is truly disjoint and the renderable geometry can overlap.
This is useful for quickly generating renderable lightweight geometry for scaffolding, beams, pillars, plynths, tubes, fences, neon signage.
This is useful for quickly generating renderable lightweight geometry for scaffolding, beams, pillars, plynths, tubes, fences, neon signage.
@@ -18,20 +18,20 @@ Built on the core of the original ViewerDraw, this version allows all of the fol
...
@@ -18,20 +18,20 @@ Built on the core of the original ViewerDraw, this version allows all of the fol
- Vertex, Edges, Faces displays can be toggled.
- Vertex, Edges, Faces displays can be toggled.
- Defining Normal of Brigtness Source (via N-Panel)
- Defining Normal of Brigtness Source (via N-Panel)
- ``Faux Transparancy`` via dotted edges or checkered polygons.
- ``Faux Transparancy`` via dotted edges or checkered polygons.
- ``ngons tesselation`` (via N-Panel) - see description below
- ``ngons tessellation`` (via N-Panel) - see description below
- bake and bake all. (via N-Panel, show bake interface is not on by default)
- bake and bake all. (via N-Panel, show bake interface is not on by default)
**draws using display lists**
**draws using display lists**
Uses OpenGL display list to cache the drawing function. This optimizes for rotating the viewport around static geometry. Changing the geometry clears the display cache, with big geometry inputs you may notice some lag on the initial draw + cache.
Uses OpenGL display list to cache the drawing function. This optimizes for rotating the viewport around static geometry. Changing the geometry clears the display cache, with big geometry inputs you may notice some lag on the initial draw + cache.
**ngons tesselation**
**ngons tessellation**
By default vdmk2 drawing routine fills all polygons using the standard ``GL_POLYGON``, which uses the triangle fan approach ( `see here <https://stackoverflow.com/a/8044252/1243487>`_ )
By default vdmk2 drawing routine fills all polygons using the standard ``GL_POLYGON``, which uses the triangle fan approach ( `see here <https://stackoverflow.com/a/8044252/1243487>`_ )
This is a fast way to draw large amounts of quads and triangles. This default (while faster) doesn't draw concave ngons correctly.
This is a fast way to draw large amounts of quads and triangles. This default (while faster) doesn't draw concave ngons correctly.
When enabled ``ngons tesselation`` will draw any Ngons using a slightly more involved but appropriate algorithm. The algorithm turns all ngons into individual triangles and fills them, edge drawing will be unchanged and still circumscribe the original polygon.
When enabled ``ngons tessellation`` will draw any Ngons using a slightly more involved but appropriate algorithm. The algorithm turns all ngons into individual triangles and fills them, edge drawing will be unchanged and still circumscribe the original polygon.
@@ -34,9 +34,9 @@ If, for example, you want to generate edges between vertices, you reference the
...
@@ -34,9 +34,9 @@ If, for example, you want to generate edges between vertices, you reference the
If we want to generate an object composed of 3 edges from the above ``vertex list`` we would end up with an edge list similar to this::
If we want to generate an object composed of 3 edges from the above ``vertex list`` we would end up with an edge list similar to this::
edges_list = [(0, 1), (1, 2), (2, 3)]
edges_list = [(0, 1), (1, 2), (2, 0)]
At a fundamental level sverchok works by using nodes to creat lists of values, then using other nodes to evaluate those lists and generate new lists. Eventually the results of the final list will be used to generate the output that will be passed to the viewport with a viewer node.
At a fundamental level sverchok works by using nodes to create lists of values, then using other nodes to evaluate those lists and generate new lists. Eventually the results of the final list will be used to generate the output that will be passed to the viewport with a viewer node.
This is why the nesting concept is fundamental in order to use Sverchok.
This is why the nesting concept is fundamental in order to use Sverchok.