LDraw.org Discussion Forums

Full Version: [LDPartEditor] 0.8.30 Beta Released (YTruder)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
(2017-03-09, 9:20)Philippe Hurbain Wrote: [ -> ]Wish of the day: a function to unhide the elements hidden by the last hide, leaving previous hiding active. Ideally, hiding should work like a multi level stacked hide/unhide, but having a "unhide last hidden" would already be great!

Unfortunately, it is not trivial to restore just the hide/show state (you can hide subfile content, too). It's hard to synchronize this state with all changes (e.g. changing line numbers, colours, coordinates, matrices). It looks so easy if you do a selection, click hide and the selection stays hidden. Even if you do a modification in the 3D editor.

To my regret, it is really complex to implement a multi level "hide/show" stack. Chances are high, that I will never going to implement this.
(2017-04-06, 17:02)Philippe Hurbain Wrote: [ -> ]- I don't think that deleting the lines that were extruded is a good idea, generally the extruded surface has an edge...
- It seems impossible to use symmetry or projection with value=0 while both are meaningful (opposite to translation!)

I fixed these issues (#531 and #532).


(2017-04-06, 17:02)Philippe Hurbain Wrote: [ -> ]- Not utterly annoying, but I don't understand why triangles are sometimes generated for translation mode. This should only produce quads?

I don't understand it either. The criteria to split a quad into two triangles is this:

Code:
Tri_Angle(Surf[k][0], Surf[k][1], Surf[k][2], Surf[k][0], Surf[k][2], Surf[k][3]) > 0.5

The "Tri_Angle" function seems to be correct:
Code:
    // Tri_Angle computes the cosine of the angle between the planes of two triangles.
    // They are assumed to be non-degenerated
    private double Tri_Angle(double[] U0, double[] U1, double[] U2, double[] V0, double[] V1, double[] V2)
    {
        double[] Unorm = new double[3], Vnorm = new double[3];
        double[] Temp = new double[3];
        double[] U10 = new double[3], U20 = new double[3];
        double[] V10 = new double[3], V20 = new double[3];
        double len;
        SUB(U10, U1, U0);
        SUB(U20, U2, U0);
        SUB(V10, V1, V0);
        SUB(V20, V2, V0);
        CROSS(Temp, U10, U20);
        len = DIST(Temp, nullv);
        MULT(Unorm, Temp, 1/len);
        CROSS(Temp, V10, V20);
        len = DIST(Temp, nullv);
        MULT(Vnorm, Temp, 1/len);
        return (180 / 3.14159 * Math.acos(DOT(Unorm, Vnorm)));
    }
(2017-04-08, 10:11)Nils Schmidt Wrote: [ -> ]Philippe Hurbain- Not utterly annoying, but I don't understand why triangles are sometimes generated for translation mode. This should only produce quads?

I don't understand it either. The criteria to split a quad into two triangles is this:

This issue is still there. Since ytruder makes a parallel extrusion, it should never produce triangles except if a generation line vertex happen to be in mirroring/projection plane
Pages: 1 2