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

📄 isff.txt

📁 GIS系统支持库Geospatial Data Abstraction Library代码.GDAL is a translator library for raster geospatial dat
💻 TXT
📖 第 1 页 / 共 5 页
字号:

Line string, shape, curve, and B-spline pole elements are represented 
 similarly in the design file. The header information is followed by the 
 number of vertices and then the coordinates of each vertex. A maximum of 
 101 vertices can be in an element of these types. In a shape, the 
 coordinates of the last vertex must be the same as the first vertex. For 
 curves, two extra points at the beginning and end of the vertex list 
 establish the curvature at the ends. Thus, a curve can have just 97 
 user-defined points.
 2D:
   typedef struct
      {
      Elm_hdr        ehdr                    ;         /* element header */
      Disp_hdr       dhdr                    ;         /* display header */
      short       numverts                   ;        /* number of vertices */
      Point2d        vertice[1]              ;         /* points */
      } Line_String_2d                       ;
 3D:
   typedef struct
      {
      Elm_hdr        ehdr                    ;         /* element header */
      Disp_hdr       dhdr                    ;         /* display header */
      short       numverts                   ;        /* number of vertices */
      Point3d        vertice[1]              ;         /* points */
      } Line_String_3d                       ;
                                             
 
 Offset                                                      Offset 
 
 
 
line_string3d.numverts 
 
line_string3d.vertice[0] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
line_string3d.vertice[n-1] 
       Linkage 
 
 
 
 
 
 
 
 
 
 
 
 
                                                                    Linkage 
 
 
 
 
 
 
 
 
 The curve (type 11) element is a 2D or 3D parametric spline curve 
 completely defined by a set of n points. The first two and last two points 
 define endpoint derivatives and do not display. The interpolated curve 
 passes through all other points.
 
 A curve with n points defines n-1 line segments; interpolation occurs over 
 the middle n-5 segments. Each segment has its own parametric cubic 
 interpolation polynomial for the x and y (and z in 3D) dimensions. The 
 parameter for each of these polynomials is the length along the line 
 segment. Thus, for a segment k, the interpolated points P are expressed as 
 a function of the distance d along the segment as follows:
       Pk(d) = {Fk,x(d), Fk,y(d), Fk,z(d)} with 0 <= d <= Dk
       
 Fk,x, Fk,y, and Fk,z are cubic polynomials and Dk is the length of segment 
 k. In addition, the polynomial coefficients are functions of the segment 
 length and the endpoint derivatives of Fk,x, Fk,y, and Fk,z. The subscript 
 k is merely a reminder that these functions depend on the segment.
 
 The cubic polynomials are defined as follows:
    Fk,x = axd3 + bxd2 + cxd + Xk
    cx = tk
    bx = [3(Xk+1-Xk)/Dk - 2tk,x - tk+1,x] / Dk
    ax = [tk,x + tk+1,x - 2(xk+1-xk)/Dk] / Dk2
    
 The m variable is analogous to the slope of the segment.
 
 If (|mk+1,x-mk,x| + |mk-1,x-mk-2,x|) <> 0, then:
    tk,x = (mk-1,x|mk+1,x-mk,x| + mk,x|mk-1,x-mk-2,x|)/(|mk+1,x-mk,x| + 
    |mk-1,x-mk-2,x|)
 else:
    tk,x = (mk+1,x+mk,x) / 2
    mk,x = (Xk+1 - Xk) / Dk
    
 Fk,y(d) and Fk,z(d) are defined analogously.
 
 

Text Node Header (Type 7)
-------------------------

Text node header elements are complex headers for groups of text elements, 
 specifying the number of text strings, the line spacing between text 
 strings, the origin of the text node, the node number, and the maximum 
 number of characters in each text string.
 
 2D:
   typedef struct
      {
      Elm_hdr           ehdr                 ;         /* element header */
      Disp_hdr          dhdr                 ;         /* display header */
      unsigned short          totwords       ;        /* total words following */
      short          numstrngs               ;       /* # of text strings */
      short          nodenumber              ;         /* text node number */
      byte           maxlngth                ;        /* maximum length allowed */
      byte           maxused                 ;         /* maximum length used */
      byte           font                    ;         /* text font used */
      byte           just                    ;         /* justification type */
      long           linespc                 ;         /* line spacing */
      long           lngthmult               ;       /* length multiplier */
      long           hghtmult                ;        /* height multiplier */
      long           rotation                ;        /* rotation angle */
      Point2d           origin               ;       /* origin */
      } Text_node_2d                         ;
 3D:
   typedef struct
      {
      Elm_hdr           ehdr                 ;         /* element header */
      Disp_hdr          dhdr                 ;         /* display header */
      unsigned short          totwords       ;        /* total words following */
      short          numstrngs               ;       /* # of text strings */
      short          nodenumber              ;         /* text node number */
      byte           maxlngth                ;        /* maximum length allowed */
      byte           maxused                 ;         /* maximum length used */
      byte           font                    ;         /* text font used */
      byte           just                    ;         /* justification type */
      long           linespc                 ;         /* line spacing */
      long           lngthmult               ;       /* length multiplier */
      long           hghtmult                ;        /* height multiplier */
      long           quat[4]                 ;         /* quaternion rotations */
      Point3d           origin               ;       /* origin */
      } Text_node_3d                         ;
    Text node number
    Line length
    Justification and origin
    Line spacing
 

