Subject:
|
Re: CW/CCW, vertex sequence, co-planar, convex
|
Newsgroups:
|
lugnet.cad.dev
|
Date:
|
Fri, 8 Oct 1999 07:55:12 GMT
|
Viewed:
|
677 times
|
| |
| |
Gary Williams wrote in message ...
> A part file is compliant if its polygon vertex orders are known.
>
> The primitives used by the part file are completely irrelevant.
Well, inside/outside-ness also counts.
It doesn't make sense to certify a part before ALL its subfiles
have defined what is inside/outside. Until then you cannot
determine whether or not you need any INVERTS.
> Ideally some group of people will organize the primitives so that they each
> have a FACE directive, which will be chosen (sometimes arbitrarily) to
> minimize the number of anticipated INVERTs for parts using the primitives.
Wait a minute, the FACE directive of a primitive is irrelevant.
A part should not care (or even know) whether a primitive uses CCW or
CW internally for its faces, it is a private matter for that primitive.
The part will use INVERT if it needs to invert the inside-out definition
of a primitive.
We need to define the inside/outside-ness of all primitives.
I think an appropriate place for these definitions is in
http://www.ldraw.org/memorial/archive/FAQ/Primitives_Reference
which should also be updated with the latest primitives.
> Then the individual parts files will be cleaned up, but doing the primitives
> first would have the biggest initial impact on performance.
>
> Now the only questionable situation is when a part with unknown vertex order
> references a primitive that is known. In this case it may be necessary to
> treat the primitive as unknown because the part obviously will not have been
> checked to see if the primitive needs to be inverted.
Right, uncertified parts cannot benefit from certified primitives!
This raises an important issue:
I think the rendering program will have to distinguish between
models/submodels and parts/subparts and primitives, or more
precisely, between parts and non-parts.
(C)CW-certification shouldn't be required for models/submodels.
They may use mirroring, but will not (should not) use the INVERT
nor FACE meta-commands.
Only a part can enable the use of the (C)CW-info!
When the recursive rendering function encounters e.g. a certified
primitive, the (C)CW-info in it cannot be utilized unless the
function went through a certified part.
So, what is a part? Well, obviously a dat file loaded from the
PARTS directory. But to help part authors, who may keep their
parts-being-designed in any directory (some-one also suggested
an extended search path), and to utilize the (C)CW-info of
parts in an MPD file, I think we could do ourselves a favor by
adding a "0 PART" or "0 FILETYPE PART" to the part dat files.
It can conveniently be inserted while certifying the part.
Then the definition of a part is either a dat file loaded from
PARTS or a dat file having a "0 FILETYPE PART" (or of course both).
I don't know if there is any use for "0 FILETYPE PRIMITIVE", but
maybe in the future.
/Lars
|
|
Message has 2 Replies: | | Re: CW/CCW, vertex sequence, co-planar, convex
|
| Lars mentions the problem of "uncertified" parts using "certified" primitives. Is it so much of a problem? <much thinking> I can't find any other easy solution than using different names for the "certified" versions of the _primitives_. That way we (...) (25 years ago, 8-Oct-99, to lugnet.cad.dev)
| | | Re: CW/CCW, vertex sequence, co-planar, convex
|
| (...) Checking the order of points in a file should not depend on checking the inversion or subfiles for the file. That's why we've been talking about the 0 FACE UNKNOWN -- so parts of files can be fixed, even if the entire file can't be addressed. (...) (25 years ago, 8-Oct-99, to lugnet.cad.dev)
|
Message is in Reply To:
| | Re: CW/CCW, vertex sequence, co-planar, convex
|
| John VanZwieten wrote in message ... (...) Actually, I count three ideas. (...) messy. (...) when (...) the (...) to (...) only (...) have (...) in (...) CW (...) slightly (...) for (...) The third option, which I believe would be best, is similar (...) (25 years ago, 4-Oct-99, to lugnet.cad.dev)
|
53 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
|
|
|
|