Changes between Version 13 and Version 14 of FDORfc59


Ignore:
Timestamp:
Apr 10, 2011, 4:12:20 PM (13 years ago)
Author:
gregboone
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FDORfc59

    v13 v14  
    669669}}}
    670670
     671=== Circle Segment ===
     672
     673{{{
     674CIRCLESEGMENT (
     675    [Mid Position],
     676    [End Position]
     677)
     678}}}
     679
     680==== Example ====
     681
     682{{{
     683CURVESTRING XYZ (0 0 0 (
     684    CIRCLESEGMENT (-1 1 0, 1 3 0)
     685))
     686}}}
     687
     688=== CubicSpline Segment ===
     689
     690{{{
     691CUBICSPLINESEGMENT (
     692    [Position Count],
     693    [Position 1],
     694    ...
     695    [Position n]
     696    [Start Tangent],
     697    [End Tangent]
     698)
     699}}}
     700
     701==== Example ====
     702
     703{{{
     704CURVESTRING XYZ (0 0 0 (
     705    LINESTRINGSEGMENT  (7.5 0 0, 11.5 4 0),
     706    CIRCULARARCSEGMENT (13 7.5, 12.5 12 0),
     707    CUBICSPLINESEGMENT (2, 5 15 0, 6 19 0, 0 0 0, 0 0 0)
     708))
     709}}}
     710
     711=== BSpline Segment ===
     712
     713{{{
     714BSPLINESEGMENT (
     715    [Degree],
     716    [Position Count],
     717    [Position 1],
     718    ...
     719    [Position n],
     720    [Knot Count],
     721    [Value 1] [Weight 1] [Multiplicity 1],
     722    ...
     723    [Value n] [Weight n] [Multiplicity n]
     724)
     725}}}
     726
     727==== Example ====
     728
     729{{{
     730CURVESTRING XYZ (0 0 0 (
     731    LINESTRINGSEGMENT  (7.5 0 0, 11.5 4 0),
     732    CIRCULARARCSEGMENT (13 7.5, 12.5 12 0),
     733    BSPLINESEGMENT (4,
     734                    6,
     735                    11.98 12.74 0,
     736                    11.46 13.48 0,
     737                    8.86 16.57 0,
     738                    5.74 14 0,
     739                    3.08 10.18 0,
     740                    -1.06 11.62 0,
     741                    4,
     742                    0 1 4,
     743                    1 1 1,
     744                    2 1 1,
     745                    3 1 4)     
     746))
     747}}}
     748
     749== FGF Binary Definitions ==
     750
     751The following FGF Binary definitions will be supported by the FDO API for the new types specified above.
     752
     753=== Basic Type Definitions ===
     754
     755{{{
     756Point {
     757    double x;
     758    double y
     759};
     760
     761PointZ {
     762    double x;
     763    double y;
     764    double z
     765};
     766
     767PointM {
     768    double x;
     769    double y;
     770    double m
     771};
     772
     773PointZM {
     774    double x;
     775    double y;
     776    double z;
     777    double m
     778};
     779
     780Position ::= Point | PointZ | PointM | PointZM;
     781Vector ::= Point | PointZ;
     782Tangent ::= Point | PointZ;
     783}}}
     784
     785=== Knot Type Definitions ===
     786
     787{{{
     788Knot {
     789    double value;
     790    double weight;
     791    uint32 multiplicity;
     792};
     793}}}
     794
     795=== EllipticalArc Segment ===
     796
     797{{{
     798ELLIPTICALARCSEGMENT {
     799    static uint32 FGFBType = 133;
     800    Position midPosition;
     801    Position endPosition;
     802    Position focalPosition1;
     803    Position focalPosition2;
     804};
     805}}}
     806
     807=== Circle Segment ===
     808
     809{{{
     810CIRCLESEGMENT {
     811static uint32 FGFBType = 137;
     812Position firstPosition;
     813Position secondPosition;
     814Position thirdPosition1;
     815};
     816}}}
     817
     818=== CubicSpline Segment ===
     819
     820{{{
     821CUBICSPLINESEGMENT {
     822    static uint32 FGFBType = 135;
     823    uint32 numPositions;
     824    Position positions[numPositions];
     825    Tangent startTangent;
     826    Tangent endTangent;
     827);
     828}}}
     829
     830=== BSpline Segment ===
     831
     832{{{
     833BSPLINESEGMENT {
     834    static uint32 FGFBType = 136;
     835    uint32 degree;
     836    uint32 numPositions;
     837    Position positions[numPositions];
     838    uint32 numKnots;
     839    Knot knots[numKnots];
     840};
     841}}}
     842
     843
    671844== Implications ==
    672845