adds docs for new geonodes corners_of_edge #104464
After Width: | Height: | Size: 405 KiB |
BIN
manual/images/node-types_GeometryNodeCornersOfEdge.webp
(Stored with Git LFS)
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
.. index:: Geometry Nodes; Corners of Edge
|
||||||
|
.. _bpy.types.GeometryNodeCornersOfEdge:
|
||||||
|
|
||||||
|
********************
|
||||||
F_Scociety marked this conversation as resolved
Outdated
|
|||||||
|
Corners of Edge Node
|
||||||
|
********************
|
||||||
|
|
||||||
|
.. figure:: /images/node-types_GeometryNodeCornersOfEdge.webp
|
||||||
|
:align: right
|
||||||
|
:alt: Corners of Edge node.
|
||||||
|
|
||||||
|
The *Corners of Edge* node retrieves face corners connected to each edge in a mesh.
|
||||||
|
The node first gathers a list of face corners which are connected to the edges.
|
||||||
F_Scociety marked this conversation as resolved
Outdated
Hans Goudey
commented
This is a good opportunity to be more specific about which faces are included. Going back to the devtalk thread, the behavior we chose deserves a bit of explanation IMO. Likewise with the fact that only the previous corner is used, not the next. That should be mentioned at least. Though if you're up for making some sort of diagram, that would be great too! This is a good opportunity to be more specific about which faces are included. Going back to the devtalk thread, the behavior we chose deserves a bit of explanation IMO. Likewise with the fact that only the previous corner is used, not the next. That should be mentioned at least. Though if you're up for making some sort of diagram, that would be great too!
Yeah, a bit more explanation would definetly help in understanding the node better. What do you think about this description? According to the diagram: I iam not entirely sure whats the best way to intergrate explanation pictures in the docs. But I created some tests, inspirered by the ones, I did for the devtalk proposial. I prefer the grease pencil one (1) more, because it looks familiar to blenders UI: Yeah, a bit more explanation would definetly help in understanding the node better.
What do you think about this description?
The *Corners of Edge* node retrieves face corners connected to each edge in a mesh.
The node first gathers a list of the first corner, in winding order, of all faces connected to the edge.
It's important to note that the node only returns the first corner connected to the edge.
By offsetting the index by 1, you can then get the other connected corner to the edge per face.
That list is then sorted based on the values of the *Sort Weight* input.
The *Total* output is the number of connected faces/corners, and the *Corner Index*
output is one of those corners, chosen with the *Sort Index* input.
According to the diagram: I iam not entirely sure whats the best way to intergrate explanation pictures in the docs. But I created some tests, inspirered by the ones, I did for the devtalk proposial. I prefer the grease pencil one (1) more, because it looks familiar to blenders UI:
(1) : https://ibb.co/VBg7pMk
(2) : https://ibb.co/wK14vKX
Hans Goudey
commented
Yeah, that's definitely helpful! I like the grease pencil styled one too. I wonder if using some mesh for some things like the circles would help avoid the hand drawn look though.
"in winding order" isn't quite right here, since that refers to the sorting of corners around a face.
Might be nice to mention (link) the "Offset Corner In Face" node here, since just adding one to the corner index might end up in a different face. Yeah, that's definitely helpful! I like the grease pencil styled one too. I wonder if using some mesh for some things like the circles would help avoid the hand drawn look though.
>gathers a list of the first corner, in winding order, of all faces connected
"in winding order" isn't quite right here, since that refers to the sorting of corners around a face.
>By offsetting the index by 1
Might be nice to mention (link) the "Offset Corner In Face" node here, since just adding one to the corner index might end up in a different face.
New Version: https://ibb.co/5cVChYs
Maybe a better description, but i find the naming very difficult to be precise: The node first gathers a list of face corners which are connected to the edges.
Yep, I'll be doing that with the next commit > Yeah, that's definitely helpful! I like the grease pencil styled one too. I wonder if using some mesh for some things like the circles would help avoid the hand drawn look though.
New Version: https://ibb.co/5cVChYs
> "in winding order" isn't quite right here, since that refers to the sorting of corners around a face.
Maybe a better description, but i find the naming very difficult to be precise:
The node first gathers a list of face corners which are connected to the edges.
It's important to note, that the list only has one corner per face.
Offsetting the index inside the face by 1 using the :doc:`Offset Corners in Face </modeling/geometry_nodes/mesh/topology/offset_corner_in_face>` returns the other corner, of the connected face to the edge.
> Might be nice to mention (link) the "Offset Corner In Face" node here, since just adding one to the corner index might end up in a different face.
Yep, I'll be doing that with the next commit
Hans Goudey
commented
That sounds great! And the image looks great too. Small thing: there's no need for the comma after "It's important to note". That sounds great! And the image looks great too.
Small thing: there's no need for the comma after "It's important to note".
Great! Do you have a tip on how I can best intergrade the image to comply with the docs? Do you know an example in the docs where a extra explanation image was added? Great!
Corrected it.
Do you have a tip on how I can best intergrade the image to comply with the docs? Do you know an example in the docs where a extra explanation image was added?
Hans Goudey
commented
The extrude node is the most recent one I worked on. Other geometry nodes have an "Examples" section at the bottom. That's not really an example though, so it's probably fine if it goes in the first section before the "Inputs". The extrude node is the most recent one I worked on. Other geometry nodes have an "Examples" section at the bottom. That's not really an example though, so it's probably fine if it goes in the first section before the "Inputs".
|
|||||||
|
It's important to note that the list only has one corner per face.
|
||||||
|
Using the :doc:`/modeling/geometry_nodes/mesh/topology/offset_corner_in_face`
|
||||||
F_Scociety marked this conversation as resolved
Outdated
Hans Goudey
commented
The name, along with "node" should be filled in automatically. `:doc:Offset Corners in Face </modeling/geometry_nodes/mesh/topology/offset_corner_in_face>` -> `:doc:/modeling/geometry_nodes/mesh/topology/offset_corner_in_face`
The name, along with "node" should be filled in automatically.
|
|||||||
|
to offset the index inside the face by 1 gives the other corner from the face that is connected to the edge.
|
||||||
F_Scociety marked this conversation as resolved
Outdated
Hans Goudey
commented
`, returns` -> ` gives` (more friendly word for non-programmers. The comma is unecessary too.
Hans Goudey
commented
Missing period at the end of this sentence. Missing period at the end of this sentence.
|
|||||||
|
That list is then sorted based on the values of the *Sort Weight* input.
|
||||||
|
The *Total* output is the number of connected faces/corners, and the *Corner Index*
|
||||||
|
output is one of those corners, chosen using the *Sort Index* input.
|
||||||
|
|
||||||
|
.. figure:: /images/modeling_geometry-nodes_corners-of-edge_explanation.png
|
||||||
|
:align: center
|
||||||
|
:width: 400px
|
||||||
|
|
||||||
|
A graphic for which corners are returned for a given edge
|
||||||
|
|
||||||
|
* Red: selected edge
|
||||||
F_Scociety marked this conversation as resolved
Outdated
Hans Goudey
commented
Capitalize these colors. No need for the semicolon here also IMO Capitalize these colors. No need for the semicolon here also IMO
Hans Goudey
commented
Sorry, I meant like this :P
Sorry, I meant like this :P
```
Red, Blue, Purple
```
|
|||||||
|
* Blue: corners that get individually returned, depending on the sorting
|
||||||
|
* Purple: corners that can be retrieved by offseting the blue corner indices using :doc:`/modeling/geometry_nodes/mesh/topology/offset_corner_in_face`
|
||||||
|
|
||||||
|
Inputs
|
||||||
|
======
|
||||||
|
|
||||||
|
Edge Index
|
||||||
|
The index of the input edge.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
By default this uses the :doc:`index </modeling/geometry_nodes/geometry/read/input_index>`
|
||||||
|
from the field context, which makes it important that the node is evaluated on
|
||||||
|
the edge domain.
|
||||||
|
|
||||||
|
Weights
|
||||||
|
Values used to sort the corners connected to the edge.
|
||||||
|
By default the corners are sorted by index, so the corners with the smallest indices come first.
|
||||||
|
|
||||||
|
Sort Index
|
||||||
|
Which of the sorted corners to use for the *Corner Index* output. If the value is larger than
|
||||||
|
the total number of connected face corners, it will wrap around to the beginning.
|
||||||
|
|
||||||
|
|
||||||
|
Properties
|
||||||
|
==========
|
||||||
|
|
||||||
|
This node has no properties.
|
||||||
|
|
||||||
|
|
||||||
|
Outputs
|
||||||
|
=======
|
||||||
|
|
||||||
|
Corner Index
|
||||||
|
A corner of the input edge in its face's winding order, chosen by the *Sort Index* input.
|
||||||
|
|
||||||
|
Total
|
||||||
|
The number of faces or face corners connected to the edge.
|
||||||
|
|
@ -8,6 +8,7 @@ Nodes that retrieve information about the connectivity between mesh elements.
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
|
corners_of_edge.rst
|
||||||
corners_of_face.rst
|
corners_of_face.rst
|
||||||
corners_of_vertex.rst
|
corners_of_vertex.rst
|
||||||
edges_of_corner.rst
|
edges_of_corner.rst
|
||||||
|
I think this will give a warning with the two extra ** characters on the end
Hmm, there are still extra
**
hereI'm confused. Right now the lines are:
They should be:
ah sry, I resetet my branch, before comitting and forgot to restore the "**"