Module name:       su_exnmg

____________

 

Module declaration:  GLOBAL GEOMETRY MODULE su_exnmg   

___________________

 

Module description:

__________________

 

 

 su_exnmg 

 _________

 

 Store a VARKON CUB_SUR surface as a NMG bicubic surface.

 

 Output: A text file surname.F07 in the bicubic F07 (NMG) format

 

  ----- Description of the data in the F07 file -------------------

                                                                 

   The order of the patches:                                     

   -------------------------                                   

                                                              

   IU=1,IV=NV                              IU=NU,IV=NV       

    -----------------------------------------               

    !     !      !      !      !     !      !              

    ! 13  ! 14   ! 15   ! 16   ! 17  ! 18   !             

    -----------------------------------------            

    !     !      !      !      !     !      !            

    !  7  !  8   !  9   ! 10   ! 11  ! 12   !          

    ----------------------------------------          

    !     !      !      !      !     !      !        

    !  1  !  2   !  3   !  4   !  5  !  6   !       

    ----------------------------------------       

                                                                 

   IU=1,IV=1                                IU=NU,IV=1          

                                                               

  (Loop index iu= IU-1 and iv= IV-1 in program below)         

                                                             

   Surface data header: 

   -------------------

 

 Surface name          Total_number_of_patches            (Line 1)

 YTA/1                           594                      ( Ex. )              

     

 

   Patch data header:             

   ------------------            

                                                         

    I1   I2   I3   I4  I5    I6   I7   I8   I9   I10      (Line 2)

     1   48    1    0 1001    0    0   34   19    0       ( Ex. )

                                                                 

   where

   I1  = 1 (always one)

   I2  = Number of records (coefficients) = 48 for bicubic patch

   I3  = Patch number in file

   I4  = 0 (always zero)

   I5  = Surface type = 1001 for bicubic surface

   I6  = 0

   I7  = 0

   I8  = Number of U lines in the surface

   I9  = Number of V lines in the surface

   I10 = 0 (always zero)

 

 

   The order of the coefficients for a patch:                   

   -----------------------------------------                   

                                                              

   Line Coefficients   (    for    ) Coefficients   (    for    )

                                                                 

    1   a00x a00y a00z (1.0  * 1.0 ) a10x a10y a10z (U    * 1.0 )

    2   a20x a20y a20z (U**2 * 1.0 ) a30x a30y a30z (U**3 * 1.0 )

    3   a01x a01y a01z (1.0  * V   ) a11x a11y a11z (U    * V   )

    4   a21x a21y a21z (U**2 * V   ) a31x a31y a31z (U**3 * V   )

    5   a02x a02y a02z (1.0  * V**2) a12x a12y a12z (U    * V**2)

    6   a22x a22y a22z (U**2 * V**2) a32x a32y a32z (U**3 * V**2)

    7   a03x a03y a03z (1.0  * V**3) a13x a13y a13z (U    * V**3)

    8   a23x a23y a23z (U**2 * V**3) a33x a33y a34z (U**3 * V**3)

        ... empty line (no data) ...                     

                                                                 

  Order of coefficients in VARKON's GETCUBP output vector

  _______________________________________________________

 

  data( 1) = a00x      data( 2) = a00y      data( 3) = a00z   

  data( 4) = a01x      data( 5) = a01y      data( 6) = a01z   

  data( 7) = a02x      data( 8) = a02y      data( 9) = a02z   

  data(10) = a03x      data(11) = a03y      data(12) = a03z   

 

  data(13) = a10x      data(14) = a10y      data(15) = a10z   

  data(16) = a11x      data(17) = a11y      data(18) = a11z   

  data(19) = a12x      data(20) = a12y      data(21) = a12z   

  data(22) = a13x      data(23) = a13y      data(24) = a13z   

 

  data(25) = a20x      data(26) = a20y      data(27) = a20z   

  data(28) = a21x      data(29) = a21y      data(30) = a21z   

  data(31) = a22x      data(32) = a22y      data(33) = a22z   

  data(34) = a23x      data(35) = a23y      data(36) = a23z   

 

  data(37) = a30x      data(38) = a30y      data(39) = a30z   

  data(40) = a31x      data(41) = a31y      data(42) = a31z   

  data(43) = a32x      data(44) = a32y      data(45) = a32z   

  data(46) = a33x      data(47) = a33y      data(48) = a33z   

 

 The function checks that there are no NULL patches in the surface.

 The parameterization is also checked. Global parameters shall be

 integers defined by the patch adress IU,IV.

 

 

------

 

 Algorithm

 

 

 1. Initializations and check of input data

 

 

 Open file. Exit with error if file already exists on

 the active JOB directory

 

 

 Retrieve surface type and number of patches in U and V direction

 

 

 Write header

 

 

 Write patch data

 

 

 Close output file

 

 

Module parameters:

___________________

 

REF    s_id                >"@t16 Select a CUB_SUR surface";

STRING surname*24:="MySurf" >

"Surface name (will also be file name with .F07 added)" );

 

 

No called modules   

 

 

This document was created 2006-04-01 by module m_extdoc1