isff.txt

来自「支持各种栅格图像和矢量图像读取的库」· 文本 代码 · 共 2,219 行 · 第 1/5 页

TXT
2,219
字号
      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                                                                                      ellipse_3d.origin            Linkage                

⌨️ 快捷键说明

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