Subject:
|
Re: Latest BFC Spec?
|
Newsgroups:
|
lugnet.cad.dev
|
Date:
|
Thu, 13 Mar 2003 03:35:09 GMT
|
Viewed:
|
709 times
|
| |
| |
In lugnet.cad.dev, Steve Bliss writes:
> Sorry this wasn't clear. It does mean 'current file and all subfiles'.
> More accurately, it means 'turn off clipping until/unless it gets turned
> back on in this file, overriding any possibility of clipping in a subfile,
> until the end of this file'.
The spec should probably be updated to reflect this, I suppose. Please note
that this comment and everything below is meant as constructive criticism.
It's not meant as a complaint or a slight. I'd just like to see the spec
improved. I'll even incorporate my suggested modifications and post an
updated version of the spec for people to review if you'd like.
> NOCERTIFY and NOCLIP are different. NOCERTIFY is a file-wide setting. You
> can't have code like:
>
> 0 BFC CERTIFY CCW
> 1 16 0 0 0 1 0 0 0 1 0 0 0 1 stuff.dat
> 0 BFC NOCERTIFY
> 1 16 0 0 0 1 0 0 0 1 0 0 0 1 morestuf.dat
>
> CERTIFY and NOCERTIFY are mutually exclusive in a file. Logically,
> NOCERTIFY means that the code is not BFC compliant.
>
> NOCLIP (and CLIP) are action statements -- they turn clipping on and off.
> They can occur multiple times in a file. The expectation is that code in a
> NOCLIP zone is still BFC compliant (although I believe the spec allows for
> wrapping NOCLIP/CLIP around non-compliant sections of code).
The above is not at all clear with the current spec. The current wording
strongly implies that CLIP and NOCLIP are file-global, not action statements
that depend on their placement in the file. For example:
4 Clipping. It must be possible for a file to enable and disable clipping.
But
4 even when clipping is enabled locally, it may not be possible to perform
4 clipping on the file in some circumstances. Any file will have clipping
4 applied only when the following conditions apply:
All references are to the file, not lines in the file. Another:
4 If the clipping state is modified, it will only affect the clip-state of the
4 local file.
Key here is "local file". Not "triangle/quad lines following the statement
in the local file". It should also be noted that setting NOCLIP does indeed
effect subfiles (by disabling clipping in them as well). Some more:
4 NOCLIP
4 This option disables the clip-mode in the current file.
And:
10 If neither the CLIP nor NOCLIP option is specified in a file's leading 0 BFC
10 statement, then the local clip-state is set to enabled (CLIP) for that file.
Right under the descriptions of CW and CCW, it explicitely states that you
can change the winding as many times as you want, but that it isn't
recommended. Nowhere that I could see does it say anything similar about
the clip state. The presense of such a statement about winding and lack of
similar about clipping further implies that clipping is file-wide.
Having said all of the above, the pseudo-code at the bottom does indeed
indicate the behavior you described (both the fact that NOCLIP turns off
clipping of subfiles and the fact that clipping can be enabled and disabled
multiple times in a single file). In addition, even in the sections I
quoted above, it talks about clip STATE of the file. This does indeed imply
that it is a state that can change values within the file.
I think it would be a lot more clear, though, if it made an explicit
statement about the fact that the clip state can change back and forth as
many times as desired, similar to the statement made about winding.
Please let me know if you'd like me to incorporate my suggested changes in
and post the result for discussion.
--Travis Cobbs
|
|
Message has 2 Replies: | | Re: Latest BFC Spec?
|
| (...) Your fresh eyes are very welcome. We had long discussions where sections of the spec were changed/moved/rewritten over and over, and I think there are some unnecessary repetions and redundacies, so a new full rewrite would be quite beneficial. (...) (22 years ago, 14-Mar-03, to lugnet.cad.dev)
| | | Re: Latest BFC Spec?
|
| (...) Absolutely. :) The spec was never ratified or 'officially' accepted as a standard. Parts of it are have definitely evolved as the defacto standard, but that's not the same as having a good, documented standard to follow. I think the spec can (...) (22 years ago, 22-Mar-03, to lugnet.cad.dev)
|
Message is in Reply To:
| | Re: Latest BFC Spec? [DAT]
|
| (...) Sorry this wasn't clear. It does mean 'current file and all subfiles'. More accurately, it means 'turn off clipping until/unless it gets turned back on in this file, overriding any possibility of clipping in a subfile, until the end of this (...) (22 years ago, 13-Mar-03, to lugnet.cad.dev)
|
38 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
|
|
|
|