isff.txt
来自「支持各种栅格图像和矢量图像读取的库」· 文本 代码 · 共 2,219 行 · 第 1/5 页
TXT
2,219 行
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 (open curves) #KNOTS = #POLES -1 (closed curves) Word Offset 0-17 Header 18 Words in Description Bspline_curve.dhdr.totlngth 19 20 Bspline_curve.flags 21 Number of Poles Bspline_curve.num_poles 22 Number of Knots Bspline_curve.num_knots 23 A Linkage B-spline surface header (type 24)---------------------------------A B-spline surface header begins the definition of a B-spline surface and defines parameters describing the surface. typedef struct bspline_surface { Elm_hdr ehdr ; /* element header */ Disp_hdr dhdr ; /* display header */ long desc_words ; /* # words in description */ struct { unsigned order:4 ; /* B-spline U order - 2 */ unsigned curve_display:1 ; /* surface display flag */ unsigned poly_display:1 ; /* polygon display flag */ unsigned rational:1 ; /* rationalization flag */ unsigned closed:1 ; /* closed U surface flag*/ unsigned curve_type:8 ; /* surface type */ } flags ; short num_poles_u ; /* number of poles */ short num_knots_u ; /* number of knots */ short rule_lines_u ; /* number of rule lines */ struct { unsigned short v_order:4 ; /* B-spline order - 2 (v Direction) */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?