adds docs for new geonodes corners_of_edge #104464

Merged
Hans Goudey merged 12 commits from F_Scociety/blender-manual:corners_of_edge into main 2023-06-06 16:06:44 +02:00
2 changed files with 56 additions and 0 deletions
Showing only changes of commit b5a2e5bb29 - Show all commits

BIN
manual/images/node-types_GeometryNodeCornersOfEdge.webp (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,53 @@
.. index:: Geometry Nodes; Corners of Edge
.. _bpy.types.GeometryNodeCornersOfEdge:
**********************
F_Scociety marked this conversation as resolved Outdated

I think this will give a warning with the two extra ** characters on the end

I think this will give a warning with the two extra ** characters on the end

Hmm, there are still extra ** here

Hmm, there are still extra `**` here

I'm confused. Right now the lines are:

**********************
Corners of Edge Node
**********************

They should be:

********************
Corners of Edge Node
********************
I'm confused. Right now the lines are: ``` ********************** Corners of Edge Node ********************** ``` They should be: ``` ******************** Corners of Edge Node ******************** ```

ah sry, I resetet my branch, before comitting and forgot to restore the "**"

ah sry, I resetet my branch, before comitting and forgot to restore the "**"
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 attached to each edge.
The node first gathers a list of the corners of all faces connected to the edge.
F_Scociety marked this conversation as resolved Outdated

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?
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

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

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.

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.

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

> 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

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!
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?

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?

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".

Thanks, the extrude node helped a lot!

Thanks, the extrude node helped a lot!
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*
F_Scociety marked this conversation as resolved Outdated

: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.

`: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.
output is one of those corners, chosen with the *Sort Index* input.
F_Scociety marked this conversation as resolved Outdated

, returns -> gives (more friendly word for non-programmers. The comma is unecessary too.

`, returns` -> ` gives` (more friendly word for non-programmers. The comma is unecessary too.

Missing period at the end of this sentence.

Missing period at the end of this sentence.
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
F_Scociety marked this conversation as resolved Outdated

Capitalize these colors. No need for the semicolon here also IMO

Capitalize these colors. No need for the semicolon here also IMO

Sorry, I meant like this :P

Red, Blue, Purple
Sorry, I meant like this :P ``` Red, Blue, Purple ```
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
An corner connected to the face, chosen by the *Sort Index* input.
Total
The number of faces or face corners connected to the edge.