To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cad.devOpen lugnet.cad.dev in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / Development / 3218
3217  |  3219
Subject: 
Re: Line in the Sand
Newsgroups: 
lugnet.cad.dev
Date: 
Wed, 10 Nov 1999 19:02:39 GMT
Viewed: 
2494 times
  
On Wed, 10 Nov 1999 12:44:49 GMT, Rui Martins <Rui.Martins@link.pt> wrote:

On Tue, 9 Nov 1999, Steve Bliss wrote:

As Jacob said, this is why the specification suggests that rendering programs
allow the user to select the option of defaulting CLIPPING to on or off.

Strange sentence, CLIPPING is OFF by default, you can change that by
including a CLIPPING ON. And this was not what was beeing discussed. See
below.

I don't think I understand you here.  Do you mean that it is strange to let the
user and/or programmer of the rendering program set the initial CLIPPING value?

[clipped nice rendering-process tree]

The Only thing that I have not taken into account iet is:
" if any of these files has an INVERT command. "

Your proposal will have the same acceleration problems, but
my proposal will keep its robustness, if the invert command is processed
in the following form: (I refreshed my ideia)

- We have a Global state variable which keeps track of the current invert
state (by branch. NOTE: we should use depth first search order to use
only one variable).

- if the current file is processed with:
* invert_state = INVERTED, we interpret winding CCW as CW and vice-versa.

* invert_state = NORMAL,   we interpret winding CCW and CW normally.

Is this too complicated ?

It's not too complicated.  A rendering engine will always have to do this in
order to correctly clip polygons.  But it won't allow us to make any assumptions
about C-N-C branches.

First question: which invert-state are we keeping track of, the occurrences of 0
INVERT or the determinant of the transformation matrix?

If we are tracking 0 INVERTS, then we must have certified files all the way down
the branch in order track the invert_state.  One non-certified file breaks the
chain.

If we are just looking at the determinant of the transformation matrix, then we
don't need a global variable, the determinant can be id'ed locally.  But the
determinant doesn't tell us what we need to know.  We need to know the authors'
intentions when they wrote the various files in the branch.  Did they mean to
invert or not?

There's no way to track the invert-state along a C-N-C branch.

The one assumption which can (generally) be made is this: references from the
main model file to the parts-files do *not* invert the subfile.  If we also
*assume* the main model is certified[1], then any certified part-files can be
clipped.

Steve
1) Even if there's no 0 CERTIFY BFC in the main file, 99%+ model files are
compliant, because they only reference part-files, and do not intend to invert
the parts.



Message is in Reply To:
  Re: Line in the Sand  [DAT]
 
(...) Strange sentence, CLIPPING is OFF by default, you can change that by including a CLIPPING ON. And this was not what was beeing discussed. See below. (...) Look at this two trees root root C N / \ / \ C N C N /| |\ /| |\ C N C N C N C N 1 2 3 4 (...) (24 years ago, 10-Nov-99, to lugnet.cad.dev)

85 Messages in This Thread:

























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

Custom Search

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