To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cad.dev.org.ldrawOpen lugnet.cad.dev.org.ldraw in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / Development / Organizations / LDraw / 1927
1926  |  1928
Subject: 
Re: [Parts Tracker] More BFC Primitives
Newsgroups: 
lugnet.cad.dev.org.ldraw
Date: 
Tue, 9 Apr 2002 00:01:01 GMT
Viewed: 
437 times
  
Steve Bliss wrote:

> In lugnet.cad.dev.org.ldraw, Kyle McDonald wrote:
> [snip more]
>
> You understand the usage correctly.  Except there's no special tie
> between a 'mirroring' subfile reference and the INVERTNEXT command.
> Authors won't explicitly use one to 'undo' the other.
>
>

I didn't think I had them 'undoing' in the first example. I'm
confused now :(


>>My problem with this method is that now I have to examine the
>>matrix watching for mirroring that I need to undo. Up until
>>now I've been able to pass the matrix from the .DAT file straight
>>on to the rendering engine, without examining the contents.
>>I'd prefer to be able to continue to do that.
>>
>
> The problem here is that non-inverting mirroring is very commonplace in
> LDraw parts, and in some places it can't be avoided (except by
> inlining).  For example, most parts that appear in a right- and
> left-hand pair (wings, exhaust pipes, etc) are set up so that only one
> file has the full DAT code -- the other file of the pair just has a
> mirrored reference to its partner.
>


Non-inverting mirroring? Do you mean mirroring where the author doesn't
*intend* inverting? or are you saying it's possible to create a matrix
that would mirror without inverting?

I see two cases, maybe there are more I'm not seeing??

The first is intended inversion where a cylinder primitive that is wound
to face 'outward' is included with a matrix that turns it inside out so
that the faces face inward, for say the inside surface of a 'tube'.
In this case, if I understood correctly you would want the Part author to
*also* add the 0 BFC INVERTNEXT  command??  To me that seems uneeded if
the Matrix already takes care of it. The program now, instead of flipping
the faces because of the command, needs to also not 'unflip' them because
of the matrix. No?

The second is like your wing example. A file includes another, using the
same type of matrix to force the geometry to mirrored. by default this
matrix also causes the faces to flip and face the other way. Again if
I understand correctly, you would *not* want the 0 BFC INVERTNEXT command
here, instead having the program notice the matrix, and flip the faces
back automatically. While I aggree this probably isn't much of a performance
hit, it seems backwards to me. The part's author (I would think) knows
wether the mirroring/inversion effect is desired. It probably doesn't
slow the software down that much to check these things, but it seems to
me it will add lines of code, program complexity and opportunities for bugs,
that the opposite way could avoid. Maybe I'm just a stickler for 'Keep It
Simple Stupid.'

Like I said before, I'm new to alot of this. Is there something big I'm
missing here?

-Kyle



> Doing a parse-time test on each subfile reference matrix (to determine
> if the matrix is mirroring or not) should not be a big hit on
> performance.
>
> Steve
>


--
                                    _
-------------------------------ooO( )Ooo-------------------------------
Kyle J. McDonald                 (o o)
                                  |||||

                                  \\\//
                                  (o o)            kmcdonald@BigFoot.COM
-------------------------------ooO(_)Ooo-------------------------------



Message has 2 Replies:
  Re: [Parts Tracker] More BFC Primitives
 
Maybe I'm more confused now, or less who knows. But I don't think I made what I was trying to say clear in that last post. So here I am replying to myself... :) (...) That last sentance doesn't really get across what I was trying to say I think. (...) (22 years ago, 9-Apr-02, to lugnet.cad.dev.org.ldraw)
  Re: [Parts Tracker] More BFC Primitives
 
(...) Sorry, I must have been reading more into your example than you intended. (...) It's the former: the author intends to make a reflected object, but not an inverted object. (...) It depends on who (or what) you want to keep things simple *for*. (...) (22 years ago, 9-Apr-02, to lugnet.cad.dev.org.ldraw)

Message is in Reply To:
  Re: [Parts Tracker] More BFC Primitives
 
(...) [snip] OK, sounds reasonable to me. (...) Yes. (...) [snip more] You understand the usage correctly. Except there's no special tie between a 'mirroring' subfile reference and the INVERTNEXT command. Authors won't explicitly use one to 'undo' (...) (22 years ago, 8-Apr-02, to lugnet.cad.dev.org.ldraw)

21 Messages in This Thread:





Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR