⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 isff.txt

📁 GIS系统支持库Geospatial Data Abstraction Library代码.GDAL is a translator library for raster geospatial dat
💻 TXT
📖 第 1 页 / 共 5 页
字号:
 Elements are stored in a surface or solid in a strict order. Boundary 
 elements (class=0) appear first after the surface/solid header. The second 
 boundary element immediately follows the first boundary and is followed by 
 any rule lines connecting the first and second boundary. If additional 
 boundary elements are included they should follow this same pattern with 
 the boundary elements preceding the rule lines that connect it to the 
 previous boundary.
 
 

Point String Elements (Type 22)
-------------------------------

A point string element consists of a number of vertices with orientations 
 defined at each vertex. They are useful in specialized applications that 
 need to specify orientations as well as point locations, such as a "walk 
 through."
 
 Point strings can be defined as either contiguous or disjoint. Contiguous 
 point strings are displayed with lines connecting the vertices. Disjoint 
 point strings are displayed as a set of discrete points. Both types are 
 placed and manipulated in the same way, but exhibit slightly different 
 characteristics when snapping or locating.
 
 It is impossible to define a point string structure in C because all point 
 locations are stored before any of the orientations.
 
                       Description 
 
 Range                 The range of the point string element is the range of the points. 
 
 Properties            The H-bit (bit 15) of the properties word indicates the type of point string 
                       (0 = continuous, 1 =  disjoint) for display purposes. The setting of the 
                       planar bit indicates whether the points are coplanar. 
 
 Number of points      The maximum number of vertices allowed in a single point string is 48. A 
                       longer series of points is formed by combining multiple elements in a complex 
                       chain. 
 
 Point coordinates     An array contains the X and Y coordinates for 2D points or the X, Y, and Z 
                       coordinates for 3D points as integer values. 
 
 Point orientations    An array contains the rotation matrices (2D) or quaternions (3D) describing 
                       the points' orientations with respect to the drawing axes. The coefficients 
                       of the matrices, as well as the quaternions, lie within the range of -1 to 1. 
                       These values are stored as signed double-precision integers with the 
                       low-order bit equal to 1/(231-1). Therefore, to convert these coefficients to 
                       floating point, the integers must be divided by 231-1. 
 
 
 
 
 
 
 Offset                                                      Offset 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
         
 
 
 
 
 
 
 
 
 
 
 
 
                                                                      
 
 
 
 
 
 
 
 
 
 
 
 
                                                                    (1) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
       Linkage 
 
 
 
 
 
 
 
 
 
 
 
 
                                                                    Linkage 
 
 
 
 
 
 

Cone Elements (Type 23)
-----------------------

A circular truncated cone is described by two circles lying in parallel 
 planes in a 3D design file. If the radius of both circles is identical, 
 the cone represents a cylinder. The cone can be skewed by adjusting the 
 positions of the circles. The C structure is
 
   typedef struct
      {
      Elm_hdr        ehdr                    ;         /* element header */
      Disp_hdr       dhdr                    ;         /* display header */
      short       unknown                    ;         /* unknown data */
      long        quat[4]                    ;         /* orientation quaternion */
      Dpoint3d       center_1                ;        /* center of first circle */
      double         radius_1                ;        /* radius of first circle */
      Dpoint3d       center_2                ;        /* center of second circle */
      double         radius_2                ;        /* radius of second circle */
      } Cone_3d                              ;
    Cone type
    Parameters
 

Cone type
---------

The cone type word describes characteristics of the cone. Valid cone types 
 include
 *  0 = general (nonspecific) cone
 *  1 = right cylinder
 *  2 = cylinder
 *  3 = right cone
 *  4 = cone
 *  5 = right truncated cone
 *  6 = truncated cone
    
 Bits 3-14 of the cone type word are reserved and should be set to zero. 
 Bit 15 indicates whether the cone is a surface or a solid (0=solid, 
 1=surface).
 
 

Parameters
----------



 
                   Description 
 
 Orientation       The orientation for both circles is defined by a single set of quaternions. 
 
 Radii             The radii for the circles are stored as double-precision floating point 
                   values. Either of these values may be zero to cause a pointed cone. 
 
 
 
 Word                            
 Offset 
 
 0-17   Header                   
 
 18                             cone.rsrv 
 
 19     Quaternion              cone.quat 
         
 
 20                              
 
 21     Q1                       
 
 22                              
 
 23     Q2                       
 
 24                              
 
 25     Q3                       
 
 26                              
 
 27     X1                      cone.center 1 
 
 28                              
 
 29                              
 
 30                              
 
 31     Y1                       
 
 32                              
 
 33                              
 
 34                              
 
 35     Z1                       
 
 36                              
 
 37                              
 
 38                              
 
 39     R1                      cone.radius 1 
 
 40                              
 
 41                              
 
 42                              
 
 43     X2                      cone.center 2 
 
 44                              
 
 45                              
 
 46                              
 
 47     Y2                       
 
 48                              
 
 49                              
 
 50                              
 
 51     Z2                       
 
 52                              
 
 53                              
 
 54                              
 
 55     R2                      cone.radius 2 
 
 56                              
 
 57                              
 
 58                              
 
 59    A                         
       Linkage 
 
                                 
 
 