Text node number
----------------

Each text node is assigned a unique number (nodenumber). This number is 
 displayed at the node origin when node display is on. Applications can use 
 it to uniquely identify the node.
 
 

Line length
-----------

The user specifies the maximum number of characters (maxlngth) in a line of 
 text when the node is created. The maximum used (maxused) line length 
 indicates the number of characters currently in the longest text line.
 
 

Justification and origin
------------------------

The justification defines the position of text strings relative to the 
 origin. The origin retained in the design file is the true, user-defined 
 origin. The following justifications are possible
 
 Left/Top (0)                   Center/Top (6)                  Right margin/Top (9) 
 
 Left/Center (1)                Center/Center (7)               Right margin/Center (10) 
 
 Left/Bottom (2)                Center/Bottom (8)               Right margin/Bottom (11) 
 
 Left margin/Top (3)                                            Right/Top (12) 
 
 Left margin/Center (4)                                         Right/Center (13) 
 
 Left margin/Bottom (5)                                         Right/Bottom (14) 
 
 
 
 

Line spacing
------------

This long integer indicates the number of UORs from the bottom of a text 
 string to the top of the next string.
 
 
 
 
 Offset                                                     Offset 
 
 
 
text_node3d.totwords 
       Description                                                Description 
 
text_node3d.numstrings 
       Strings                                                    Strings 
 
text_node3d.nodenumber 
       Number                                                     Number 
 
text_node3d.maxlngth 
 
text_node3d.font 
 
text_node3d.linespc 
       Spacing                                                    Spacing 
 
 
 
text_node3d.lngthmult 
       Multiplier                                                 Multiplier 
 
 
 
text_node3d.hghtmult 
       Multiplier                                                 Multiplier 
 
 
 
text_node3d.quat 
       Angle                                                      Quaternion 
                                                                   
 
 
 
 
 
 
 
 
 
 
 
 
      Linkage 
 
 
 
text_node3d.origin 
 
 
 
 
 
 
 
 
 
 
 
 
                                                                 Linkage 
 
 
 
 
 
 

Complex Chain Headers (Type 12) and Complex Shape Headers (Type 14)
-------------------------------------------------------------------

Complex chains (open) and complex shapes (closed) are complex elements 
 formed from a series of elements (lines, line strings, arcs, curves, and 
 open B-Spline curves). A complex chain or complex shape consists of a 
 header followed by its component elements. These structure of the header 
 is identical for both complex chains and complex shapes in 2D and 3D 
 files. The element is a complex shape if the endpoints of the first and 
 last component elements are the same.
 
 typedef struct
   {
   Elm_hdr           ehdr                    ;            /* element header */
   Disp_hdr          dhdr                    ;            /* display header */
   unsigned short          totlength         ;          /* total length of surface */
   unsigned short          numelems          ;           /* # of elements in surface */
   short          attributes[4]              ;            /* to reach min. element size */
   } Complex_string                          ;
 Four words of attribute data are included in complex chains and shapes to 
 ensure that they are at least 24 words long, which is the minimum element 
 length required for some Intergraph file processors.
 
 
 
 Word                            
 Offset 
 
 0-17   Header                   
 
 18     Words in Description    complex_string.totlngth 
 
 19     Number of Elements      complex_string.numelems 
 
 20     Four Byte               complex_string.attributes 
         
         
 
 21                              
 
 22                              
 
 23                              
 
 24    A                         
       Linkage 
 
                                 
 
 
 
 

Ellipse Elements (Type 15)
--------------------------

Ellipse elements are specified with a center, rotation angle, and major and 
 minor axes. A circle is an ellipse with the major and minor axes equal. 
 The ellipse element is defined in C as follows
 
 2D:
   typedef struct
      {
      Elm_hdr        ehdr                    ;         /* element header */
      Disp_hdr       dhdr                    ;         /* display header */
      double         primary                 ;         /* primary axis */
      double         secondary               ;       /* secondary axis */
      long        rotation                   ;        /* rotation angle */
      Dpoint2d       origin                  ;       /* origin */
      } Ellipse_2d                           ;
 3D:
   typedef struct
      {
      Elm_hdr        ehdr                    ;         /* element header */
      Disp_hdr       dhdr                    ;         /* display header */
      double         primary                 ;         /* primary axis */
      double         secondary               ;       /* secondary axis */
      long        quat[4]                    ;         /* quaternion rotations */
      Dpoint3d       origin                  ;          /* origin */
      } Ellipse_3d                           ;
    Primary and secondary axes
    Orientation
    Origin
 

Primary and secondary axes
--------------------------

Ellipse axes are defined by two double-precision floating point values that 
 specify the lengths in UORs of the semi-major and semi-minor axes. The 
 primary axis is not necessarily the longest (semi-major) axis, but rather 
 is the axis whose orientation is specified by the rotation angle or 
 quaternion.
 
 

Orientation
-----------

The rotation angle or quaternion defines the orientation of the primary 
 axis with respect to the design file coordinate system.
 
 

Origin
------

The origin (center) of the ellipse is expressed as double-precision 
 floating point coordinates.
 
 
 
 
 Offset                                                      Offset 
 
 
 
ellipse_3d.primary 
 
 
 
 
 
 
 
ellipse_3d.secondary 
 
 
 
 
 
 
 
ellipse_3d.quat 
                                                                      
 
 
 

⌨️ 快捷键说明

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