Subject:
|
Re: Comprehensive meta-command list
|
Newsgroups:
|
lugnet.cad.dev
|
Date:
|
Mon, 4 Oct 1999 18:18:01 GMT
|
Viewed:
|
533 times
|
| |
| |
Lars C. Hassing wrote in message <939050465.592693@ns.cci.dk>...
> Gary Williams wrote in message ...
> >
> > Proposed:
> >
> > 0 FACE { CW | CCW | DOUBLE-SIDED | UNKNOWN }
> >
> > Used to indicate the vertex order for all polygon definitions that follow.
> > Assumed UNKNOWN until this line is encountered.
> >
> > 0 INVERT
> >
> > 0 INVERT END (only needed if 0 INVERT has a persistent meaning)
>
> No, never needed, since "0 INVERT" is a toggle!
True. But when manually examining a file, if you come across a 0 INVERT you
wouldn't know whether this was the beginning or the end of the inverted
references, without a bit of searching around. It's an aid to part authors.
But we should allow nesting of INVERTs. I like the idea of INVERT
[ON|OFF|TOGGLE], with TOGGLE being the default.
> Since INVERT is directly related to the CW and CCW parameters of the FACE
> meta-command, why not let it be yet another parameter to FACE ?
Because INVERT and FACE have very different meanings.
> I think the INVERT is only meant as a convenience, since
> 0 FACE CCW
> ...
> 0 FACE INVERT
> 1 16 ...
> 0 FACE INVERT
>
> is the same as
>
> 0 FACE CCW
> ...
> 0 FACE CW
> 1 16 ...
> 0 FACE CCW
No, it isn't.
FACE only affects polygons in the same file. Ideally this meta-command
would only occur once in a given dat file.
INVERT inverts polygons from other files.
If a primitive file is re-written and its vertex order happens to change,
with your scheme, the part will no longer render correctly unless it is
manually tweaked. By using INVERT, no part file will ever break if a
primitive gets changed since each part and primitive file is responsible for
declaring how it is internally oriented.
Parent files shouldn't know or care whether their child files are CW or CCW;
they should only care that they are to appear normal or inside-out.
Since primitive files may internally be CW or CCW, your scheme wouldn't give
enough information to determine which faces to show. Imagine this scenario
with your scheme:
0 A.dat
0 FACE CCW
1 16 ... B.dat
...
0 B.dat
0 FACE CCW
4 ...
...
It's clear that the polygon defined in B.dat is CCW. It's not clear whether
A.dat intended for B.dat to be drawn normally or inverted.
Thus the need for 0 INVERT.
-Gary
|
|
Message has 1 Reply: | | Re: Comprehensive meta-command list
|
| Gary Williams wrote in message ... (...) Well, my assumption was that CCW was the default and that the current facing was passed to the subfile. Under these circumstances I think that my two examples are equivalent! But I admit that the idea that (...) (25 years ago, 8-Oct-99, to lugnet.cad.dev)
|
Message is in Reply To:
| | Re: Comprehensive meta-command list
|
| Gary Williams wrote in message ... (...) No, never needed, since "0 INVERT" is a toggle! (...) Since INVERT is directly related to the CW and CCW parameters of the FACE meta-command, why not let it be yet another parameter to FACE ? I think the (...) (25 years ago, 4-Oct-99, to lugnet.cad.dev)
|
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
|
|
|
|