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 / 3070
3069  |  3071
Subject: 
Re: CW/CCW, vertex sequence, co-planar, convex
Newsgroups: 
lugnet.cad.dev
Date: 
Fri, 8 Oct 1999 15:05:10 GMT
Viewed: 
570 times
  
On Fri, 8 Oct 1999 07:55:12 GMT, "Lars C. Hassing" <lch@ccieurope.com>
wrote:

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.

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.

Having said that, I do agree that the primitives should get the first
attention, because those files get used more than any others.

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.

True, but the orientation of the faces (in or out, up or down) needs to be
determined before the part can be referenced in a compliant manner.

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.

I disagree, and I'll explain myself below.

(C)CW-certification shouldn't be required for models/submodels.

I think they should, a good editing program will stick a 0 CLIPPING ON or 0
FACE CW in the model's header.  A good rendering program will have an
option to enable or disable clipping by default.  That option will take the
place of an explicit command in the model file.

They may use mirroring, but will not (should not) use the INVERT
nor FACE meta-commands.

Why not?  What's the logical reason for disabling a feature that
knowledgeable modellers can use to their advantage?

Only a part can enable the use of the (C)CW-info!

Not true.  Any DAT file can use any command, so any DAT file should be able
to include optimization information.

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.

True, except I'd replace 'part' with 'file' at the end.

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.

I don't think this is important at this point, but I'd like to see such a
type-flag.  At this time, LDAO inserts this information into new files, on
the "Official/Unofficial" comment line:

0 Unofficial Part
0 Unofficial Primitive

But the type information gets whacked when the files are put into the parts
updates.

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.

I'd rather have too much type definition, than too little.

Steve



Message has 1 Reply:
  Re: CW/CCW, vertex sequence, co-planar, convex
 
(...) Yes, you can of course settle for checking only the tris/quads of a file and put UNKNOWN around subfile references. But then you would miss the most important speed boost coming from the primitives, which are responsible for the majority of (...) (25 years ago, 9-Oct-99, to lugnet.cad.dev)

Message is in Reply To:
  Re: CW/CCW, vertex sequence, co-planar, convex
 
Gary Williams wrote in message ... (...) 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. (...) (25 years ago, 8-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
    

Custom Search

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