NVil Forum
General Category => Bug Reports => Topic started by: steve on April 05, 2013, 10:50:17 am
-
Hello,
Problem with termination of loop select.
I was making an example for someone, of creating an hole using sub-d (similar method as used in Wings3D), and came across an example of a problem I have seen various times before.
Example model:-
Download link for model if required:- http://www.mediafire.com/?93jca191irrwa46
(http://i.imgur.com/tDgl8E4.jpg)
If I double LMB of an edge who's path sends it to a vertex with more than 3 (possible) path directions (to follow), it will normally stop at that vertex. As shown here:-
(http://i.imgur.com/tvybCGA.jpg)
However, in this example (as I have seen in other models) there are selections where the loop selection (double LMB) will bypass such a vertex.
Red arrow show edge selected (double LMB), but shows the edge selection bypassing the vertex (yellow arrow) with more than 3 (possible) edge paths.
(http://i.imgur.com/5GfhoSp.jpg)
Could you please check. Thanks,
-
It is another kind of loop select. see Help > Contents > Modeling > Edge Section > Edge Commands > Loop Select.
-
The only content there states:- "Loop Select. The selection will grow along a loop. Border edges are also considered as loop edges".
I do not see that explaining the results shown, or that being classed as a different kind of loop select.
-
Here is another quick example.
Box with triangular tessellation.
Loop select edge shown (red arrow), the loop select bypasses the (more than 3 edge path) corner vertex, continues on edge(yellow arrow), then terminates in the middle of a valid edge loop.
(http://i.imgur.com/XtgELdU.jpg)
Remove extra edges from vertex corner.
Loop select same edge again (red arrow), this time the loop select continues.
(http://i.imgur.com/yy7dNfw.jpg)
Obviously, the (more than 3 edge path) corner vertex is forcing a termination of the edge loop, but it is terminating it after the event. That to me is not logical. In the past this as caused me problems. The user should not need to have to check the ends of open-edge loop selections to see if the loop-select as decided to add one more edge to the loop or not. In this example, the loop select (IMHO) should either terminate at that (more than 3 edge path) corner vertex, or if it bypasses that, it should continue on the valid loop path.
-
The only content there states:- "Loop Select. The selection will grow along a loop. Border edges are also considered as loop edges".
I do not see that explaining the results shown, or that being classed as a different kind of loop select.
There are three images about 'Loop Select'. Have you looked at the middle one?
-
There are three images about 'Loop Select'. Have you looked at the middle one?
Yes I have, and it still does not show me that the examples above are correct.
If you check other applications, you will see the 2 methods I mentioned in my last post above.
For example. The last example I posted:-
In C4D, Silo and Blender, by default, the loop selection will terminate at the vertex with more than 3 possible edge paths.
In Hexagon and Wings3d, the full edge loop will be selected.
NVIL does not do either of those.
Please explain how NVIL is selecting/ determining the loop path, and why, in the example above(first pic, last post), it terminates the loop selection in the middle of the loop.
-
When you instruct the program to select loop edges, it first checks whether the first type of loop pattern(4 edges per vertex) exists. If that failed, it will check the second type of loop pattern(6 edges per vertex). Once the loop pattern type is established, the program will stick with the pattern all the way. All you examples shown are 6 edges pattern. That's why. Can you select 6 edges loop pattern in other apps?
-
When you instruct the program to select loop edges, it first checks whether the first type of loop pattern(4 edges per vertex) exists. If that failed, it will check the second type of loop pattern(6 edges per vertex). Once the loop pattern type is established, the program will stick with the pattern all the way.
That is why the unexpected/bad results.
All you examples shown are 6 edges pattern. That's why.
The above examples have a mixture of 6, 5 and 4.
Can you select 6 edges loop pattern in other apps?
Yes, as I mentioned above. But they are able to select along loops that contain both 4 and 6 (or 8/10/12 etc). They will not terminate the loop selection on a valid loop as shown above.
-
So, image 3 is not a bug?
As to the termination style, it is a limbo situation. In some cases you may actually want it to stop at the position where different loop pattern starts.
-
So, image 3 is not a bug?
Not for your implementation. It is just no other application I have ever used works the way NVIL does for the edge_loop selection.
As to the termination style, it is a limbo situation. In some cases you may actually want it to stop at the position where different loop pattern starts.
That is a possibility, but I have never known a situation where I want a edge_loop selection to terminate on a valid edge loop.
-
So, image 3 is not a bug?
Not for your implementation. It is just no other application I have ever used works the way NVIL does for the edge_loop selection.
In image 3, it is 6 edges loop pattern. And you said "they are able to select along loops that contain both 4 and 6 (or 8/10/12 etc).".
-
In image 3, it is 6 edges loop pattern. And you said "they are able to select along loops that contain both 4 and 6 (or 8/10/12 etc).".
That image is from NVIL. It is first passing a 6 edge loop pattern and then terminating on the 4 edge loop pattern.
As I stated, no other applications I have ever used works that way.
-
Fixed.