B-spline Elements (Type 21, 24, 25, 26, 27, 28)
-----------------------------------------------

Rational, non-rational, uniform, and non-uniform B-spline curves and 
 surfaces are represented in the design file by several different element 
 types.
    B-spline curves
    B-spline Surfaces
    B-spline curve header (type 27)
    B-spline surface header (type 24)
    B-spline pole element (type 21)
    B-spline surface boundary element (type 25)
    B-spline Knot element (type 26)
    B-spline Weight Factor element (type 28)
 

B-spline curves
---------------

Four element types are used to represent B-spline curves. A B-spline Curve 
 Header Element (type 27) stores curve parameters. A B-spline Pole Element 
 (type 21) stores poles. If the B-spline curve is rational, the pole 
 element is immediately followed by a Bspline Weight Factor Element (type 
 28) that stores the weights of the poles. If the B-spline curve is 
 non-uniform, the knots are stored in a B-spline Knot Element (type 26) 
 immediately following the header.  The order of these elements is fixed 
 and is
 
 1. B-spline Curve Header Element (type 27)
 2. Optional: B-spline Knot Element (type 26) if the curve is non-uniform
 3. B-spline Pole Element (type 21)
 4. Optional: B-spline Weight Factor Element (type 28) if the curve is 
    rational
    
 

B-spline Surfaces
-----------------

Five element types are used to represent B-spline surfaces. A B-spline 
 Surface Header Element (type 24) stores surface parameters. Subsequent 
 B-spline Pole Elements (type 21) store separate rows of poles. If the 
 surface is rational, each pole element is immediately followed by a 
 B-spline Weight Factor Element (type 28). If the surface is non-uniform, a 
 B-spline Knot Element (type 26) immediately follows the header. Finally, 
 if the surface is trimmed, one or more B-spline Surface Boundary Elements 
 (type 25) precede the first pole element. The order of these elements is 
 fixed and must follow the order specified below
 1. Uniform, non-rational surfaces (type 24, 21, 21, 21...)
 2. Uniform, rational surfaces (type 24, 21, 28, 21, 28, 21, 28...)
 3. Non-uniform, non-rational (type 24, 26, 21, 21, 21...)
 4. Non-uniform, rational (type 24, 26, 21, 28, 21, 28, 21, 28...)
 5. Boundary immediately precedes poles (all type 25s must precede type 21, 
    but follow type 26, if present. The order of the elements is fixed and 
    can be either:
    type 24, 25, 25, 25, ... , 21, 21, 21... or
    type 24, 25, 25, 25, ... , 21, 28, 21, 28... or
    type 24, 26, 25, 25, 25, ... , 21, 21, 21... or
    type 24, 26, 25, 25, 25, ... , 21, 28, 21, 28...
    
 

B-spline curve header (type 27)
-------------------------------

A B-spline curve header begins the definition of a B-spline curve and 
 defines parameters describing the curve.
 
   typedef struct
      {
      Elm_hdr           ehdr                 ;            /* element header */
      Disp_hdr          dhdr                 ;            /* display header */
      long           desc_words              ;            /* # of words in descr. */
      struct
         {
         unsigned       order:4              ;            /* B-spline order - 2 */
         unsigned       curve_display:1      ;          /* curve display flag */
         unsigned       poly_display:1       ;           /* polygon display flag */
         unsigned       rational:1           ;            /* rationalization flag */
         unsigned       closed:1             ;           /* closed curve flag */
         unsigned       curve_type:8         ;          /* curve type */
         } flags                             ;
      short          num_poles               ;          /* number of poles */
      short          num_knots               ;          /* number of knots */
      } Bspline_curve                        ;
    Range
    Curve parameters
    Number of poles
    Number of knots
 

Range
-----

The range of a B-spline curve is the range of the control polygon. All 
 points on the stroked curve lie within this range.
 
 

Curve parameters
----------------

A word of data is included that contains various parameters. A number two 
 less than the B-spline order is stored in bits 0-3. Bit 7 is set for 
 closed curves and cleared for open curves. Bit 6 is set for rational 
 B-splines and cleared for non-rational splines. If bit 6 is set, a weight 
 factor element must be included. Bit 5 is set to indicate if display of 
 the polygon is enabled; bit 4 is set if curve display is enabled.
 
 

Number of poles
---------------

The maximum number of poles is 101.
 
 

Number of knots
---------------

For uniform B-spline curves, the number of knots is 0. The number of knots 
 stored in the type 26 element for non-uniform B-spline curves is 
 calculated as follows
 
 #KNOTS = #POLES - ORDER              

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -