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 / 3230
     
   
Subject: 
Re: Line in the Sand
Newsgroups: 
lugnet.cad.dev
Date: 
Mon, 15 Nov 1999 01:26:35 GMT
Viewed: 
3377 times
  

Oops!  Forget a few important details in the psuedo-code!

In lugnet.cad.dev, Steve Bliss writes:

  ModelFile string // File to render
  AccumClip boolean // global clipping value yes/no
  AccumInvert boolean // current inversion odd/even or normal/inverted

Declare
  LocalClip boolean = TRUE
  Winding trivalue(CCW, CW, UNKNOWN) = CCW
  Certified boolean = FALSE
  InvertNext boolean = FALSE

        SUBFILE
           RenderFile Command.Subfile,
                      (AccumClip and LocalClip),

The last line above should be:
                       (AccumClip and LocalClip and
                        (Winding != UNKNOWN) and Certified),

                      (AccumInvert xor InvertNext)
        LINE, CONDITIONAL_LINE
           Deal with primitive command
        TRIANGLE, QUAD
           If AccumClip and LocalClip Then

And the line above should be:
            If AccumClip and LocalClip
            And Certified Then

              If BFC(Command, TransformMatrix, Winding) Then
                 Render Command
              Else
                 Don't render Command
           Else
              Render Command
           End If

   
         
   
Subject: 
Re: Line in the Sand
Newsgroups: 
lugnet.cad.dev
Date: 
Mon, 15 Nov 1999 10:59:23 GMT
Viewed: 
3478 times
  

Steve Bliss wrote in message ...
Oops!  Forget a few important details in the psuedo-code!

In lugnet.cad.dev, Steve Bliss writes:

  ModelFile string // File to render
  AccumClip boolean // global clipping value yes/no
  AccumInvert boolean // current inversion odd/even or normal/inverted

Declare
  LocalClip boolean = TRUE
  Winding trivalue(CCW, CW, UNKNOWN) = CCW
  Certified boolean = FALSE
  InvertNext boolean = FALSE

        SUBFILE
           RenderFile Command.Subfile,
                      (AccumClip and LocalClip),

The last line above should be:
                      (AccumClip and LocalClip and
                       (Winding != UNKNOWN) and Certified),

No, WINDING is local! It does not affect subfiles, this is the very reason
why we have invented the CLIPPING command.
/Lars

   
         
   
Subject: 
Re: Line in the Sand
Newsgroups: 
lugnet.cad.dev
Date: 
Mon, 15 Nov 1999 14:54:38 GMT
Viewed: 
3495 times
  

In lugnet.cad.dev, Lars C. Hassing wrote:

No, WINDING is local! It does not affect subfiles, this is the very reason
why we have invented the CLIPPING command.

Argh.  You are correct, sir.  Serves me right, trying to post quickly.

Here's a correction:

        SUBFILE
           RenderFile Command.Subfile,
                      (AccumClip and LocalClip),

The last line above should be:
                      (AccumClip and LocalClip and Certified),

Steve

 

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