If complimentary conds are something we're going to hold vote then they need to be documented somewhere other than having to search the forums. My understanding was that they are nice to have but not required. Either way we need better documentation and I'm not the best person to write it.
Complimentary Conds
(2022-09-29, 20:41)Orion Pobursky Wrote: If complimentary conds are something we're going to hold vote then they need to be documented somewhere other than having to search the forums. My understanding was that they are nice to have but not required. Either way we need better documentation and I'm not the best person to write it.
I agree. This came sort of out of nowhere for me, so will be good to have a proper docs on that topic
(2022-09-29, 20:41)Orion Pobursky Wrote: If complimentary conds are something we're going to hold vote then they need to be documented somewhere other than having to search the forums. My understanding was that they are nice to have but not required. Either way we need better documentation and I'm not the best person to write it.
If that can help, some explanations I wrote in my edger2 documentation:
Code:
Primitives such as partial cylinders or spheres have conditional lines on edge. For cylinders, these integrated conditional lines are expected to match a tangent plane, for spheres they match a joining cylinder. If you try to join something directed inwards, integrated conditional lines will not show properly while they should (left image). Edger2 properly creates an overlapping conditional line in that case (middle image). Note that unfortunately nothing will prevent the conditional line to appear at the wrong incidence if you try to join something directed outwards (third image, file edg6b). Edger2 can't do anything there.
Note that cylinders properly matches other cylinders (and spheres matches spheres) because conditional lines on each side complete each other properly.
I made some simple images here, trying to make a visual explanation:
https://forums.ldraw.org/thread-24262-po...l#pid39346
https://forums.ldraw.org/thread-24262-po...l#pid39346
(2022-09-29, 20:41)Orion Pobursky Wrote: If complimentary conds are something we're going to hold vote then they need to be documented somewhere other than having to search the forums. My understanding was that they are nice to have but not required. Either way we need better documentation and I'm not the best person to write it.
In my opinion, these should be documented in the Primitives Reference.
(2022-09-29, 21:15)Magnus Forsberg Wrote: I made some simple images here, trying to make a visual explanation:
https://forums.ldraw.org/thread-24262-po...l#pid39346
How do the complementary conds actually work? Do they override the existing condline on same coordinates, or just draws on top?
(2022-09-29, 21:22)Travis Cobbs Wrote: In my opinion, these should be documented in the Primitives Reference.
IMHO it should be added to:
https://www.ldraw.org/article/512.html#overlaps
BTW. All the A-B-C-D stuff is pretty meaningless without a picture.
w.
LEGO ergo sum
(2022-09-29, 22:41)Max Murtazin Wrote: How do the complementary conds actually work? Do they override the existing condline on same coordinates, or just draws on top?
Neither. If you join two partial cylinders, the conditional line at the edge of one of them will be visible half the time when some conditional line should be visible, and the conditional line from the other will be visible for the other half of the time. Their definition in the cylinders is designed to make the mutually exclusive. Furthermore, if you put a tangent plane at the edge of a partial cylinder, the conditional on the edge of the partial cylinder will be visible at all times when it should.
RE: Complimentary Conds
2022-12-19, 6:56 (This post was last modified: 2022-12-19, 17:58 by Travis Cobbs. Edit Reason: Typo fix )
2022-12-19, 6:56 (This post was last modified: 2022-12-19, 17:58 by Travis Cobbs. Edit Reason: Typo fix )
(2022-09-30, 8:57)Willy Tschager Wrote: IMHO it should be added to:
https://www.ldraw.org/article/512.html#overlaps
Willy requested that I get this started by suggesting actual verbiage, so here is my proposed starting point. In the overlaps section, I feel that the second paragraph should be updated to say:
Quote:All or part of a conditional line (line type 5) may not overlap all or part of any other conditional line (line type 5), with the exception of complimentary conditional lines for curved primitives. Complimentary conditional lines are placed at the end of curved primitives where those curved primitives may join with either a continuation of the curve, or with other geometry. In this case, the control points that are off of the edge of the curved primitive are placed so they are tangent to the curve.
If two such curves are placed next to each other (for example to turn a quarter cylinder into a half cylinder), the conditional lines on the edge of each primitive will overlap exactly, and their control points will complement each other such that at most one will be rendered at any given time, and that one of the two will always be rendered when appropriate. When other geometry is placed against such a curved primitive, nothing needs to be done if the geometry is tangent to the curve. If it is sloped further, then a complementary conditional line will be placed on the edge of that geometry, with the control points past the edge of the geometry configured to be tangent to the curve, and the two end points of the conditional placed to exactly overlap the complimentary conditional line on the edge of the curved primitive.
I definitely think that diagrams would make things clearer, but I'm not up to drawing such diagrams.
RE: Complimentary Conds
2022-12-20, 16:17 (This post was last modified: 2022-12-20, 16:22 by Gerald Lasser.)
2022-12-20, 16:17 (This post was last modified: 2022-12-20, 16:22 by Gerald Lasser.)
(2022-09-30, 8:57)Willy Tschager Wrote: IMHO it should be added to:
https://www.ldraw.org/article/512.html#overlaps
BTW. All the A-B-C-D stuff is pretty meaningless without a picture.
w.
That should be the picture for the above:
Quote: If AB and CD need to be conditional lines and BC a line, it is acceptable to define this as a line BC and a single conditional line AD
If AC needs to be a line and just CD needs to be a conditional line, it is not acceptable to define the conditional line as either AD or BD
If AD is a line, there are no valid conditional lines along the length of AD
YELLOW line is the permitted cond-line as per our current description in the Overlap section
Or use the images I made here.
https://forums.ldraw.org/thread-24262-po...l#pid39346
https://forums.ldraw.org/thread-24262-po...l#pid39346
(2022-12-22, 15:20)Magnus Forsberg Wrote: Or use the images I made here.
https://forums.ldraw.org/thread-24262-po...l#pid39346
Willy, I don't understand your second image. It looks like the blue quad is tangent to the cylinder, but I don't understand the diagonal red lines. Also, I like the fact that Magnus's first image shows the conditional control point from both complimentary conditional lines.
(2022-12-22, 22:13)Travis Cobbs Wrote: .... but I don't understand the diagonal red lines.
Maybe we need to describe how the condline is visualised?
Using the default settings in LDPE the condline is a red line from A to B. The control points C and D are visualised as an orange or brown imaginary line to the control points, from either A or B.
It is possible to flip a condline by replacing A with B. In LDPE select the condline, and press F on your keyboard, to flip a condline. This is, of course, only possible on loose condlines, not on the ones included in a primitive.
« Next Oldest | Next Newest »
Users browsing this thread: 3 Guest(s)