From c386a6af9781a3ba47665ad783c418b4cf1dcc04 Mon Sep 17 00:00:00 2001 From: satabol Date: Sun, 11 Sep 2022 22:17:33 +0300 Subject: [PATCH] Update Vector/* docs and menu tooltips --- docs/nodes/generator/cylinder_mk2.rst | 93 ++++++++------- docs/nodes/generator/line_mk4.rst | 6 +- docs/nodes/generator/ngon.rst | 8 ++ docs/nodes/generator/segment.rst | 5 +- docs/nodes/vector/attractor.rst | 50 +++++++- docs/nodes/vector/axis_input_mk2.rst | 10 +- docs/nodes/vector/drop.rst | 28 ++++- docs/nodes/vector/fractal.rst | 19 ++- docs/nodes/vector/interpolation_mk3.rst | 39 +++++- docs/nodes/vector/interpolation_stripes.rst | 48 +++++++- docs/nodes/vector/lerp.rst | 56 +++++++-- docs/nodes/vector/math_mk3.rst | 29 +++-- docs/nodes/vector/noise_mk3.rst | 111 +++++++++++++++--- docs/nodes/vector/quad_grid.rst | 14 +++ docs/nodes/vector/turbulence.rst | 27 ++++- docs/nodes/vector/variable_lacunarity.rst | 13 +- docs/nodes/vector/vector_in.rst | 49 ++++++-- docs/nodes/vector/vector_index.rst | 29 +++-- docs/nodes/vector/vector_out.rst | 29 +++-- docs/nodes/vector/vector_polar_in.rst | 57 +++++++-- docs/nodes/vector/vector_polar_out.rst | 16 ++- docs/nodes/vector/vector_rewire.rst | 30 ++++- docs/nodes/vector/vertices_delete_doubles.rst | 14 ++- docs/nodes/vector/vertices_sort.rst | 98 +++++++++++----- nodes/vector/attractor.py | 9 +- nodes/vector/axis_input_mk2.py | 6 +- nodes/vector/drop.py | 5 +- nodes/vector/fractal.py | 6 +- nodes/vector/interpolation_mk3.py | 2 +- nodes/vector/interpolation_stripes.py | 13 +- nodes/vector/lerp.py | 6 +- nodes/vector/math_mk3.py | 16 ++- nodes/vector/noise_mk3.py | 4 +- nodes/vector/quad_grid.py | 2 +- nodes/vector/turbulence.py | 6 +- nodes/vector/variable_lacunarity.py | 8 +- nodes/vector/vector_in.py | 9 +- nodes/vector/vector_out.py | 10 +- nodes/vector/vector_polar_in.py | 7 +- nodes/vector/vector_polar_out.py | 2 +- nodes/vector/vector_rewire.py | 6 +- nodes/vector/vertices_delete_doubles.py | 8 +- nodes/vector/vertices_sort.py | 9 +- 43 files changed, 792 insertions(+), 220 deletions(-) diff --git a/docs/nodes/generator/cylinder_mk2.rst b/docs/nodes/generator/cylinder_mk2.rst index 4fdd6055ac..6067ac8f36 100644 --- a/docs/nodes/generator/cylinder_mk2.rst +++ b/docs/nodes/generator/cylinder_mk2.rst @@ -32,56 +32,61 @@ Parameters The **Separate**, **Cap T**, **Cap B**, **Center** and the **Angle Units** can be given by the node only. The other parameters can take values either from the node or the external nodes. -+-----------------------+---------+---------+-------------------------------------------------------+ -| Param | Type | Default | Description | -+=======================+=========+=========+=======================================================+ -| **Radius Top** | Float | 1.00 | The radius of the top parallel. | -+-----------------------+---------+---------+-------------------------------------------------------+ -| **Radius Bottom** | Float | 1.00 | The radius of the bottom parallel. | -+-----------------------+---------+---------+-------------------------------------------------------+ -| **Parallels** | Int | 2 | The number of parallel lines. | -| | | | This is also the number of points in a meridian. | -+-----------------------+---------+---------+-------------------------------------------------------+ -| **Meridians** | Int | 32 | The number of meridian lines. | -| | | | This is also the number of points in a parallel. | -+-----------------------+---------+---------+-------------------------------------------------------+ -| **Height** | Float | 2.00 | The height of the cylinder. | -+-----------------------+---------+---------+-------------------------------------------------------+ -| **Twist** | Float | 0.0 | The amount of rotation around the z-axis of the | -| | | | parallel lines from the bottom to the top parallel. | -+-----------------------+---------+---------+-------------------------------------------------------+ -| **Phase** | Float | 0.0 | The amount of rotation around the z-axis of all the | -| | | | vertices in the mesh. | -+-----------------------+---------+---------+-------------------------------------------------------+ -| **Parallels Profile** | [Float] | [ ] | The scale modulating the radius of the parallels. [1] | -+-----------------------+---------+---------+-------------------------------------------------------+ -| **Meridians Profile** | [Float] | [ ] | The scale modulating the radius of the meridians. [1] | -+-----------------------+---------+---------+-------------------------------------------------------+ -| **Caps T** | Boolean | True | Generate the top cap or not. | -+-----------------------+---------+---------+-------------------------------------------------------+ -| **Caps B** | Boolean | True | Generate the bottom cap or not. | -+-----------------------+---------+---------+-------------------------------------------------------+ -| **Separate** | Boolean | False | Separate the parallels into separate lists. [2] | -+-----------------------+---------+---------+-------------------------------------------------------+ -| **Center** | Boolean | True | Center the cylinder around the origin. | -+-----------------------+---------+---------+-------------------------------------------------------+ -| **Angle Units** | Enum | RAD | The **Twist** and **Phase** angles are interpreted as | -| | RAD | | RAD : Radians [0, 2*pi] | -| | DEG | | DEG : Degrees [0, 360] | -| | UNI | | UNI : Unities [0, 1] | -+-----------------------+---------+---------+-------------------------------------------------------+ ++-----------------------+---------+---------+-----------------------------------------------------------+ +| Param | Type | Default | Description | ++=======================+=========+=========+===========================================================+ +| **Radius Top** | Float | 1.00 | The radius of the top parallel. | ++-----------------------+---------+---------+-----------------------------------------------------------+ +| **Radius Bottom** | Float | 1.00 | The radius of the bottom parallel. | ++-----------------------+---------+---------+-----------------------------------------------------------+ +| **Parallels** | Int | 2 | The number of parallel lines. | +| | | | | +| | | | This is also the number of points in a meridian. | ++-----------------------+---------+---------+-----------------------------------------------------------+ +| **Meridians** | Int | 32 | The number of meridian lines. | +| | | | | +| | | | This is also the number of points in a parallel. | ++-----------------------+---------+---------+-----------------------------------------------------------+ +| **Height** | Float | 2.00 | The height of the cylinder. | ++-----------------------+---------+---------+-----------------------------------------------------------+ +| **Twist** | Float | 0.0 | The amount of rotation around the z-axis of the | +| | | | | +| | | | parallel lines from the bottom to the top parallel. | ++-----------------------+---------+---------+-----------------------------------------------------------+ +| **Phase** | Float | 0.0 | The amount of rotation around the z-axis of all the | +| | | | | +| | | | vertices in the mesh. | ++-----------------------+---------+---------+-----------------------------------------------------------+ +| **Parallels Profile** | [Float] | [ ] | The scale modulating the radius of the parallels. **[1]** | ++-----------------------+---------+---------+-----------------------------------------------------------+ +| **Meridians Profile** | [Float] | [ ] | The scale modulating the radius of the meridians. **[1]** | ++-----------------------+---------+---------+-----------------------------------------------------------+ +| **Caps T** | Boolean | True | Generate the top cap or not. | ++-----------------------+---------+---------+-----------------------------------------------------------+ +| **Caps B** | Boolean | True | Generate the bottom cap or not. | ++-----------------------+---------+---------+-----------------------------------------------------------+ +| **Separate** | Boolean | False | Separate the parallels into separate lists. **[2]** | ++-----------------------+---------+---------+-----------------------------------------------------------+ +| **Center** | Boolean | True | Center the cylinder around the origin. | ++-----------------------+---------+---------+-----------------------------------------------------------+ +| **Angle Units** | Enum | RAD | The **Twist** and **Phase** angles are interpreted as | +| | | | | +| | * RAD | | * RAD : Radians [0.0, 2*pi] | +| | * DEG | | * DEG : Degrees [0.0, 360.0] | +| | * UNI | | * UNI : Unities [0.0, 1.0] | ++-----------------------+---------+---------+-----------------------------------------------------------+ Notes: -[1] : If connected the profiles need to have lists of at least 2 values. -[2] : This splits the verts, edges, and polys into separate parallel sections. + +* **[1]** : If connected the profiles need to have lists of at least 2 values. +* **[2]** : This splits the verts, edges, and polys into separate parallel sections. Extended Parameters ------------------- The Property Panel provides additional parameters. -**Cyclic** -This parameter is used for treating the connected **Parallels Profile** as a cyclic spline curve and it is useful to ensure smooth parallel curves whenever there's discontinuity in the value and/or in the tangent of the starting/ending points of the profile. +* **Cyclic** This parameter is used for treating the connected **Parallels Profile** as a cyclic spline curve and it is useful to ensure smooth parallel curves whenever there's discontinuity in the value and/or in the tangent of the starting/ending points of the profile. Outputs @@ -93,6 +98,9 @@ Depending on the type of the inputs the node will generate only one or multiples If **Separate** is True, the node will output the parallel sections as separate lists (verts, edges and polys). +.. image:: https://user-images.githubusercontent.com/14288520/189488345-2daba527-0aa0-463d-bd0d-4dfbbc0d59af.png + :target: https://user-images.githubusercontent.com/14288520/189488345-2daba527-0aa0-463d-bd0d-4dfbbc0d59af.png + **Examples** .. image:: https://user-images.githubusercontent.com/14288520/188701121-947eabdc-b13d-45f6-9ea5-4204162a0c97.png @@ -109,4 +117,5 @@ See also -------- Example of a manual meridian profile: + * Number-> :doc:`Curve Mapper ` \ No newline at end of file diff --git a/docs/nodes/generator/line_mk4.rst b/docs/nodes/generator/line_mk4.rst index 33c6b87011..445f6d5b8b 100644 --- a/docs/nodes/generator/line_mk4.rst +++ b/docs/nodes/generator/line_mk4.rst @@ -43,11 +43,15 @@ Parameters | Param | Type | Default | Description | +===============+=====================+==============+=========================================================+ | **Direction** | Enum: | "X" | * X/Y/Z - Ortho direction | +| | | | | | | X/Y/Z/OP/OD | | * OP - Origin and point on line | | | | | * OD - Origin and Direction | +---------------+---------------------+--------------+---------------------------------------------------------+ | **Length** | Enum: | "Size" | Method of line size determination | -| | Size/Num/Step/St+Si | | | +| | | | | +| | Size/Num/Step/ | | | +| | | | | +| | St+Si | | | +---------------+---------------------+--------------+---------------------------------------------------------+ | **Center** | Boolean | False | center line in origin | +---------------+---------------------+--------------+---------------------------------------------------------+ diff --git a/docs/nodes/generator/ngon.rst b/docs/nodes/generator/ngon.rst index f47c3468bf..6244010eb6 100644 --- a/docs/nodes/generator/ngon.rst +++ b/docs/nodes/generator/ngon.rst @@ -49,14 +49,19 @@ All parameters can be given by the node or an external input. | Param | Type | Default | Description | +================+===============+=============+=============================================================+ | **Radius** | Float | 1.00 | Radius of escribed circle. When ``RandomR`` is zero, | +| | | | | | | | | then all vertices will be at this distance from origin. | +----------------+---------------+-------------+-------------------------------------------------------------+ | **N Sides** | Int | 5 | Number of sides of polygon to generate. With higher | +| | | | | | | | | values and ``Shift`` = 0, ``RandomR`` = 0, ``RandomPhi`` | +| | | | | | | | | = 0, you will get the same output as from Circle node. | +----------------+---------------+-------------+-------------------------------------------------------------+ | **Divisions** | Int | 1 | Divide each side of the polygon to specified number of | +| | | | | | | | | segments. For example, with ``Divisions`` = 2, there will | +| | | | | | | | | be an additional vertex at the middle of each side. | +----------------+---------------+-------------+-------------------------------------------------------------+ | **RandomR** | Float | 0.0 | Amplitude of randomization of vertices along radius. | @@ -67,8 +72,11 @@ All parameters can be given by the node or an external input. | | | | ``RandomPhi`` != 0. | +----------------+---------------+-------------+-------------------------------------------------------------+ | **Shift** | Int | 0 | Also known as "star factor". When this is zero, each vertex | +| | | | | | | | | is connected by edge to next one, and you will get usual | +| | | | | | | | | polygon. Otherwise, n'th vertex will be connected to | +| | | | | | | | | (n+shift+1)'th. In this case, you will get sort of star. | +----------------+---------------+-------------+-------------------------------------------------------------+ diff --git a/docs/nodes/generator/segment.rst b/docs/nodes/generator/segment.rst index e68893fe87..bdc4af88ca 100644 --- a/docs/nodes/generator/segment.rst +++ b/docs/nodes/generator/segment.rst @@ -34,7 +34,8 @@ Parameters | Param | Type | Default | Description | +===============+===============+==============+=========================================================+ | **Cute modes**| Enum | "Cuts" | **Cuts** - cut line evenly | -| | | | **Steps** - cut line proportionally by given steps | +| | | | | +| | Cuts/Steps | | **Steps** - cut line proportionally by given steps | +---------------+---------------+--------------+---------------------------------------------------------+ | **Split to | Boolean | | | | objects** | (N panel) | True       | Each line will be put to separate object any way | @@ -63,7 +64,7 @@ The AB mode will output a divided segment for each vector pair, the step can be .. image:: https://user-images.githubusercontent.com/14288520/188512296-6287d7eb-ae38-4087-9a31-1fe433deea93.gif :target: https://user-images.githubusercontent.com/14288520/188512296-6287d7eb-ae38-4087-9a31-1fe433deea93.gif -* Modifiers->Modifier Make :doc:`UV Connections ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` * Modifiers->Modifier Make :doc:`WireFrame ` * Viz-> :doc:`Viewer Draw ` * Text-> :doc:`Stethoscope ` diff --git a/docs/nodes/vector/attractor.rst b/docs/nodes/vector/attractor.rst index a7ca5122c8..0f40df1ed4 100644 --- a/docs/nodes/vector/attractor.rst +++ b/docs/nodes/vector/attractor.rst @@ -1,6 +1,9 @@ Vectors Attraction ================== +.. image:: https://user-images.githubusercontent.com/14288520/189442071-9b5734dc-8702-4bfb-8b0c-d1d63531b502.png + :target: https://user-images.githubusercontent.com/14288520/189442071-9b5734dc-8702-4bfb-8b0c-d1d63531b502.png + Functionality ------------- @@ -83,25 +86,60 @@ Examples of usage Most obvious case, just a plane attracted by single point: -.. image:: https://cloud.githubusercontent.com/assets/284644/23908413/28c3d12a-08fe-11e7-9995-58fef78910b3.png +.. image:: https://user-images.githubusercontent.com/14288520/189442196-a246ba9d-1852-4b88-93ac-d01748d698a6.png + :target: https://user-images.githubusercontent.com/14288520/189442196-a246ba9d-1852-4b88-93ac-d01748d698a6.png + +* Generator-> :doc:`Plane ` +* Vector-> :doc:`Vector In ` +* Transform-> :doc:`Move ` +* Viz-> :doc:`Viewer Draw ` Plane attracted by single point, with Clamp unchecked: -.. image:: https://cloud.githubusercontent.com/assets/284644/24082405/3b84b186-0cef-11e7-94d6-c58d4fcd62e9.png +.. image:: https://user-images.githubusercontent.com/14288520/189442237-8847f013-e8db-4f07-baba-7ca61cc48a54.png + :target: https://user-images.githubusercontent.com/14288520/189442237-8847f013-e8db-4f07-baba-7ca61cc48a54.png + +* Generator-> :doc:`Plane ` +* Vector-> :doc:`Vector In ` +* Transform-> :doc:`Move ` +* Viz-> :doc:`Viewer Draw ` Not so obvious, plane attracted by circle (red points): -.. image:: https://cloud.githubusercontent.com/assets/284644/23908410/283bd220-08fe-11e7-96e3-7b895a801e8e.png +.. image:: https://user-images.githubusercontent.com/14288520/189442273-3dd6fc22-3aaa-45f9-bbad-a0cf277ce5b2.png + :target: https://user-images.githubusercontent.com/14288520/189442273-3dd6fc22-3aaa-45f9-bbad-a0cf277ce5b2.png + +* Generator-> :doc:`Circle ` +* Generator-> :doc:`Plane ` +* Transform-> :doc:`Move ` +* Viz-> :doc:`Viewer Draw ` Coefficients can be used without directions: -.. image:: https://cloud.githubusercontent.com/assets/284644/23908414/28d14b02-08fe-11e7-8bb5-585a6226c4f1.png +.. image:: https://user-images.githubusercontent.com/14288520/189442305-c6a53789-56be-4927-bdda-7671ac23df0a.png + :target: https://user-images.githubusercontent.com/14288520/189442305-c6a53789-56be-4927-bdda-7671ac23df0a.png + +* Generator-> :doc:`Plane ` +* Vector-> :doc:`Vector In ` +* Analyzers-> :doc:`Component Analyzer ` +* Modifier->Modifier Change-> :doc:`Extrude Separate Faces ` Torus attracted by a line along X axis: -.. image:: https://cloud.githubusercontent.com/assets/284644/23908411/28ab67ac-08fe-11e7-8659-5ebb90771864.png +.. image:: https://user-images.githubusercontent.com/14288520/189442343-9454a24b-796f-4cb7-ade8-82f61bcc16bc.png + :target: https://user-images.githubusercontent.com/14288520/189442343-9454a24b-796f-4cb7-ade8-82f61bcc16bc.png + +* Generator-> :doc:`Torus ` +* Vector-> :doc:`Vector In ` +* Transform-> :doc:`Move ` +* Viz-> :doc:`Viewer Draw ` Sphere attracted by a plane: -.. image:: https://cloud.githubusercontent.com/assets/284644/23908415/28e0d950-08fe-11e7-8695-3aa3bd249710.png +.. image:: https://user-images.githubusercontent.com/14288520/189442379-e73afdc2-54c5-4721-90bc-9e69a0470fb9.png + :target: https://user-images.githubusercontent.com/14288520/189442379-e73afdc2-54c5-4721-90bc-9e69a0470fb9.png +* Generator-> :doc:`IcoSphere ` +* Transform-> :doc:`Move ` +* Vector-> :doc:`Vector In ` +* Viz-> :doc:`Viewer Draw ` \ No newline at end of file diff --git a/docs/nodes/vector/axis_input_mk2.rst b/docs/nodes/vector/axis_input_mk2.rst index 1b9dd73540..9a9d0874da 100644 --- a/docs/nodes/vector/axis_input_mk2.rst +++ b/docs/nodes/vector/axis_input_mk2.rst @@ -1,6 +1,9 @@ Vector X | Y | Z ================ +.. image:: https://user-images.githubusercontent.com/14288520/189370754-8f8083e2-75b9-4c55-af21-a7bda06349af.png + :target: https://user-images.githubusercontent.com/14288520/189370754-8f8083e2-75b9-4c55-af21-a7bda06349af.png + Functionality ------------- @@ -12,7 +15,10 @@ Sometimes a Vector is needed which only has a value in one of the 3 axes. For in The added bonus is that the minimized state of the Node can show what type of Vector it represents. -.. image:: https://cloud.githubusercontent.com/assets/619340/3489193/bfdd92d8-051b-11e4-84f5-0f140c5458b2.gif +.. image:: https://user-images.githubusercontent.com/14288520/189370094-f76392f3-4540-4c50-b27d-feac04b567a6.png + :target: https://user-images.githubusercontent.com/14288520/189370094-f76392f3-4540-4c50-b27d-feac04b567a6.png + +* Text-> :doc:`Stethoscope ` Parameters ---------- @@ -31,4 +37,4 @@ A single Vector output, only ever:: Examples -------- -`issue tracker thread `_ +`issue tracker thread `_ \ No newline at end of file diff --git a/docs/nodes/vector/drop.rst b/docs/nodes/vector/drop.rst index 96a30d53cf..08c10d956e 100644 --- a/docs/nodes/vector/drop.rst +++ b/docs/nodes/vector/drop.rst @@ -1,6 +1,9 @@ Vector Drop =========== +.. image:: https://user-images.githubusercontent.com/14288520/189416082-af9b8af3-b405-49cc-8894-b5fd15ada232.png + :target: https://user-images.githubusercontent.com/14288520/189416082-af9b8af3-b405-49cc-8894-b5fd15ada232.png + Functionality ------------- @@ -11,16 +14,31 @@ Than vector drop subtract matrix from vertices. Inputs ------ -**Vertices** - Vectors input to transform -**Matrix** - Matrix to subtract from vertices +* **Vectors** - Vectors input to transform +* **Matrixes** - Matrix to subtract from vertices Outputs ------- -**Vertices** - vertices +**Vectors** - vertices Examples -------- -.. image:: https://cloud.githubusercontent.com/assets/5783432/4905667/60572716-6452-11e4-98f3-296387ada7a9.png - :alt: vector drop +.. image:: https://user-images.githubusercontent.com/14288520/189416105-c7b9ec1f-9ebd-4c8b-be56-bd9670349acc.png + :target: https://user-images.githubusercontent.com/14288520/189416105-c7b9ec1f-9ebd-4c8b-be56-bd9670349acc.png + +* Generator-> :doc:`IcoSphere ` +* Generator-> :doc:`Suzanne ` +* Generator-> :doc:`Box ` +* Generator-> :doc:`Plane ` +* Analyzers-> :doc:`Component Analyzer ` +* Modifier->Modifier Change-> :doc:`Polygon Boom ` +* Matrix-> :doc:`Matrix In ` +* List->List Main-> :doc:`List Length ` +* List->List Struct-> :doc:`List Length ` +* Viz-> :doc:`Viewer Draw ` +* Viz-> :doc:`Viewer 2D ` + +.. image:: https://user-images.githubusercontent.com/14288520/189416117-b9c89036-1e36-4046-8b37-1b578cb993d7.png + :target: https://user-images.githubusercontent.com/14288520/189416117-b9c89036-1e36-4046-8b37-1b578cb993d7.png diff --git a/docs/nodes/vector/fractal.rst b/docs/nodes/vector/fractal.rst index 855ceee27f..e3e46cdc55 100644 --- a/docs/nodes/vector/fractal.rst +++ b/docs/nodes/vector/fractal.rst @@ -1,6 +1,9 @@ Vector Fractal ============== +.. image:: https://user-images.githubusercontent.com/14288520/189541357-ddf35d58-b09b-4d7c-b96d-77c755e972e2.png + :target: https://user-images.githubusercontent.com/14288520/189541357-ddf35d58-b09b-4d7c-b96d-77c755e972e2.png + This fractal node takes a list of Vectors and outputs a list of equal length containing Floats in the range 0.0 to 1.0. Inputs & Parameters @@ -48,11 +51,23 @@ Inputs & Parameters Examples -------- -.. image:: https://cloud.githubusercontent.com/assets/1275858/22591683/15af2118-ea16-11e6-9851-b697926cefb8.png +.. image:: https://user-images.githubusercontent.com/14288520/189541446-f587f199-02da-4ed2-b2cb-0ea72a3535e5.png + :target: https://user-images.githubusercontent.com/14288520/189541446-f587f199-02da-4ed2-b2cb-0ea72a3535e5.png + +* Generator-> :doc:`Plane ` +* Number-> :doc:`Map Range ` +* Selected Statistic: List->List Main-> :doc:`List Statistics ` +* Vector-> :doc:`Vector Rewire ` +* List->List Struct-> :doc:`List First & Last ` +* Viz-> :doc:`Viewer Draw ` +* Viz-> :doc:`Texture Viewer ` + +.. image:: https://user-images.githubusercontent.com/14288520/189541519-593b3653-95dc-41c9-89d4-ddc4f2be1cfe.gif + :target: https://user-images.githubusercontent.com/14288520/189541519-593b3653-95dc-41c9-89d4-ddc4f2be1cfe.gif Basic example with a Vector rewire node. -json file: https://gist.github.com/kalwalt/5ef4f6b6018724874e3c51eaa255930c +json file: https://gist.github.com/satabol/bda8eb2d753d19c08ab50261c4ab319b Notes ----- diff --git a/docs/nodes/vector/interpolation_mk3.rst b/docs/nodes/vector/interpolation_mk3.rst index 1277d196a1..517a2ea35e 100644 --- a/docs/nodes/vector/interpolation_mk3.rst +++ b/docs/nodes/vector/interpolation_mk3.rst @@ -1,6 +1,9 @@ Vector Interpolation ==================== +.. image:: https://user-images.githubusercontent.com/14288520/189502489-6e0aaee6-237e-4a43-a150-5648590d5a44.png + :target: https://user-images.githubusercontent.com/14288520/189502489-6e0aaee6-237e-4a43-a150-5648590d5a44.png + Functionality ------------- @@ -41,16 +44,44 @@ Extra Parameters Examples -------- -.. image:: https://cloud.githubusercontent.com/assets/619340/4185874/ca99927c-375b-11e4-8cc8-451456bfb194.png - :alt: interpol-simple.png +.. image:: https://user-images.githubusercontent.com/14288520/189503211-8a5a353e-70e9-4a11-9d45-0dc997e77649.png + :target: https://user-images.githubusercontent.com/14288520/189503211-8a5a353e-70e9-4a11-9d45-0dc997e77649.png + +* TAU: Number-> :doc:`A Number ` +* Float Series: Number-> :doc:`Number Range ` +* SINE X: Number-> :doc:`Scalar Math ` +* Vector-> :doc:`Vector In ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` +* Viz-> :doc:`Viewer Draw ` Sine interpolated from 5 points. The input points are shown with numbers. -.. image:: https://cloud.githubusercontent.com/assets/619340/4185875/ca9f56ee-375b-11e4-83fd-a746c8cc690b.png - :alt: interpol-surface.png +.. image:: https://user-images.githubusercontent.com/14288520/189503217-b780838f-b39d-43c1-b9b6-6f658bf6fd72.png + :target: https://user-images.githubusercontent.com/14288520/189503217-b780838f-b39d-43c1-b9b6-6f658bf6fd72.png + +* Float Series: Number-> :doc:`Number Range ` +* List->List Struct-> :doc:`List Flip ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` An interpolated surface between sine and cosine. +.. image:: https://user-images.githubusercontent.com/14288520/189502495-367f3e94-0332-4195-a62d-b3dac66221b8.png + :target: https://user-images.githubusercontent.com/14288520/189502495-367f3e94-0332-4195-a62d-b3dac66221b8.png + +* Number-> :doc:`Number Range ` +* SINE X, COSINE X: Number-> :doc:`Scalar Math ` +* Vector-> :doc:`Vector In ` +* List->List Main-> :doc:`List Join ` +* List->List Struct-> :doc:`List Flip ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` +* Viz-> :doc:`Viewer Draw ` +* Text-> :doc:`Stethoscope ` + +An interpolated surface between sine, cosine, sine. + +.. image:: https://user-images.githubusercontent.com/14288520/189502741-1c168af8-e51d-4e19-8f6c-b5bf1355a4d4.gif + :target: https://user-images.githubusercontent.com/14288520/189502741-1c168af8-e51d-4e19-8f6c-b5bf1355a4d4.gif + Notes ------- diff --git a/docs/nodes/vector/interpolation_stripes.rst b/docs/nodes/vector/interpolation_stripes.rst index d005639a7e..14970e1fca 100644 --- a/docs/nodes/vector/interpolation_stripes.rst +++ b/docs/nodes/vector/interpolation_stripes.rst @@ -1,5 +1,9 @@ Vector Interpolation Stripes ============================ + +.. image:: https://user-images.githubusercontent.com/14288520/189498648-71764116-89a3-489d-9806-a17974710d5d.png + :target: https://user-images.githubusercontent.com/14288520/189498648-71764116-89a3-489d-9806-a17974710d5d.png + Functionality ------------- @@ -23,7 +27,9 @@ Input & Output | input | Attractor | Vertex point as attractor of influence | +--------+-----------+---------------------------------------------+ | output | vStripes | Interpolated points as grouped stripes | +| | | | | | | [[a,b],[a,b],[a,b]], where a and b groups | +| | | | | | | [v,v,v,v,v], where v - is vertex | +--------+-----------+---------------------------------------------+ | output | vShape | Interpolated points simple interpolation | @@ -34,15 +40,15 @@ Input & Output Parameters ---------- -**Factor** - is multiplyer after produce function as sinus/cosinus/etc. -**Scale** - is multiplyer before produce function as sinus/cosinus/etc. -**Function** - popup function between Simple/Multiplied/Sinus/Cosinus/Power/Square +* **Factor** - is multiplyer after produce function as sinus/cosinus/etc. +* **Scale** - is multiplyer before produce function as sinus/cosinus/etc. +* **Function** - popup function between Simple/Multiplied/Sinus/Cosinus/Power/Square Parameters extended ------------------- -**minimum** - minimum value of stripe width (0.0 to 0.5) -**maximum** - maximum value of stripe width (0.5 to 1.0) +* **minimum** - minimum value of stripe width (0.0 to 0.5) +* **maximum** - maximum value of stripe width (0.5 to 1.0) Examples -------- @@ -50,4 +56,34 @@ Examples Making surface with stripes separated in two groups of nodes for UVconnect node to process: .. image:: https://cloud.githubusercontent.com/assets/5783432/20041842/bc459a26-a488-11e6-98ec-345e58bbcdc9.png - :alt: interpolation stripes \ No newline at end of file + :target: https://cloud.githubusercontent.com/assets/5783432/20041842/bc459a26-a488-11e6-98ec-345e58bbcdc9.png + :alt: interpolation stripes + +* Modifiers->Modifier Change :doc:`Separate Loose Parts ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` +* Number-> :doc:`A Number ` +* Number-> :doc:`Number Range ` +* Vector-> :doc:`Vector In ` +* Scene-> :doc:`Objects In ` + +.. image:: https://user-images.githubusercontent.com/14288520/189498715-ce12c260-ea62-46de-8a03-c304b6ccedd0.png + :target: https://user-images.githubusercontent.com/14288520/189498715-ce12c260-ea62-46de-8a03-c304b6ccedd0.png + +* Generator-> :doc:`Torus ` +* Generator-> :doc:`Cylinder ` +* Generator-> :doc:`Sphere ` +* Curves-> :doc:`Circle (Curve) ` +* Curves-> :doc:`Curve Frame ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` +* Number-> :doc:`Number Range ` +* ADD: Number-> :doc:`Scalar Math ` +* Vector-> :doc:`Vector In ` +* Matrix-> :doc:`Matrix Out ` +* List->List Main-> :doc:`List Join ` +* List->List Struct-> :doc:`List First & Last ` +* Viz-> :doc:`Viewer Draw ` +* Text-> :doc:`Stethoscope ` + + +.. image:: https://user-images.githubusercontent.com/14288520/189498730-a8dbe296-f0f3-4db2-8492-2beb7dc54304.gif + :target: https://user-images.githubusercontent.com/14288520/189498730-a8dbe296-f0f3-4db2-8492-2beb7dc54304.gif \ No newline at end of file diff --git a/docs/nodes/vector/lerp.rst b/docs/nodes/vector/lerp.rst index 400b156f89..de64211c44 100644 --- a/docs/nodes/vector/lerp.rst +++ b/docs/nodes/vector/lerp.rst @@ -1,6 +1,9 @@ Vector Lerp =========== +.. image:: https://user-images.githubusercontent.com/14288520/189449776-d0c7d727-c373-4103-89e0-2bbf890a0483.png + :target: https://user-images.githubusercontent.com/14288520/189449776-d0c7d727-c373-4103-89e0-2bbf890a0483.png + Functionality ------------- @@ -10,8 +13,6 @@ If we have two Vectors A and B, and a factor 0.5, then the output of the node wi Inputs ------ -.. image:: https://cloud.githubusercontent.com/assets/619340/22403415/97f342a2-e616-11e6-8494-668a28c3cfb9.png - Vector Evaluate needs two Vertex stream inputs (each containing 1 or more vertices). If one list is shorter than the other then the shortest stream is extended to match the length of the longer stream by repeating the last valid vector found in the shorter stream. @@ -21,11 +22,14 @@ Parameters +------------------+---------------+-------------+-------------------------------------------------+ | Param | Type | Default | Description | +==================+===============+=============+=================================================+ -| mode | Enum | Lerp | - **Lerp** will linear interpolate once between | +| mode | Enum | Lerp | **Lerp** will linear interpolate once between | +| | | | | | | | | each corresponding Vector | | | | | | -| | | | - **Evaluate** will repeatedly interpolate | +| | | | **Evaluate** will repeatedly interpolate | +| | | | | | | | | between each member of vectors A and B for | +| | | | | | | | | all items in Factor input (see example) | +------------------+---------------+-------------+-------------------------------------------------+ | **Vertex A** | Vector | None | first group of vertices (Stream) | @@ -33,7 +37,9 @@ Parameters | **Vertex B** | Vector | None | second group of vertices (Stream) | +------------------+---------------+-------------+-------------------------------------------------+ | **Factor** | Float | 0.50 | distance ratio between vertices A and B. | +| | | | | | | | | values outside of the 0.0...1.0 range are | +| | | | | | | | | extrapolated on the infinite line A, B | +------------------+---------------+-------------+-------------------------------------------------+ @@ -49,32 +55,60 @@ Example of usage **0.5** .. image:: https://cloud.githubusercontent.com/assets/619340/22403445/b6ffef46-e617-11e6-8d84-f47295be5230.png + :target: https://cloud.githubusercontent.com/assets/619340/22403445/b6ffef46-e617-11e6-8d84-f47295be5230.png + +* Vector-> :doc:`Vector In ` +* List->List Main-> :doc:`List Join ` +* Viz-> :doc:`Viewer Draw ` **-0.5** .. image:: https://cloud.githubusercontent.com/assets/619340/22403447/e18ff24c-e617-11e6-82cd-abd28c22a517.png + :target: https://cloud.githubusercontent.com/assets/619340/22403447/e18ff24c-e617-11e6-82cd-abd28c22a517.png + +* Vector-> :doc:`Vector In ` +* List->List Main-> :doc:`List Join ` +* Viz-> :doc:`Viewer Draw ` **1.5** .. image:: https://cloud.githubusercontent.com/assets/619340/22403454/fc9b6030-e617-11e6-9f18-822fb0ab5a50.png + :target: https://cloud.githubusercontent.com/assets/619340/22403454/fc9b6030-e617-11e6-9f18-822fb0ab5a50.png + +* Vector-> :doc:`Vector In ` +* List->List Main-> :doc:`List Join ` +* Viz-> :doc:`Viewer Draw ` **range float `0.0 ... 1.0 n=10` Evaluate** .. image:: https://cloud.githubusercontent.com/assets/619340/22403473/72919a98-e618-11e6-8ada-955595368766.png + :target: https://cloud.githubusercontent.com/assets/619340/22403473/72919a98-e618-11e6-8ada-955595368766.png + +* Number-> :doc:`Number Range ` +* Vector-> :doc:`Vector In ` +* Viz-> :doc:`Viewer Draw ` **range float `0.0 ... 1.0 n=10` Lerp** .. image:: https://cloud.githubusercontent.com/assets/619340/22403494/ec8b0fd2-e618-11e6-8830-96b01f31bcd4.png + :target: https://cloud.githubusercontent.com/assets/619340/22403494/ec8b0fd2-e618-11e6-8830-96b01f31bcd4.png -**Lerp interpolation with noise** - -.. image:: https://cloud.githubusercontent.com/assets/619340/22403515/aedf276c-e619-11e6-91e3-bfabc94be1ab.png - - - +* Number-> :doc:`Number Range ` +* Vector-> :doc:`Vector In ` +* Viz-> :doc:`Viewer Draw ` +**Lerp interpolation with noise** -The development thread also has examples: https://github.com/nortikin/sverchok/issues/1098 +.. image:: https://user-images.githubusercontent.com/14288520/189450649-f1f3bb7a-f9e3-4968-9985-d1d641b82132.png + :target: https://user-images.githubusercontent.com/14288520/189450649-f1f3bb7a-f9e3-4968-9985-d1d641b82132.png +* Generator-> :doc:`Circle ` +* Vector-> :doc:`Vector Noise ` +* A*SCALAR: Vector-> :doc:`Vector Math ` +* Matrix-> :doc:`Matrix In ` +* Viz-> :doc:`Viewer Draw ` +.. image:: https://user-images.githubusercontent.com/14288520/189450678-2f4e6fbd-0d48-4abf-be47-b7d7c8091267.gif + :target: https://user-images.githubusercontent.com/14288520/189450678-2f4e6fbd-0d48-4abf-be47-b7d7c8091267.gif +The development thread also has examples: https://github.com/nortikin/sverchok/issues/1098 \ No newline at end of file diff --git a/docs/nodes/vector/math_mk3.rst b/docs/nodes/vector/math_mk3.rst index 4385ed5f10..859ec6399c 100644 --- a/docs/nodes/vector/math_mk3.rst +++ b/docs/nodes/vector/math_mk3.rst @@ -1,5 +1,8 @@ -Vector Math Node ----------------- +Vector Math +=========== + +.. image:: https://user-images.githubusercontent.com/14288520/189374626-d367341c-28a0-40b2-8f2f-64c9bdef88fe.png + :target: https://user-images.githubusercontent.com/14288520/189374626-d367341c-28a0-40b2-8f2f-64c9bdef88fe.png This is a versatile node. You can perform 1 operation on 1000's of list-elements, or perform operations pairwise on two lists of 1000's of @@ -21,12 +24,12 @@ implementation and the "Output NumPy" parameter activated. Input and Output ^^^^^^^^^^^^^^^^ -========= ========================================================== +========= ================================================================================ socket description -========= ========================================================== -inputs Expect a Vector and Scalar (v,s), or two Vectors (u, v) -outputs Will output a Scalar (s), or a Vector (w). -========= ========================================================== +========= ================================================================================ +inputs Expect a **Vector** and **Scalar** (**v**, **s**), or two Vectors (**u**, **v**) +outputs Will output a **Scalar** (**s**), or a **Vector** (**w**). +========= ================================================================================ Depending on the mode you choose the sockets are automatically changed to accommodate the expected inputs and outputs types @@ -76,6 +79,14 @@ Advanced Parameters In the N-Panel (and on the right-click menu) you can find: -**Implementation**: MathUtils or NumPy. NumPy is the default and is usually faster. +* **Implementation**: MathUtils or NumPy. NumPy is the default and is usually faster. +* **Output NumPy**: Get NumPy arrays in stead of regular lists (makes the node faster). [Not available in the MathUtils implementation] + +Examples +-------- + +.. image:: https://user-images.githubusercontent.com/14288520/189379355-ee107c39-02ba-43c5-9d33-51001ab48592.png + :target: https://user-images.githubusercontent.com/14288520/189379355-ee107c39-02ba-43c5-9d33-51001ab48592.png -**Output NumPy**: Get NumPy arrays in stead of regular lists (makes the node faster). [Not available in the MathUtils implementation] +* Vector-> :doc:`Vector In ` +* Text-> :doc:`Stethoscope ` \ No newline at end of file diff --git a/docs/nodes/vector/noise_mk3.rst b/docs/nodes/vector/noise_mk3.rst index 881a4e4b2d..8f463e1849 100644 --- a/docs/nodes/vector/noise_mk3.rst +++ b/docs/nodes/vector/noise_mk3.rst @@ -1,7 +1,11 @@ Vector Noise ============ -This noise node takes a list of Vectors and outputs a list of equal length containing either Vectors or Floats in the range 0.0 to 1.0. The seed value permits you to apply a different noise calculation to identical inputs. +.. image:: https://user-images.githubusercontent.com/14288520/189527778-9ece116a-6991-475e-b015-91aa5bbc6995.png + :target: https://user-images.githubusercontent.com/14288520/189527778-9ece116a-6991-475e-b015-91aa5bbc6995.png + +This noise node takes a list of Vectors and outputs a list of equal length containing either Vectors or Floats in the range 0.0 to 1.0. +The seed value permits you to apply a different noise calculation to identical inputs. Inputs & Parameters ------------------- @@ -40,11 +44,15 @@ Inputs & Parameters | Interpolate | Gradient interpolation (Hard noise when un-checked) (For custom noises) | +----------------+-------------------------------------------------------------------------+ | Seed | Accepts float values, they are hashed into *Integers* internally. | +| | | | | Seed values of 0 will internally be replaced with a randomly picked | +| | | | | constant to allow all seed input to generate repeatable output. | +| | | | | (Seed=0 would otherwise generate random values based on system time) | +----------------+-------------------------------------------------------------------------+ | Noise Matrix | Matrix input to determinate noise origin, scale and rotation. | +| | | | | One matrix per point can be passed if the matrix list is wrapped | +----------------+-------------------------------------------------------------------------+ @@ -53,45 +61,110 @@ Advanced Parameters In the N-Panel (and on the right-click menu) you can find: -**Output NumPy**: Get NumPy arrays in stead of regular lists (makes the node faster in Scalar mode and in Vector Mode with Custom noises). +* **Output NumPy**: Get NumPy arrays in stead of regular lists (makes the node faster in Scalar mode and in Vector Mode with Custom noises). Examples -------- -Different noises: +Different noises +---------------- + +.. image:: https://user-images.githubusercontent.com/14288520/189527784-551b3af9-1143-4c19-9e63-2e68e04a6710.png + :target: https://user-images.githubusercontent.com/14288520/189527784-551b3af9-1143-4c19-9e63-2e68e04a6710.png + +* Generator-> :doc:`Plane ` +* Selected Statistics: List->List Main-> :doc:`List Statistics ` +* Viz-> :doc:`Texture Viewer ` + +.. image:: https://user-images.githubusercontent.com/14288520/189527787-c03e8141-8050-4fd3-a514-4b121d1ae24f.png + :target: https://user-images.githubusercontent.com/14288520/189527787-c03e8141-8050-4fd3-a514-4b121d1ae24f.png + +* Generator-> :doc:`Plane ` +* Selected Statistics: List->List Main-> :doc:`List Statistics ` +* Viz-> :doc:`Texture Viewer ` -.. image:: https://raw.githubusercontent.com/vicdoval/sverchok/docs_images/images_for_docs/vector/noise/noise_sverchok_blender_example_1.png -.. image:: https://raw.githubusercontent.com/vicdoval/sverchok/docs_images/images_for_docs/vector/noise/noise_sverchok_blender_example_2.png +Using noise to mask a mesh +-------------------------- -Using noise to mask a mesh: +.. image:: https://user-images.githubusercontent.com/14288520/189533504-00a43a7f-3d60-4739-92d4-e5225dc4c779.png + :target: https://user-images.githubusercontent.com/14288520/189533504-00a43a7f-3d60-4739-92d4-e5225dc4c779.png -.. image:: https://raw.githubusercontent.com/vicdoval/sverchok/docs_images/images_for_docs/vector/noise/noise_sverchok_blender_example_3.png +* Generator-> :doc:`Plane ` +* Modifier->Modifier Change-> :doc:`Mask Vertices ` +* Selected Statistics: List->List Main-> :doc:`List Statistics ` +* BIG: Logic-> :doc:`Logic Functions ` +* Viz-> :doc:`Viewer Draw ` +* Viz-> :doc:`Texture Viewer ` -Adding noise transformations: +.. image:: https://user-images.githubusercontent.com/14288520/189533697-b8c2f6a0-3d9f-4375-a463-de84fa206f9a.gif + :target: https://user-images.githubusercontent.com/14288520/189533697-b8c2f6a0-3d9f-4375-a463-de84fa206f9a.gif -.. image:: https://raw.githubusercontent.com/vicdoval/sverchok/docs_images/images_for_docs/vector/noise/noise_sverchok_blender_example_4.png +Adding noise transformations +---------------------------- -Using noise to filter a 3d grid: +.. image:: https://user-images.githubusercontent.com/14288520/189527797-4a4f7c60-c3a6-4dfc-a1fc-69273a6a6d56.png + :target: https://user-images.githubusercontent.com/14288520/189527797-4a4f7c60-c3a6-4dfc-a1fc-69273a6a6d56.png + +* Generator-> :doc:`Plane ` +* A * SCALAR: Vector-> :doc:`Vector Math ` +* Add: Vector-> :doc:`Vector Math ` +* Matrix-> :doc:`Matrix In ` +* Viz-> :doc:`Viewer Draw ` + +.. image:: https://user-images.githubusercontent.com/14288520/189527806-4303cde4-86f5-4659-8ea8-a9ec2d8dd9de.gif + :target: https://user-images.githubusercontent.com/14288520/189527806-4303cde4-86f5-4659-8ea8-a9ec2d8dd9de.gif + +Using noise to filter a 3d grid +------------------------------- .. image:: https://raw.githubusercontent.com/vicdoval/sverchok/docs_images/images_for_docs/vector/noise/noise_sverchok_blender_example_6.png + :target: https://raw.githubusercontent.com/vicdoval/sverchok/docs_images/images_for_docs/vector/noise/noise_sverchok_blender_example_6.png + +* Spacial-> :doc:`Vector P Field ` +* Number-> :doc:`A Number ` +* Number-> :doc:`Map Range ` +* DIV X,Y, MUL X: Number-> :doc:`Scalar Math ` +* Sine Oscillator: Number-> :doc:`Oscillator ` +* Matrix-> :doc:`Matrix In ` +* List-> :doc:`List Mask (Out) ` +* LESS X, BIG X: Logic-> :doc:`Logic Functions ` +* Scene-> :doc:`Frame Info ` +* Scene-> :doc:`Metaball Out Node (MB Alpha) ` + +Custom noises +------------- + +**Random Cells**: + +.. image:: https://user-images.githubusercontent.com/14288520/189531137-be65d761-6ee8-44c8-a24b-daf244530e28.png + :target: https://user-images.githubusercontent.com/14288520/189531137-be65d761-6ee8-44c8-a24b-daf244530e28.png + +* Generator-> :doc:`Plane ` +* Viz-> :doc:`Texture Viewer ` -Custom noises: +**Random Gradients**: -- Random Cells: +.. image:: https://user-images.githubusercontent.com/14288520/189531146-73e1c8b0-653d-470e-bb6c-0485694cb357.png + :target: https://user-images.githubusercontent.com/14288520/189531146-73e1c8b0-653d-470e-bb6c-0485694cb357.png -.. image:: https://raw.githubusercontent.com/vicdoval/sverchok/docs_images/images_for_docs/vector/noise/noise_sverchok_blender_example_5.png +* Generator-> :doc:`Plane ` +* Viz-> :doc:`Texture Viewer ` -- Random Gradients: +**Ortho Gradients**: -.. image:: https://raw.githubusercontent.com/vicdoval/sverchok/docs_images/images_for_docs/vector/noise/noise_sverchok_blender_example_7.png +.. image:: https://user-images.githubusercontent.com/14288520/189531320-7001fc3f-fa1d-48b2-8a75-852458275776.png + :target: https://user-images.githubusercontent.com/14288520/189531320-7001fc3f-fa1d-48b2-8a75-852458275776.png -- Ortho Gradients: +* Generator-> :doc:`Plane ` +* Viz-> :doc:`Texture Viewer ` -.. image:: https://raw.githubusercontent.com/vicdoval/sverchok/docs_images/images_for_docs/vector/noise/noise_sverchok_blender_example_8.png +**Numpy Perlin**: -- Numpy Perlin: +.. image:: https://user-images.githubusercontent.com/14288520/189531160-e0b69fe0-4925-4261-9e3d-dc70618998bd.png + :target: https://user-images.githubusercontent.com/14288520/189531160-e0b69fe0-4925-4261-9e3d-dc70618998bd.png -.. image:: https://raw.githubusercontent.com/vicdoval/sverchok/docs_images/images_for_docs/vector/noise/noise_sverchok_blender_example_9.png +* Generator-> :doc:`Plane ` +* Viz-> :doc:`Texture Viewer ` Notes ----- diff --git a/docs/nodes/vector/quad_grid.rst b/docs/nodes/vector/quad_grid.rst index ceef01dad8..97d75797ab 100644 --- a/docs/nodes/vector/quad_grid.rst +++ b/docs/nodes/vector/quad_grid.rst @@ -1,6 +1,9 @@ Sort Quad Grid ============== +.. image:: https://user-images.githubusercontent.com/14288520/189407906-66eb8edb-86a9-42c9-a643-84ae8030f1fb.png + :target: https://user-images.githubusercontent.com/14288520/189407906-66eb8edb-86a9-42c9-a643-84ae8030f1fb.png + Functionality ------------- @@ -66,8 +69,19 @@ Examples of usage Take manually subdivided plane (on the left) and sort it's vertices: .. image:: https://user-images.githubusercontent.com/284644/93013046-65e02080-f5be-11ea-9d0b-7369cf76b9e2.png + :target: https://user-images.githubusercontent.com/284644/93013046-65e02080-f5be-11ea-9d0b-7369cf76b9e2.png + +* Transform-> :doc:`Move ` +* Viz-> :doc:`Viewer Draw ` +* Viz-> :doc:`Viewer Index+ ` +* Scene-> :doc:`Objects In ` Use together with "Build NURBS Surface" node: .. image:: https://user-images.githubusercontent.com/284644/93013197-9eccc500-f5bf-11ea-905b-4e929f1ee2bb.png + :target: https://user-images.githubusercontent.com/284644/93013197-9eccc500-f5bf-11ea-905b-4e929f1ee2bb.png +* Surface-> :doc:`Build Nurbs Surface ` +* Surface-> :doc:`Evaluate Surface ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Objects In ` \ No newline at end of file diff --git a/docs/nodes/vector/turbulence.rst b/docs/nodes/vector/turbulence.rst index 00ff434dd5..e89089257d 100644 --- a/docs/nodes/vector/turbulence.rst +++ b/docs/nodes/vector/turbulence.rst @@ -1,6 +1,9 @@ Vector Turbulence ================= +.. image:: https://user-images.githubusercontent.com/14288520/189534743-2d4cd1ab-0ebf-4637-b9ae-1744bde603a3.png + :target: https://user-images.githubusercontent.com/14288520/189534743-2d4cd1ab-0ebf-4637-b9ae-1744bde603a3.png + This Vector Turbulence node takes a list of Vectors and outputs a list of equal length containing Floats in the range 0.0 to 1.0. May output scalars or vectors. For some noise types, if your output goes to the texture viewer you need to remap them, otherwise your texture @@ -31,10 +34,13 @@ Inputs & Parameters | | See mathutils.noise docs ( Noise_ ) | +----------------+-------------------------------------------------------------------------+ | Octaves | Accepts integers values | +| | | | | The number of different noise frequencies used. | +----------------+-------------------------------------------------------------------------+ | Hard | Accepts bool values: Hard( True ) or Soft( False ) | +| | | | | Specifies whether returned turbulence | +| | | | | is hard (sharp transitions) or soft (smooth transitions). | +----------------+-------------------------------------------------------------------------+ | Amplitude | Accepts float values. The amplitude scaling factor. | @@ -45,6 +51,7 @@ Inputs & Parameters Range table ----------- + Scalar values from turbulence node with size(n.verts)=64x64, step=0.05, octaves=3, amplitude=0.5, frequency=2.0, random seed=0. Plug a map range node in the scalar output and map it to the desired range (min=0, max=1) as in the image below. @@ -72,13 +79,27 @@ Plug a map range node in the scalar output and map it to the desired range (min= | Cellnoise | 0.9668738842010498 | 1.5000858306884766 | 0.1691771298646927 | +----------------+----------------------+---------------------+----------------------+ -.. image:: https://cloud.githubusercontent.com/assets/1275858/23551043/81474db0-0014-11e7-9a40-233c30f75ce7.png - +.. image:: https://user-images.githubusercontent.com/14288520/189534748-aac04542-bb00-4ce8-b199-812150925285.png + :target: https://user-images.githubusercontent.com/14288520/189534748-aac04542-bb00-4ce8-b199-812150925285.png +* Generator-> :doc:`Plane ` +* Number-> :doc:`A Number ` +* Number-> :doc:`Map Range ` +* Viz-> :doc:`Texture Viewer ` Examples -------- -.. image:: https://cloud.githubusercontent.com/assets/1275858/22593143/744dbdae-ea1d-11e6-8945-16a8be9f597c.png + +.. image:: https://user-images.githubusercontent.com/14288520/189534901-110976a3-79ef-47b1-844f-9f1393838691.png + :target: https://user-images.githubusercontent.com/14288520/189534901-110976a3-79ef-47b1-844f-9f1393838691.png + +* Generator-> :doc:`Plane ` +* Number-> :doc:`Map Range ` +* Vector-> :doc:`Vector Rewire ` +* Selected Statistics: List->List Main-> :doc:`List Statistics ` +* List->List Struct-> :doc:`List First & Last ` +* Viz-> :doc:`Texture Viewer ` +* Viz-> :doc:`Viewer Draw ` Basic example with a Scalar output and Vector rewire node. diff --git a/docs/nodes/vector/variable_lacunarity.rst b/docs/nodes/vector/variable_lacunarity.rst index 0f8e7bf452..805bfb2c7f 100644 --- a/docs/nodes/vector/variable_lacunarity.rst +++ b/docs/nodes/vector/variable_lacunarity.rst @@ -1,6 +1,9 @@ Variable Lacunarity =================== +.. image:: https://user-images.githubusercontent.com/14288520/189540443-c568ccaf-b714-4624-903b-ac7eeeb5c896.png + :target: https://user-images.githubusercontent.com/14288520/189540443-c568ccaf-b714-4624-903b-ac7eeeb5c896.png + This node takes a list of Vectors and outputs a list of equal length containing Floats in the range -1.0 to 1.0. The seed value permits you to apply a different noise calculation to identical inputs. This nodes "_returns variable lacunarity noise value, a distorted variety of noise, @@ -36,8 +39,16 @@ Inputs & Parameters Examples -------- -.. image:: https://cloud.githubusercontent.com/assets/1275858/24367366/a2087bbc-131c-11e7-8d95-df90ce456034.png +.. image:: https://user-images.githubusercontent.com/14288520/189540266-02370793-10f8-44e9-9545-ef43dae80987.png + :target: https://user-images.githubusercontent.com/14288520/189540266-02370793-10f8-44e9-9545-ef43dae80987.png +* Generator-> :doc:`Plane ` +* Number-> :doc:`Map Range ` +* Vector-> :doc:`Vector Rewire ` +* Selected Statistics: List->List Main-> :doc:`List Statistics ` +* List->List Struct-> :doc:`List First & Last ` +* Viz-> :doc:`Viewer Draw ` +* Viz-> :doc:`Texture Viewer ` Notes ----- diff --git a/docs/nodes/vector/vector_in.rst b/docs/nodes/vector/vector_in.rst index 90c6008f19..37f82075a3 100644 --- a/docs/nodes/vector/vector_in.rst +++ b/docs/nodes/vector/vector_in.rst @@ -1,6 +1,9 @@ Vector In ========= +.. image:: https://user-images.githubusercontent.com/14288520/189356797-4908a913-cdcc-49e9-8100-0bbcc5e3e9b1.png + :target: https://user-images.githubusercontent.com/14288520/189356797-4908a913-cdcc-49e9-8100-0bbcc5e3e9b1.png + Functionality ------------- @@ -14,24 +17,22 @@ It can also output Numpy arrays (flat arrays) when using the activating the "Out Inputs ------ -**x** - value or series of values -**y** - value or series of values -**z** - value or series of values +* **x** - value or series of values +* **y** - value or series of values +* **z** - value or series of values Advanced Parameters ------------------- In the N-Panel (and on the right-click menu) you can find: -**Implementation**: Python or NumPy. Python is the default and is usually faster if you input regular lists and want to get regular list. The NumPy implementation will be faster if you are using/getting lists of NumPy arrays. - -**Output NumPy**: Get NumPy arrays in stead of regular lists. +* **Implementation**: Python or NumPy. Python is the default and is usually faster if you input regular lists and want to get regular list. The NumPy implementation will be faster if you are using/getting lists of NumPy arrays. +* **Output NumPy**: Get NumPy arrays in stead of regular lists. Outputs ------- -**Vector** - Vertex or series of vertices - +* **Vector** - Vertex or series of vertices Operators --------- @@ -43,13 +44,37 @@ This node has two buttons: Examples -------- -.. image:: https://cloud.githubusercontent.com/assets/5783432/4905358/0a4e7df4-644f-11e4-8ff1-1530c7aac8dc.png +.. image:: https://user-images.githubusercontent.com/14288520/189362245-d966cf84-da93-4da5-b137-bf578c3f2c6f.png + :target: https://user-images.githubusercontent.com/14288520/189362245-d966cf84-da93-4da5-b137-bf578c3f2c6f.png + +* Number-> :doc:`List Input ` +* Text-> :doc:`Stethoscope ` + +.. image:: https://user-images.githubusercontent.com/14288520/189359236-785757e5-a1c4-4dfa-86d9-65780cee1bd9.png + :target: https://user-images.githubusercontent.com/14288520/189359236-785757e5-a1c4-4dfa-86d9-65780cee1bd9.png :alt: with vector out -.. image:: https://cloud.githubusercontent.com/assets/5783432/4905359/0a56565a-644f-11e4-91b3-24ac4d78cb11.png +* Generator-> :doc:`Line ` +* Sine X: Number-> :doc:`Scalar Math ` +* Vector-> :doc:`Vector Out ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` +* Viz-> :doc:`Viewer Draw ` + +.. image:: https://user-images.githubusercontent.com/14288520/189359252-e2bc72dd-03b2-427a-8c49-9d6cb8aaeeac.png + :target: https://user-images.githubusercontent.com/14288520/189359252-e2bc72dd-03b2-427a-8c49-9d6cb8aaeeac.png :alt: generating line -.. image:: https://user-images.githubusercontent.com/28003269/34647574-202304d2-f39f-11e7-8113-87047546b81e.gif +* Number-> :doc:`Number Range ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` +* Sine X: Number-> :doc:`Scalar Math ` +* Viz-> :doc:`Viewer Draw ` + +.. image:: https://user-images.githubusercontent.com/14288520/189359290-0879acdc-1ebb-4351-a9f1-789f387b834b.png + :target: https://user-images.githubusercontent.com/14288520/189359290-0879acdc-1ebb-4351-a9f1-789f387b834b.png :alt: object mode -Gist: https://gist.github.com/cf884ea62f9960d609158ef2d5c994ed +* Number-> :doc:`List Input ` +* Number-> :doc:`Number Range ` +* Text-> :doc:`Stethoscope ` + +Gist: https://gist.github.com/cf884ea62f9960d609158ef2d5c994ed \ No newline at end of file diff --git a/docs/nodes/vector/vector_index.rst b/docs/nodes/vector/vector_index.rst index 83d55a675f..89bfa7f796 100644 --- a/docs/nodes/vector/vector_index.rst +++ b/docs/nodes/vector/vector_index.rst @@ -5,22 +5,25 @@ Vector .. toctree:: :maxdepth: 1 - attractor - axis_input_mk2 - drop - interpolation_stripes - interpolation_mk3 - math_mk3 - noise_mk3 - fractal - lerp - vector_rewire vector_in vector_out - vector_polar_in - vector_polar_out + axis_input_mk2 + math_mk3 vertices_delete_doubles + vector_rewire + vertices_sort quad_grid - variable_lacunarity + drop + vector_polar_in + vector_polar_out + attractor + + lerp + interpolation_stripes + interpolation_mk3 + + noise_mk3 turbulence + variable_lacunarity + fractal diff --git a/docs/nodes/vector/vector_out.rst b/docs/nodes/vector/vector_out.rst index bea4197cfb..8842a50e6f 100644 --- a/docs/nodes/vector/vector_out.rst +++ b/docs/nodes/vector/vector_out.rst @@ -1,6 +1,9 @@ Vector Out ========== +.. image:: https://user-images.githubusercontent.com/14288520/189363994-5d4a10e0-1214-4cc3-991c-50535995d81b.png + :target: https://user-images.githubusercontent.com/14288520/189363994-5d4a10e0-1214-4cc3-991c-50535995d81b.png + Functionality ------------- @@ -14,24 +17,36 @@ It can also output Numpy arrays (flat arrays) when using the activating the "Out Inputs ------- -**Vector** - Vertex or series of vertices +* **Vector** - Vertex or series of vertices Advanced Parameters ------------------- In the N-Panel (and on the right-click menu) you can find: -**Output NumPy**: Get NumPy arrays in stead of regular lists (makes the node faster if you input NumPy arrays). +* **Output NumPy**: Get NumPy arrays in stead of regular lists (makes the node faster if you input NumPy arrays). Outputs ------- -**x** - velue or series of values -**y** - velue or series of values -**z** - velue or series of values +* **x** - velue or series of values +* **y** - velue or series of values +* **z** - velue or series of values Examples -------- -.. image:: https://cloud.githubusercontent.com/assets/5783432/4905358/0a4e7df4-644f-11e4-8ff1-1530c7aac8dc.png - :alt: with vector in +.. image:: https://user-images.githubusercontent.com/14288520/189367049-f6d0eb90-7f51-46df-a19d-213a43f9e013.png + :target: https://user-images.githubusercontent.com/14288520/189367049-f6d0eb90-7f51-46df-a19d-213a43f9e013.png + +* Number-> :doc:`List Input ` +* Text-> :doc:`Stethoscope ` + +.. image:: https://user-images.githubusercontent.com/14288520/189364026-1e67ba74-a594-4106-bc42-200caa1a99bf.png + :target: https://user-images.githubusercontent.com/14288520/189364026-1e67ba74-a594-4106-bc42-200caa1a99bf.png + +* Generator-> :doc:`Line ` +* SINCOS X: Number-> :doc:`Scalar Math ` +* Vector-> :doc:`Vector In ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` +* Text-> :doc:`Stethoscope ` \ No newline at end of file diff --git a/docs/nodes/vector/vector_polar_in.rst b/docs/nodes/vector/vector_polar_in.rst index d03777afbd..589ca99f7d 100644 --- a/docs/nodes/vector/vector_polar_in.rst +++ b/docs/nodes/vector/vector_polar_in.rst @@ -1,7 +1,8 @@ Vector Polar Input ================== -*destination after Beta: Vector* +.. image:: https://user-images.githubusercontent.com/14288520/189424521-bb3833ee-d310-455e-a8e0-0992e82c43e5.png + :target: https://user-images.githubusercontent.com/14288520/189424521-bb3833ee-d310-455e-a8e0-0992e82c43e5.png Functionality ------------- @@ -21,18 +22,21 @@ The node will accept regular lists or lists of flat NumPy arrays | **Coordinates** | Cylindrical | Cylindrical | Which coordinates system to use. | | | or Spherical | | | +-----------------+---------------+-------------+----------------------------------------------------+ -| **Angles mode** | Radians or | Radians | Interpret input angles as specified in radians or | -| | Degrees | | degrees. | +| **Angles mode** | Radians or | Radians | Interpret input angles as specified in | +| | Degrees | | | +| | | | radians or degrees. | +-----------------+---------------+-------------+----------------------------------------------------+ | **rho** | Float | 0.0 | Rho coordinate. | +-----------------+---------------+-------------+----------------------------------------------------+ | **phi** | Float | 0.0 | Phi coordinate. | +-----------------+---------------+-------------+----------------------------------------------------+ -| **z** | Float | 0.0 | Z coordinate. This input is used only for | -| | | | cylindrical coordinates. | +| **z** | Float | 0.0 | Z coordinate. This input is used only | +| | | | | +| | | | for cylindrical coordinates. | +-----------------+---------------+-------------+----------------------------------------------------+ -| **theta** | Float | 0.0 | Theta coordinate. This input is used only for | -| | | | spherical coordinates. | +| **theta** | Float | 0.0 | Theta coordinate. This input is used only | +| | | | | +| | | | for spherical coordinates. | +-----------------+---------------+-------------+----------------------------------------------------+ Advanced Parameters @@ -40,7 +44,7 @@ Advanced Parameters In the N-Panel (and on the right-click menu) you can find: -**Output NumPy**: Get NumPy arrays in stead of regular lists (makes node faster) +* **Output NumPy**: Get NumPy arrays in stead of regular lists (makes node faster) Outputs ------- @@ -53,16 +57,45 @@ Examples of usage An archimedean spiral: -.. image:: https://cloud.githubusercontent.com/assets/284644/5840892/91800812-a1ba-11e4-84b3-c9347ed1b397.png +.. image:: https://user-images.githubusercontent.com/14288520/189424545-004559ba-eefc-49be-a549-b6087043d6be.png + :target: https://user-images.githubusercontent.com/14288520/189424545-004559ba-eefc-49be-a549-b6087043d6be.png + +* Number-> :doc:`Number Range ` +* Number-> :doc:`Scalar Math ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` +* Viz-> :doc:`Viewer Draw ` Logariphmic spiral: -.. image:: https://cloud.githubusercontent.com/assets/284644/5840891/917fddf6-a1ba-11e4-9cd1-a3b354a46348.png +.. image:: https://user-images.githubusercontent.com/14288520/189424571-3cff56bb-4eda-47e9-9841-98245d4d13c3.png + :target: https://user-images.githubusercontent.com/14288520/189424571-3cff56bb-4eda-47e9-9841-98245d4d13c3.png + +* Number-> :doc:`A Number ` +* Number-> :doc:`Number Range ` +* Number-> :doc:`Exponential Sequence ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` +* Viz-> :doc:`Viewer Draw ` Helix: -.. image:: https://cloud.githubusercontent.com/assets/284644/5840890/917b2ae0-a1ba-11e4-9432-33b68d8a19e3.png +.. image:: https://user-images.githubusercontent.com/14288520/189424592-e4778b09-4b79-4426-a03e-0d1058020dc0.png + :target: https://user-images.githubusercontent.com/14288520/189424592-e4778b09-4b79-4426-a03e-0d1058020dc0.png + +* Number-> :doc:`A Number ` +* Number-> :doc:`Number Range ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` +* Viz-> :doc:`Viewer Draw ` With spherical coordinates, you can easily generate complex forms: -.. image:: https://cloud.githubusercontent.com/assets/284644/5840984/2e5bd24c-a1bb-11e4-97b3-99864881fa69.png +.. image:: https://user-images.githubusercontent.com/14288520/189424605-b48cad7c-1ef7-41fe-aa1b-62efbaf8938c.png + :target: https://user-images.githubusercontent.com/14288520/189424605-b48cad7c-1ef7-41fe-aa1b-62efbaf8938c.png + +* Number-> :doc:`A Number ` +* Number-> :doc:`Number Range ` +* MUL X, SINE X, ADD X: Number-> :doc:`Scalar Math ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` +* Viz-> :doc:`Viewer Draw ` + +.. image:: https://user-images.githubusercontent.com/14288520/189424657-1c9cb7f7-18ef-49cd-a44e-0ef277832ff7.gif + :target: https://user-images.githubusercontent.com/14288520/189424657-1c9cb7f7-18ef-49cd-a44e-0ef277832ff7.gif \ No newline at end of file diff --git a/docs/nodes/vector/vector_polar_out.rst b/docs/nodes/vector/vector_polar_out.rst index 861d04c8f0..5427008f2f 100644 --- a/docs/nodes/vector/vector_polar_out.rst +++ b/docs/nodes/vector/vector_polar_out.rst @@ -1,7 +1,8 @@ Vector Polar Output =================== -*destination after Beta: Vector* +.. image:: https://user-images.githubusercontent.com/14288520/189432772-6652094e-5124-42b4-8f7d-858fb80ff6f7.png + :target: https://user-images.githubusercontent.com/14288520/189432772-6652094e-5124-42b4-8f7d-858fb80ff6f7.png Functionality ------------- @@ -47,3 +48,16 @@ Examples of usage Cube push-up: .. image:: https://cloud.githubusercontent.com/assets/284644/5841825/d0c494aa-a1c1-11e4-9c36-4c94076ba8d7.png + :target: https://cloud.githubusercontent.com/assets/284644/5841825/d0c494aa-a1c1-11e4-9c36-4c94076ba8d7.png + +* Generator-> :doc:`Box ` +* Number-> :doc:`Scalar Math ` +* Viz-> :doc:`Viewer Draw ` + +.. image:: https://user-images.githubusercontent.com/14288520/189432796-528d0c20-ab44-4b0d-af66-9a880dc15275.png + :target: https://user-images.githubusercontent.com/14288520/189432796-528d0c20-ab44-4b0d-af66-9a880dc15275.png + +* Generator-> :doc:`NGon ` +* Vector-> :doc:`Vector In ` +* Vector-> :doc:`Vector Out ` +* Viz-> :doc:`Viewer Draw ` \ No newline at end of file diff --git a/docs/nodes/vector/vector_rewire.rst b/docs/nodes/vector/vector_rewire.rst index d73b23edfb..5349e2ef6c 100644 --- a/docs/nodes/vector/vector_rewire.rst +++ b/docs/nodes/vector/vector_rewire.rst @@ -1,27 +1,49 @@ Vector Rewire ============= +.. image:: https://user-images.githubusercontent.com/14288520/189385948-68ae2146-49f1-41e3-acd7-d75b874d2042.png + :target: https://user-images.githubusercontent.com/14288520/189385948-68ae2146-49f1-41e3-acd7-d75b874d2042.png + Functionality ------------- Use this node to swap Vector components, for instance pass X to Y (and Y to X ). Or completely filter out a component by switching to the Scalar option. it will default to *0.0* when the Scalar socket is unconnected, when connected it will replace the component with the values from the socket. If the content of the Scalar input lists don't match the length of the Vectors list, the node will repeat the last value in the list or sublist (expected Sverchok behaviour). .. image:: https://cloud.githubusercontent.com/assets/619340/22211977/3bb60a64-e18f-11e6-82ca-5afac681b195.png + :target: https://cloud.githubusercontent.com/assets/619340/22211977/3bb60a64-e18f-11e6-82ca-5afac681b195.png :alt: with vector rewire +* Vector-> :doc:`Vector Noise ` +* Scene-> :doc:`Objects In ` +* Viz-> :doc:`Viewer Draw ` Inputs ------ -**Vectors** - Any list of Vector/Vertex lists -**Scalar** - value or series of values, will auto repeat last valid value to match Vector count. +* **Vectors** - Any list of Vector/Vertex lists +* **Scalar** - value or series of values, will auto repeat last valid value to match Vector count. Outputs ------- -**Vector** - Vertex or series of vertices +* **Vector** - Vertex or series of vertices + +Examples +-------- + +.. image:: https://user-images.githubusercontent.com/14288520/189385973-5431c3a0-fc22-4893-9f75-86a97dd15f6d.png + :target: https://user-images.githubusercontent.com/14288520/189385973-5431c3a0-fc22-4893-9f75-86a97dd15f6d.png + +* Generator-> :doc:`NGon ` +* Viz-> :doc:`Viewer Draw ` +.. image:: https://user-images.githubusercontent.com/14288520/189386007-b01037a4-a855-49fa-a36f-1d94d151bd4f.gif + :target: https://user-images.githubusercontent.com/14288520/189386007-b01037a4-a855-49fa-a36f-1d94d151bd4f.gif +.. image:: https://user-images.githubusercontent.com/14288520/189389853-0101ef1d-9cd9-4300-a108-1b26ad7a81ad.gif + :target: https://user-images.githubusercontent.com/14288520/189389853-0101ef1d-9cd9-4300-a108-1b26ad7a81ad.gif - +* Generator-> :doc:`Plane ` +* Vector-> :doc:`Vector Noise ` +* Viz-> :doc:`Viewer Draw ` \ No newline at end of file diff --git a/docs/nodes/vector/vertices_delete_doubles.rst b/docs/nodes/vector/vertices_delete_doubles.rst index 5bb5fdc0f6..65462b62b8 100644 --- a/docs/nodes/vector/vertices_delete_doubles.rst +++ b/docs/nodes/vector/vertices_delete_doubles.rst @@ -1,16 +1,22 @@ Vector X Doubles ================ +.. image:: https://user-images.githubusercontent.com/14288520/189382664-c80ec61d-72fb-46e8-bb37-447a08633364.png + :target: https://user-images.githubusercontent.com/14288520/189382664-c80ec61d-72fb-46e8-bb37-447a08633364.png + This node simple remove double vertices from the input. Inputs and Outputs ------------------ -**inputs** are vertices and list of vertices. - -**outputs** are vertices and list of vertices. +* **inputs** are vertices and list of vertices. +* **outputs** are vertices and list of vertices. Example ------- -..image:: https://cloud.githubusercontent.com/assets/1275858/24463951/98383630-14a8-11e7-8653-178335ec576b.png +.. image:: https://user-images.githubusercontent.com/14288520/189382692-a59977b9-bf36-440a-8425-d37d46040919.png + :target: https://user-images.githubusercontent.com/14288520/189382692-a59977b9-bf36-440a-8425-d37d46040919.png + +* Number-> :doc:`List Input ` +* Text-> :doc:`Stethoscope ` \ No newline at end of file diff --git a/docs/nodes/vector/vertices_sort.rst b/docs/nodes/vector/vertices_sort.rst index d383cda1fd..8fd8c7755b 100644 --- a/docs/nodes/vector/vertices_sort.rst +++ b/docs/nodes/vector/vertices_sort.rst @@ -1,6 +1,9 @@ Vector Sort =========== +.. image:: https://user-images.githubusercontent.com/14288520/189396617-37828a11-a86c-4cb1-b3e9-364188bc47a9.png + :target: https://user-images.githubusercontent.com/14288520/189396617-37828a11-a86c-4cb1-b3e9-364188bc47a9.png + Functionality ------------- @@ -15,33 +18,40 @@ and optional inputs(Vector, matrix and user data) Parameters ---------- -+----------------+-----------------+-------------+----------------------------------------------------+ -| Param | Type | Default | Description | -+================+=================+=============+====================================================+ -| **Vertices** | Vector | | vertices from nodes generators or lists (in, out) | -+----------------+-----------------+-------------+----------------------------------------------------+ -| **PolyEdge** | Int | | index of polygons or edges (in, out) | -+----------------+-----------------+-------------+----------------------------------------------------+ -| **Sortmode** | XYZ, Dist, | XYZ | will sort the index according to different criteria| -| | Axis, Connect, | | | -| | Auto XYZ, | | | -| | Auto Direction, | | | -| | Auto Phi / Z, | | | -| | User | | | -+----------------+-----------------+-------------+----------------------------------------------------+ -| **Reverse** | Boolean | False | Reverse the sorting order. Available for | -| | | | **Auto Direction** and **Auto Phi / Z** modes. | -+----------------+-----------------+-------------+----------------------------------------------------+ -| **Reverse X**, | Boolean | False | Reverse the sorting order when sorting by X, Y or | -| **Reverse Y**, | | | Z, correspondingly. Available for **XYZ** and | -| **Reverse Z** | | | **Auto XYZ** modes only. | -+----------------+-----------------+-------------+----------------------------------------------------+ -| **Item order** | Int | | output the index sequence | -+----------------+-----------------+-------------+----------------------------------------------------+ -| **Mat** | Matrix | | Matrix for the **Axis** mode. | -+----------------+-----------------+-------------+----------------------------------------------------+ -| **Base Point** | Vector | | Central point for the **Dist** mode. | -+----------------+-----------------+-------------+----------------------------------------------------+ ++------------------+-------------------+-------------+----------------------------------------------------+ +| Param | Type | Default | Description | ++==================+===================+=============+====================================================+ +| **Vertices** | Vector | | vertices from nodes generators or lists | +| | | | | +| | | | (in, out) | ++------------------+-------------------+-------------+----------------------------------------------------+ +| **PolyEdge** | Int | | index of polygons or edges (in, out) | ++------------------+-------------------+-------------+----------------------------------------------------+ +| **Sortmode** | * XYZ | XYZ | will sort the index according to different | +| | * Dist | | | +| | * Axis | | criteria | +| | * Connect | | | +| | * Auto XYZ | | | +| | * Auto Direction | | | +| | * Auto Phi / Z | | | +| | * User | | | ++------------------+-------------------+-------------+----------------------------------------------------+ +| **Reverse** | Boolean | False | Reverse the sorting order. Available for | +| | | | | +| | | | **Auto Direction** and **Auto Phi / Z** modes. | ++------------------+-------------------+-------------+----------------------------------------------------+ +| * **Reverse X** | Boolean | False | Reverse the sorting order when sorting by X, | +| | | | | +| * **Reverse Y** | | | Y or Z, correspondingly. Available for **XYZ** | +| | | | | +| * **Reverse Z** | | | and **Auto XYZ** modes only. | ++------------------+-------------------+-------------+----------------------------------------------------+ +| **Item order** | Int | | output the index sequence | ++------------------+-------------------+-------------+----------------------------------------------------+ +| **Mat** | Matrix | | Matrix for the **Axis** mode. | ++------------------+-------------------+-------------+----------------------------------------------------+ +| **Base Point** | Vector | | Central point for the **Dist** mode. | ++------------------+-------------------+-------------+----------------------------------------------------+ The sorting modes work as follows: @@ -83,6 +93,11 @@ Example of usage Example with an Hilbert 3d node and polyline viewer with Vector sort set to Dist: .. image:: https://cloud.githubusercontent.com/assets/1275858/24357298/7c3e0f6a-12fd-11e7-9852-0d800ec51742.png + :target: https://cloud.githubusercontent.com/assets/1275858/24357298/7c3e0f6a-12fd-11e7-9852-0d800ec51742.png + +* Generator->Generatots Extended-> :doc:`Hilbert ` +* Vector-> :doc:`Vector In ` +* Viz-> :doc:`Polyline Viewer ` The *Connect* mode it is meant to work with paths. Sorting the vertices along the edges. The "Search for limits" option will handle discontinities in the path. @@ -90,9 +105,36 @@ The "Search for limits" option will handle discontinities in the path. Example used to sort the vertices after the *Mesh Filter* node .. image:: https://user-images.githubusercontent.com/10011941/35187803-3f88191c-fe2a-11e7-874b-da8cb4ec3751.png + :target: https://user-images.githubusercontent.com/10011941/35187803-3f88191c-fe2a-11e7-874b-da8cb4ec3751.png + +* Generator-> :doc:`Plane ` +* Analyzer-> :doc:`Mesh Filter ` +* Modifier->Modifier Change-> :doc:`Delete Loose ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` +* Viz-> :doc:`Viewer Draw ` Example after *Subdivide* node to prepare vertices for *Vector Evaluation* node and/or *UV Connection* node -.. image:: https://user-images.githubusercontent.com/10011941/35187937-6352b0c0-fe2d-11e7-864c-a3893f94f6dc.png +.. image:: https://user-images.githubusercontent.com/14288520/189404210-e5b63541-e9c6-46b0-a7b0-690f155d96bb.png + :target: https://user-images.githubusercontent.com/14288520/189404210-e5b63541-e9c6-46b0-a7b0-690f155d96bb.png + +* Generator-> :doc:`NGon ` +* Modifiers->Modifier Make :doc:`Subdivide ` +* Number-> :doc:`Number Range ` +* Vector-> :doc:`Vector Lerp ` +* List->List Struct-> :doc:`List Length ` +* List->List Struct-> :doc:`List Split ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` +* Viz-> :doc:`Viewer Draw ` + +.. image:: https://user-images.githubusercontent.com/14288520/189396653-a808aeea-608e-4653-b819-1ded6cd2aad2.png + :target: https://user-images.githubusercontent.com/14288520/189396653-a808aeea-608e-4653-b819-1ded6cd2aad2.png + +* Generator-> :doc:`Plane ` +* Generator-> :doc:`NGon ` +* Spacial-> :doc:`Populate Mesh ` +* List->List Main-> :doc:`List Length ` +* Matrix-> :doc:`Matrix In ` +* Viz-> :doc:`Viewer Draw ` link to pull request: https://github.com/nortikin/sverchok/pull/88 diff --git a/nodes/vector/attractor.py b/nodes/vector/attractor.py index 90ce7293e1..dfd009555d 100644 --- a/nodes/vector/attractor.py +++ b/nodes/vector/attractor.py @@ -33,7 +33,14 @@ def get_avg_vector(vectors): return result / len(vectors) class SvAttractorNode(bpy.types.Node, SverchCustomTreeNode): - '''Attraction vectors calculator''' + '''Attraction vectors calculator.[def] +In: Verts,Center,Dir,Amplde[.5],Coeffs[.5] +Attractor: [Point]/Line/Plane +Points Mode: [Average]/Near +Falloff: Inv-1/R/^2/^3; InvExp-Exp(-R)|(-R^2/2) +Clamp [On]/Off, +Out: Vectors, Dir, Coeffs +''' bl_idname = 'SvAttractorNode' bl_label = 'Vectors Attraction' bl_icon = 'OUTLINER_OB_EMPTY' diff --git a/nodes/vector/axis_input_mk2.py b/nodes/vector/axis_input_mk2.py index ec685f52b7..b963448db7 100644 --- a/nodes/vector/axis_input_mk2.py +++ b/nodes/vector/axis_input_mk2.py @@ -24,7 +24,11 @@ class SvAxisInputNodeMK2(bpy.types.Node, SverchCustomTreeNode): - ''' axis input ''' + '''Axis input. x/y/z: [-1,0,+1] + In: No + Out: + (x,y,z) of -1/0/+1 + ''' bl_idname = 'SvAxisInputNodeMK2' bl_label = 'Vector X/Y/Z' diff --git a/nodes/vector/drop.py b/nodes/vector/drop.py index 41ddddf0f6..229aa46200 100644 --- a/nodes/vector/drop.py +++ b/nodes/vector/drop.py @@ -27,7 +27,10 @@ class VectorDropNode(bpy.types.Node, SverchCustomTreeNode): - ''' Drop vertices depending on matrix, as on default rotation, drops to zero matrix ''' + ''' Drop vertices depending on matrix, as on default rotation, drops to zero matrix. + In: Vectors (List), Matrixes (List) + Out: Vectors (List) + ''' bl_idname = 'VectorDropNode' bl_label = 'Vector Drop' bl_icon = 'OUTLINER_OB_EMPTY' diff --git a/nodes/vector/fractal.py b/nodes/vector/fractal.py index 7b2a36eeae..b22da7c489 100644 --- a/nodes/vector/fractal.py +++ b/nodes/vector/fractal.py @@ -75,7 +75,11 @@ def hybrid(nbasis, verts, h_factor, lacunarity, octaves, offset, gain): class SvVectorFractal(bpy.types.Node, SverchCustomTreeNode): - '''Vector Fractal node''' + '''Vector Fractal node. [default] + In: Vertices, Seed, HFactor, Lacunarity, Octaves + Params: Type1 ([Fractal]/Terrain, Rygded, Hybrid), Type2 ([Perlin]/Blender/Voronoi/CellNoise) + Out: Value. Floats in the range [0.0 to 1.0] + ''' bl_idname = 'SvVectorFractal' bl_label = 'Vector Fractal' bl_icon = 'FORCE_TURBULENCE' diff --git a/nodes/vector/interpolation_mk3.py b/nodes/vector/interpolation_mk3.py index c4f4f6381b..208ca20415 100644 --- a/nodes/vector/interpolation_mk3.py +++ b/nodes/vector/interpolation_mk3.py @@ -38,7 +38,7 @@ def make_range(number, end_point): class SvInterpolationNodeMK3(bpy.types.Node, SverchCustomTreeNode, SvRecursiveNode): """ Triggers: Interp. Vector List - Tooltip: Interpolate a list of vertices in a linear or cubic fashion + Tooltip: Interpolate a list of vertices in a linear or cubic fashion\n\tIn: vertices, intervals\n\tParams: Cubic/Linear; Cyclic, Int Range\n\tOut: Vertices, Tangent, Unit Tangent """ bl_idname = 'SvInterpolationNodeMK3' bl_label = 'Vector Interpolation' diff --git a/nodes/vector/interpolation_stripes.py b/nodes/vector/interpolation_stripes.py index 631d758275..d2d72b6af1 100644 --- a/nodes/vector/interpolation_stripes.py +++ b/nodes/vector/interpolation_stripes.py @@ -115,7 +115,10 @@ def eval_spline(splines, tknots, t_in): class SvInterpolationStripesNode(bpy.types.Node, SverchCustomTreeNode): - '''Vector Interpolate Stripes''' + '''Performs cubic spline STRIPES interpolation based on input points. + In: Vertices, Interval X/Y, Attractor (vert) + Params: Factor,Scale,Function(simple/mult/sin/cos/pow/sqrt) + Out: StripeOut,In,Shape,Coefs''' bl_idname = 'SvInterpolationStripesNode' bl_label = 'Vector Stripes' bl_icon = 'OUTLINER_OB_EMPTY' @@ -148,10 +151,10 @@ def mode_change(self, context): default="SIMPLE", update=mode_change) - factor: FloatProperty(name="factor", default=1.0, precision=5, update=updateNode) - minimum: FloatProperty(name="minimum", default=0.0, min=0.0, max=0.5, precision=5, update=updateNode) - maximum: FloatProperty(name="maximum", default=1.0, min=0.5, max=1.0, precision=5, update=updateNode) - scale: FloatProperty(name="scale", default=1.0, precision=5, update=updateNode) + factor: FloatProperty(name="factor", default=1.0, precision=5, update=updateNode, description="is multiplyer AFTER produce function as sinus/cosinus/etc") + minimum: FloatProperty(name="minimum", default=0.0, min=0.0, max=0.5, precision=5, update=updateNode, description="minimum value of stripe width (0.0 to 0.5)") + maximum: FloatProperty(name="maximum", default=1.0, min=0.5, max=1.0, precision=5, update=updateNode, description="maximum value of stripe width (0.5 to 1.0)") + scale: FloatProperty(name="scale", default=1.0, precision=5, update=updateNode, description="is multiplyer BEFORE produce function as sinus/cosinus/etc") t_in_x: FloatProperty(name="tU", default=.5, min=0, max=1, precision=5, update=updateNode) t_in_y: FloatProperty(name="tV", default=.5, min=0, max=1, precision=5, update=updateNode) diff --git a/nodes/vector/lerp.py b/nodes/vector/lerp.py index b005fec8b0..a97428aaf4 100644 --- a/nodes/vector/lerp.py +++ b/nodes/vector/lerp.py @@ -33,7 +33,11 @@ def interp_v3_v3v3(a, b, t=0.5): class SvVectorLerp(bpy.types.Node, SverchCustomTreeNode): - ''' Linear Interpolation between two vectors ''' + '''Linear Interpolation between two vectors (+extrapolate).[def] + In: Vert_1, Vert_2, Factor (List) + Mode: [Lerp]/Evaluate + Out: EvPoint (List) + ''' bl_idname = 'SvVectorLerp' bl_label = 'Vector Lerp' bl_icon = 'OUTLINER_OB_EMPTY' diff --git a/nodes/vector/math_mk3.py b/nodes/vector/math_mk3.py index 855831e79f..95b0d6fdac 100644 --- a/nodes/vector/math_mk3.py +++ b/nodes/vector/math_mk3.py @@ -92,7 +92,21 @@ def recurse_fxy(l1, l2, func, level, min_l2_level): class SvVectorMathNodeMK3(bpy.types.Node, SverchCustomTreeNode): - '''Vector: Add, Dot P..''' + '''Vector Math Functions: + Add + Sub + Length + Distance + Normalize + Negate + Project + Reflect + Multiply + Round + Scalar + Swap + and other + ''' bl_idname = 'SvVectorMathNodeMK3' bl_label = 'Vector Math' bl_icon = 'THREE_DOTS' diff --git a/nodes/vector/noise_mk3.py b/nodes/vector/noise_mk3.py index 665349f0ff..70cffca04d 100644 --- a/nodes/vector/noise_mk3.py +++ b/nodes/vector/noise_mk3.py @@ -87,9 +87,7 @@ def preprocess_verts(noise_matrix, verts, numpy_mode): class SvNoiseNodeMK3(bpy.types.Node, SverchCustomTreeNode): """ Triggers: Vector Noise - Tooltip: Affect input verts with a noise function. - - A short description for reader of node code + Tooltip: Affect input verts with a noise function.\n\tIn: Vertices, Seed, Noise Matrix\n\tParams: Out Type [Scalar]/Vector; Noise Type: Blender/Perlin/Voronoi/CellNoise/Gradient and other\n\tOut: Floats [0.0 to 1.0] / Vectors """ bl_idname = 'SvNoiseNodeMK3' diff --git a/nodes/vector/quad_grid.py b/nodes/vector/quad_grid.py index b6a6aa833b..8c821c6015 100644 --- a/nodes/vector/quad_grid.py +++ b/nodes/vector/quad_grid.py @@ -28,7 +28,7 @@ class SvQuadGridSortVertsNode(bpy.types.Node, SverchCustomTreeNode): """ Triggers: sort vertices quad grid - Tooltip: Sort vertices from a quad grid (subdivided plane) mesh, row by row + Tooltip: Sort vertices from a quad grid (subdivided plane) mesh, row by row\n\tIn: Vertices, Edges, Faces\n\tParams: Reverse rows On/[Off], Reverse Columns On/[Off], Transpose On/[Off], Join Rows On/[Off]\n\tOut: Vertices, Indexes """ bl_idname = 'SvQuadGridSortVertsNode' bl_label = 'Sort Quad Grid' diff --git a/nodes/vector/turbulence.py b/nodes/vector/turbulence.py index d457bd3ecb..dfa2daab4f 100755 --- a/nodes/vector/turbulence.py +++ b/nodes/vector/turbulence.py @@ -31,7 +31,11 @@ turbulence_f = {'SCALAR': noise.turbulence, 'VECTOR': noise.turbulence_vector} class SvTurbulenceNode(bpy.types.Node, SverchCustomTreeNode): - '''Vector Turbulence node''' + '''Vector Turbulence node.[default] + In: Vertices, Octaves [3], Hard [On]/Off, Amplitude, Frequency, Seed + Params: Scalar/[Vector], Type [Perlin_Original]/Vornoi/Cellnoise and other + Out: Noise (Floats [0.0-1.0] / Vectors) + ''' bl_idname = 'SvTurbulenceNode' bl_label = 'Vector Turbulence' bl_icon = 'FORCE_TURBULENCE' diff --git a/nodes/vector/variable_lacunarity.py b/nodes/vector/variable_lacunarity.py index 5fb5604e4c..762714f646 100644 --- a/nodes/vector/variable_lacunarity.py +++ b/nodes/vector/variable_lacunarity.py @@ -34,7 +34,11 @@ def var_func(position, distortion, _noise_type1, _noise_type2): class SvLacunarityNode(bpy.types.Node, SverchCustomTreeNode): - '''Variable lacunarity node''' + '''Variable lacunarity node. + In: Vertices, Seed, Distortion + Params: Type1, Type2 Blender/[Perlin]/Voronoi/Cellnoise + Out: Value - Floats in the range -1.0 to 1.0A + ''' bl_idname = 'SvLacunarityNode' bl_label = 'Variable Lacunarity' bl_icon = 'FORCE_TURBULENCE' @@ -52,7 +56,7 @@ class SvLacunarityNode(bpy.types.Node, SverchCustomTreeNode): description="Noise type", update=updateNode) - distortion: FloatProperty(default=0.2, name="Distortion", update=updateNode) + distortion: FloatProperty(default=0.2, name="Distortion", update=updateNode, description="Accepts floats values, modulate the two noise basis") seed: IntProperty(default=0, name='Seed', update=updateNode) def sv_init(self, context): diff --git a/nodes/vector/vector_in.py b/nodes/vector/vector_in.py index b73b7b8269..b25a830c11 100644 --- a/nodes/vector/vector_in.py +++ b/nodes/vector/vector_in.py @@ -61,7 +61,14 @@ def numpy_pack_vecs(X_, Y_, Z_, output_numpy): return series_vec class GenVectorsNode(bpy.types.Node, SverchCustomTreeNode): - ''' Generator vectors ''' + ''' Generator vectors. Inputs vector from ranges or number values either integer of floats. + In (float/int or Lists): + X: [[0]] + Y: [[0]] + Z: [[0]] + Out: + [[[0,0,0]]] + ''' bl_idname = 'GenVectorsNode' bl_label = 'Vector In' sv_icon = 'SV_VECTOR_IN' diff --git a/nodes/vector/vector_out.py b/nodes/vector/vector_out.py index 772df71b59..4d10100f13 100644 --- a/nodes/vector/vector_out.py +++ b/nodes/vector/vector_out.py @@ -32,7 +32,15 @@ def unpack_list_to_np(obj): return (array(x) for x in zip(*obj)) class VectorsOutNode(bpy.types.Node, SverchCustomTreeNode): - ''' Vectors out ''' + '''Vectors out (decomposition). + In: + a List of Vectors [[(x,y,z), ...]] + Out: + X => List X + Y => List Y + Z => List Z + [[(1,2,3), (11, 22, 33)]] => X: [[1,11]], Y: [[2,22]], Z: [[3,33]] + ''' bl_idname = 'VectorsOutNode' bl_label = 'Vector Out' sv_icon = 'SV_VECTOR_OUT' diff --git a/nodes/vector/vector_polar_in.py b/nodes/vector/vector_polar_in.py index b94b58c339..2802602771 100644 --- a/nodes/vector/vector_polar_in.py +++ b/nodes/vector/vector_polar_in.py @@ -53,7 +53,12 @@ def numpy_polar_to_cartesian(ps, coordinates, angles_mode, out_numpy): class VectorPolarInNode(bpy.types.Node, SverchCustomTreeNode): - '''Generate vectors by spherical or cylindrical coordinates''' + '''Generate vectors by spherical or cylindrical coordinates. [default] + In: rho [.0], phi [.0], Z[.0]/theta[.0] + Mode: [Cylinder]/Sphere + Angle: [Radians]/Degree + Out: Vector + ''' bl_idname = 'VectorPolarInNode' bl_label = 'Vector Polar Input' bl_icon = 'OUTLINER_OB_EMPTY' diff --git a/nodes/vector/vector_polar_out.py b/nodes/vector/vector_polar_out.py index 8e47ba2972..001e6affa6 100644 --- a/nodes/vector/vector_polar_out.py +++ b/nodes/vector/vector_polar_out.py @@ -51,7 +51,7 @@ def numpy_cartesian_to_polar(vs, coordinates, angles_mode, out_numpy): class VectorPolarOutNode(bpy.types.Node, SverchCustomTreeNode, SvRecursiveNode): ''' Triggers: Spheric/ Cylindric coordinates - Tooltip: Get cylindrical or spherical coordinates from vectors + Tooltip: Get cylindrical or spherical coordinates from vectors.\n\tIn: Vectors\n\tParams: [Cylinder]/Sphere; [Radians]/Degree\n\tOut: rho, phi, z/theta ''' bl_idname = 'VectorPolarOutNode' bl_label = 'Vector Polar Output' diff --git a/nodes/vector/vector_rewire.py b/nodes/vector/vector_rewire.py index 7674d2c28b..e52c2fbc8e 100644 --- a/nodes/vector/vector_rewire.py +++ b/nodes/vector/vector_rewire.py @@ -28,7 +28,11 @@ mode_options2 = [(n, n, '', idx) for idx, n in enumerate(options2)] class SvVectorRewire(bpy.types.Node, SverchCustomTreeNode): - ''' Rewire components of a vector''' + '''Rewire components of a vector. Swap Vector components. + In: Vectors, scalar [.0] + Params: [X/Y/Z/Scalar] <=>[X/Y/Z] + Out: Vectors + ''' bl_idname = 'SvVectorRewire' bl_label = 'Vector Rewire' bl_icon = 'OUTLINER_OB_EMPTY' diff --git a/nodes/vector/vertices_delete_doubles.py b/nodes/vector/vertices_delete_doubles.py index f876cb39a0..e975d2a448 100644 --- a/nodes/vector/vertices_delete_doubles.py +++ b/nodes/vector/vertices_delete_doubles.py @@ -23,7 +23,13 @@ class VertsDelDoublesNode(bpy.types.Node, SverchCustomTreeNode): - ''' Delete doubles vertices ''' + ''' Delete doubles vertices. + In: + verts: [[(x,y,z), ...]] + Out: + verts: [[(x,y,z), ...]] + [[(1,1,2), (1,1,2), (1,0,-2)]] => [[(1,1,2), (1,0,-2)]] + ''' bl_idname = 'VertsDelDoublesNode' bl_label = 'Vector X Doubles' bl_icon = 'OUTLINER_OB_EMPTY' diff --git a/nodes/vector/vertices_sort.py b/nodes/vector/vertices_sort.py index 496455e55a..607bc57e4f 100644 --- a/nodes/vector/vertices_sort.py +++ b/nodes/vector/vertices_sort.py @@ -147,7 +147,14 @@ def pols_edges(obj, unique_edges=False): return polygons_to_edges(obj, unique_edges) class SvVertSortNode(bpy.types.Node, SverchCustomTreeNode): - '''Vector sort''' + '''Vector sort. + In: + Vertices, PolyEdge + Params: + Mode: XYZ, Dist, Axis, Connect, Auto XYZ, Auto Direction, Auto Phi / Z, User + Out: + Vertices, PolyEdge, Item Order + ''' bl_idname = 'SvVertSortNode' bl_label = 'Vector Sort' bl_icon = 'SORTSIZE'