/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: February 5, 1993 2:09:43 pm PST */ /* C2C version: October 7, 1992 (native) */ /* ref-counting: off */ /* file: GGSegmentImplB, module: GGSegmentImplB */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [1762994238,3792739274] GGSegmentImplB"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef struct {word f0, f1;} W2; typedef W2 *W2Pt; typedef word (*fPt)(); typedef struct {word f0, f1, f2, f3;} W4; typedef W4 *W4Pt; typedef struct {word f0, f1, f2, f3, f4, f5;} W6; typedef W6 *W6Pt; typedef struct {word f0, f1, f2;} W3; #define SOURCE(p, l) /* source p, l */ static float fc36 = 2.0; static float fc37 = 0.0; static float fc38 = -1.0; #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) static float fc41 = 3.0; static float fc43 = 1.0; #define FMIN(x, y, tx, ty) ( (tx=((float) x)) <= (ty=((float) y)) ? tx : ty ) #define FMAX(x, y, tx, ty) ( (tx=((float) x)) >= (ty=((float) y)) ? tx : ty ) static float fc92 = 0.707106816; #define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) ) static float fc155 = 90.0; static float fc159 = 180.0; static float fc164 = -90.0; static float fc219 = 0.01745328; #define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i ) static void NoName←Q4860(); static void GGSegmentImplB←P0(); static word NoOpSameShapeProc←P60(); static void NoOpControlPointMoved←P120(); static void NoOpControlPointGet←P180(); static word NoOpControlPointCount←P240(); static void NoOpControlPointFieldSet←P300(); static word NoOpControlPointFieldGet←P360(); static void NoOpClosestControlPoint←P420(); static void NoOpClosestPointAndTangent←P480(); static void NoOpLineIntersection←P540(); static void NoOpCircleIntersection←P600(); static word NoOpAsSimpleCurve←P660(); static word NoOpAsPolyline←P720(); static void NoOpJointNormal←P780(); static void NoOpCPNormal←P840(); static void NoOpAddJoint←P900(); static void NoOpFileOut←P960(); static word BuildCircleClass←P1020(); static word CircleBoundBox←P1080(); static word CircleFileIn←P1140(); static void CircleEndPointMoved←P1200(); static word BuildDiscClass←P1260(); static word DiscFileIn←P1320(); static word BuildLineClass←P1380(); static void LineSetStrokeWidth←P1440(); static word MakeLine←P1500(); static word LineBoundBox←P1560(); static word LineTightBox←P1620(); static void UpdateLineBoundBox←P1680(); static word LineCopyData←P1740(); static void LineReverse←P1800(); static void LineBuildPath←P1860(); static void LineBuildPathTransform←P1920(); static void LineTransform←P1980(); static void LineEndPointMoved←P2040(); static word LineDescribe←P2100(); static word LineFileIn←P2160(); static word PointIsInBox←P2220(); static void LineClosestPoint←P2280(); static void LineClosestPointAndTangent←P2340(); static void LineLineIntersection←P2400(); static void LineCircleIntersection←P2460(); static word LineAsSimpleCurve←P2520(); static void LineJointNormal←P2580(); static void LineAddJoint←P2640(); static word BuildArcClass←P2700(); static void ArcSetStrokeWidth←P2760(); static word MakeArc←P2820(); static void ArcGetParams←P2880(); static word ArcBoundBox←P2940(); static word ArcTightBox←P3000(); static void UpdateTightBoxOfArc←P3060(); static void UpdateBoundBoxOfEdge←P3120(); static void UpdateBoundBoxOfArc←P3180(); static word ArcCopyData←P3240(); static void ArcReverse←P3300(); static void ArcTransform←P3360(); static void ArcEndPointMoved←P3420(); static void ArcControlPointMoved←P3480(); static void TransformEndPoints←P3540(); static void ArcBuildPath←P3600(); static void ArcBuildPathTransform←P3660(); static word ArcDescribe←P3720(); static void ArcFileOut←P3780(); static word ArcFileIn←P3840(); static void ArcFieldSet←P3900(); static word ArcFieldGet←P3960(); static void ArcControlPointGet←P4020(); static word ArcControlPointCount←P4080(); static void ArcClosestPoint←P4140(); static void ArcClosestControlPoint←P4200(); static word ArcAsSimpleCurve←P4260(); static word ArcAsPolyline←P4320(); static void ArcCPNormal←P4380(); static void ArcJointNormal←P4440(); static void ArcAddJoint←P4500(); static void Init←P4560(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\254\073\314\103\300\064\024\167\046\102\220\000\000"}; static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\254\073\314\103\300\064\024\167\046\100\244\000\000"}; static struct {unsigned f; char r[4];} string3 = {65537, "\001\000\000"}; static struct {unsigned f; char r[4];} string4 = {131076, "\216\251\000"}; static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\254\073\314\103\300\064\024\167\046\100\200\000\000"}; static struct {unsigned f; char r[28];} string6 = {1638425, "\006\011\000\001\004\001\024\001\040\001\100\124\001\100\130\001\100\134\001\100\140\001\100\144\001\000\000"}; static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\043\211\212\366\300\343\003\307\242\100\164\000\000"}; static struct {unsigned f; char r[4];} string8 = {131074, "\004\003\000"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\151\025\050\076\300\342\020\233\312\102\314\000\000"}; static struct {unsigned f; char r[4];} string10 = {131074, "\003\006\000"}; static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\151\025\050\076\300\342\020\233\312\100\354\000\000"}; static struct {unsigned f; char r[16];} string12 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[44];} string13 = {2752556, "\260\006\005\146\151\162\163\164\257\300\247\031\224\326\300\123\162\224\023\100\164\005\004\162\145\163\164\214\257\300\247\031\224\326\300\123\162\224\023\100\164\261\000"}; static struct {unsigned f; char r[4];} string14 = {131074, "\003\002\000"}; static struct {unsigned f; char r[8];} string15 = {262152, "Line\000\000\000"}; static struct {unsigned f; char r[4];} string16 = {196612, "Arc"}; static struct {unsigned f; char r[16];} string17 = {786448, "Straight Arc\000\000\000"}; static struct {unsigned f; char r[8];} string18 = {262152, "Disc\000\000\000"}; static struct {unsigned f; char r[8];} string19 = {393224, "Circle\000"}; static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\151\025\050\076\300\342\020\233\312\100\164\000\000"}; static struct {unsigned f; char r[8];} string21 = {458759, "\006\001@L\004@\177"}; static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\121\216\014\136\300\111\163\224\167\100\150\000\000"}; static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\265\217\206\011\300\172\271\371\033\100\150\000\000"}; static struct {unsigned f; char r[16];} string24 = {851984, "\257\300IKM\275\300Y\0222&@h\000\000"}; static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\236\155\220\261\300\040\017\026\014\100\150\000\000"}; static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\045\215\147\016\300\153\043\150\276\100\150\000\000"}; static struct {unsigned f; char r[8];} string27 = {1195856741, "gment"}; static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\043\211\212\366\300\343\003\307\242\100\150\000\000"}; static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\104\154\010\164\300\126\073\363\036\100\150\000\000"}; static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"}; static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"}; static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\103\306\166\071\300\047\126\012\237\100\150\000\000"}; static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\245\247\302\156\300\052\156\325\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\004\142\347\110\300\363\053\254\345\100\150\000\000"}; static struct { word f0[26]; word f26; word f27; word f28; word f29; word f30; word f31; word f32; word f33; word f34; word f35; word f36; word f37; word f38; word f39; word f40; word f41; word f42; word f43; word f44; word f45; word f46; word f47; word f48; word f49; word f50; word f51; word f52; word f53; word f54; word f55; word f56; word f57; word f58; word f59; word f60; word f61; word f62; word f63; word f64; word f65; word f66; word f67; word f68; word f69; word f70; word f71; word f72; word f73; word f74; word f75; word f76; word f77; word f78; word f79; word f80; word f81; word f82; word f83; word f84; word f85; word f86; word f87; word f88; word f89; word f90; word f91; word f92; word f93; word f94; word f95; word f96; word f97; word f98; word f99; word f100; word f101; word f102; word f103; word f104; word f105; word f106; word f107; word f108; word f109; word f110; word f111; word f112; word f113; word f114; word f115; word f116; word f117; word f118; word f119; word f120; word f121; word f122; word f123; word f124; word f125; word f126; word f127; word f128; word f129; word f130; word f131; word f132; word f133; word f134; word f135; word f136; word f137; word f138; word f139; word f140; word f141; word f142; word f143; word f144; word f145; word f146; word f147; word f148; word f149; word f150; word f151; word f152; word f153; word f154; word f155; word f156; word f157; word f158; word f159; word f160; word f161; word f162; word f163; word f164; word f165; word f166; word f167; word f168; word f169; word f170; word f171; word f172; word f173; word f174; word f175; word f176; word f177; word f178; word f179[19]; } globalframe = { {0}, (word) Init←P4560, 0, (word) ArcAddJoint←P4500, 0, (word) ArcJointNormal←P4440, 0, (word) ArcCPNormal←P4380, 0, (word) ArcAsPolyline←P4320, 0, (word) ArcAsSimpleCurve←P4260, 0, (word) ArcClosestControlPoint←P4200, 0, (word) ArcClosestPoint←P4140, 0, (word) ArcControlPointCount←P4080, 0, (word) ArcControlPointGet←P4020, 0, (word) ArcFieldGet←P3960, 0, (word) ArcFieldSet←P3900, 0, (word) ArcFileIn←P3840, 0, (word) ArcFileOut←P3780, 0, (word) ArcDescribe←P3720, 0, (word) ArcBuildPathTransform←P3660, 0, (word) ArcBuildPath←P3600, 0, (word) TransformEndPoints←P3540, 0, (word) ArcControlPointMoved←P3480, 0, (word) ArcEndPointMoved←P3420, 0, (word) ArcTransform←P3360, 0, (word) ArcReverse←P3300, 0, (word) ArcCopyData←P3240, 0, (word) UpdateBoundBoxOfArc←P3180, 0, (word) UpdateBoundBoxOfEdge←P3120, 0, (word) UpdateTightBoxOfArc←P3060, 0, (word) ArcTightBox←P3000, 0, (word) ArcBoundBox←P2940, 0, (word) ArcGetParams←P2880, 0, (word) MakeArc←P2820, 0, (word) ArcSetStrokeWidth←P2760, 0, (word) BuildArcClass←P2700, 0, (word) LineAddJoint←P2640, 0, (word) LineJointNormal←P2580, 0, (word) LineAsSimpleCurve←P2520, 0, (word) LineCircleIntersection←P2460, 0, (word) LineLineIntersection←P2400, 0, (word) LineClosestPointAndTangent←P2340, 0, (word) LineClosestPoint←P2280, 0, (word) PointIsInBox←P2220, 0, (word) LineFileIn←P2160, 0, (word) LineDescribe←P2100, 0, (word) LineEndPointMoved←P2040, 0, (word) LineTransform←P1980, 0, (word) LineBuildPathTransform←P1920, 0, (word) LineBuildPath←P1860, 0, (word) LineReverse←P1800, 0, (word) LineCopyData←P1740, 0, (word) UpdateLineBoundBox←P1680, 0, (word) LineTightBox←P1620, 0, (word) LineBoundBox←P1560, 0, (word) MakeLine←P1500, 0, (word) LineSetStrokeWidth←P1440, 0, (word) BuildLineClass←P1380, 0, (word) DiscFileIn←P1320, 0, (word) BuildDiscClass←P1260, 0, (word) CircleEndPointMoved←P1200, 0, (word) CircleFileIn←P1140, 0, (word) CircleBoundBox←P1080, 0, (word) BuildCircleClass←P1020, 0, (word) NoOpFileOut←P960, 0, (word) NoOpAddJoint←P900, 0, (word) NoOpCPNormal←P840, 0, (word) NoOpJointNormal←P780, 0, (word) NoOpAsPolyline←P720, 0, (word) NoOpAsSimpleCurve←P660, 0, (word) NoOpCircleIntersection←P600, 0, (word) NoOpLineIntersection←P540, 0, (word) NoOpClosestPointAndTangent←P480, 0, (word) NoOpClosestControlPoint←P420, 0, (word) NoOpControlPointFieldGet←P360, 0, (word) NoOpControlPointFieldSet←P300, 0, (word) NoOpControlPointCount←P240, 0, (word) NoOpControlPointGet←P180, 0, (word) NoOpControlPointMoved←P120, 0, (word) NoOpSameShapeProc←P60, 0, (word) GGSegmentImplB←P0, {0} }; static void NoName←Q4860() { register ptr gf←c0616 = (ptr) &globalframe; word var←c49212; (* (( (ptr) gf←c0616)+7) ) = (word) XR←GetTypeIndexS((word) (&string1)); (* (( (ptr) gf←c0616)+8) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3); (* (( (ptr) gf←c0616)+9) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string3); (* (( (ptr) gf←c0616)+12) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6); (* (( (ptr) gf←c0616)+13) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8); (* (( (ptr) gf←c0616)+14) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10); (* (( (ptr) gf←c0616)+15) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string3); (* (( (ptr) gf←c0616)+17) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string3); (* (( (ptr) gf←c0616)+18) ) = (word) XR←GetTypeIndex((word) &string13, 0, (word) &string14); (* (ptr) (( (bPt) gf←c0616)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0616)+17) ), (word) &string15); (* (ptr) (( (bPt) gf←c0616)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0616)+9) ), (word) &string16); (* (ptr) (( (bPt) gf←c0616)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0616)+9) ), (word) &string15); (* (ptr) (( (bPt) gf←c0616)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0616)+17) ), (word) &string17); (* (ptr) (( (bPt) gf←c0616)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0616)+17) ), (word) &string16); (* (ptr) (( (bPt) gf←c0616)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0616)+9) ), (word) &string18); (* (ptr) (( (bPt) gf←c0616)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0616)+9) ), (word) &string19); (void) XR←DeclareGlobalFrame((word) "GGSegmentImplB", &globalframe, (word) XR←GetTypeIndex((word) &string20, 0, (word) &string21) , (word) (( (bPt) gf←c0616)+712)/* var←c45596 */ ); var←c49212 = (word) XR←ImportInterface((word) "Angles2d", (word) XR←GetTypeIndexS((word) (&string22)), 11); (* (( (ptr) gf←c0616)+191)/* var←c47548 */ ) = var←c49212; (void) XR←ImportProcS(var←c49212, 67897603); var←c49212 = (word) XR←ImportInterface((word) "GGBoundBox", (word) XR←GetTypeIndexS((word) (&string23)), 24); (* (( (ptr) gf←c0616)+186)/* var←c46172 */ ) = var←c49212; (void) XR←ImportProcS(var←c49212, 789250); (void) XR←ImportProcS(var←c49212, 527618); (void) XR←ImportProcS(var←c49212, 1314309); (void) XR←ImportProcS(var←c49212, 68681990); var←c49212 = (word) XR←ImportInterface((word) "GGCircles", (word) XR←GetTypeIndexS((word) (&string24)), 29); (* (( (ptr) gf←c0616)+190)/* var←c47100 */ ) = var←c49212; (void) XR←ImportProcS(var←c49212, 135010562); (void) XR←ImportProcS(var←c49212, 1839876); (void) XR←ImportProcS(var←c49212, 267521); (void) XR←ImportProcS(var←c49212, 528898); (void) XR←ImportProcS(var←c49212, 67113216); (void) XR←ImportProcS(var←c49212, 68686851); (void) XR←ImportProcS(var←c49212, 403179266); var←c49212 = (word) XR←ImportInterface((word) "GGParseIn", (word) XR←GetTypeIndexS((word) (&string25)), 26); (* (( (ptr) gf←c0616)+194)/* var←c48252 */ ) = var←c49212; (void) XR←ImportProcS(var←c49212, 134483713); var←c49212 = (word) XR←ImportInterface((word) "GGParseOut", (word) XR←GetTypeIndexS((word) (&string26)), 15); (* (( (ptr) gf←c0616)+193)/* var←c48220 */ ) = var←c49212; (void) XR←ImportProcS(var←c49212, 787714); var←c49212 = (word) XR←ImportInterface((word) &string27, (word) XR←GetTypeIndexS((word) (&string28)), 47); (* (( (ptr) gf←c0616)+185)/* var←c46108 */ ) = var←c49212; (void) XR←ImportProcS(var←c49212, 267521); (void) XR←ImportProcS(var←c49212, 266753); (void) XR←ImportProcS(var←c49212, 134752258); (void) XR←ImportProcS(var←c49212, 134752002); (void) XR←ImportProcS(var←c49212, 336602627); (void) XR←ImportProcS(var←c49212, 67374337); (void) XR←ImportProcS(var←c49212, 135801860); (void) XR←ImportProcS(var←c49212, 67643906); (void) XR←ImportProcS(var←c49212, 403711235); (void) XR←ImportProcS(var←c49212, 67379713); (void) XR←ImportProcS(var←c49212, 134750466); (void) XR←ImportProcS(var←c49212, 67904515); (void) XR←ImportProcS(var←c49212, 1057540); (void) XR←ImportProcS(var←c49212, 536066); (void) XR←ImportProcS(var←c49212, 794627); (void) XR←ImportProcS(var←c49212, 67641090); (void) XR←ImportProcS(var←c49212, 67376129); var←c49212 = (word) XR←ImportInterface((word) "GGTransform", (word) XR←GetTypeIndexS((word) (&string29)), 7); (* (( (ptr) gf←c0616)+189)/* var←c46844 */ ) = var←c49212; (void) XR←ImportProcS(var←c49212, 135004418); var←c49212 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string30)), 84); (* (( (ptr) gf←c0616)+187)/* var←c46268 */ ) = var←c49212; var←c49212 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string31)), 55); (* (( (ptr) gf←c0616)+192)/* var←c47964 */ ) = var←c49212; (void) XR←ImportProcS(var←c49212, 67372289); (void) XR←ImportProcS(var←c49212, 135013122); var←c49212 = (word) XR←ImportInterface((word) "Lines2d", (word) XR←GetTypeIndexS((word) (&string32)), 50); (* (( (ptr) gf←c0616)+188)/* var←c46588 */ ) = var←c49212; (void) XR←ImportProcS(var←c49212, 201858818); (void) XR←ImportProcS(var←c49212, 134488321); (void) XR←ImportProcS(var←c49212, 135014914); (void) XR←ImportProcS(var←c49212, 1317123); (void) XR←ImportProcS(var←c49212, 68163330); var←c49212 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string33)), 11); (* (( (ptr) gf←c0616)+196)/* var←c48508 */ ) = var←c49212; (void) XR←ImportProcS(var←c49212, 67371777); var←c49212 = (word) XR←ImportInterface((word) "RealFns", (word) XR←GetTypeIndexS((word) (&string34)), 36); (* (( (ptr) gf←c0616)+195)/* var←c48476 */ ) = var←c49212; (void) XR←ImportProcS(var←c49212, 67373057); (void) XR←ImportProcS(var←c49212, 67372545); (void) XR←ImportProcS(var←c49212, 67372289); (void) XR←ImportProcS(var←c49212, 67636226); var←c49212 = (word) XR←ImportInterface((word) "Vectors2d", (word) XR←GetTypeIndexS((word) (&string35)), 21); (* (( (ptr) gf←c0616)+184)/* var←c45788 */ ) = var←c49212; (void) XR←ImportProcS(var←c49212, 68158210); (void) XR←ImportProcS(var←c49212, 135004418); (void) XR←ImportProcS(var←c49212, 134744321); (void) XR←ImportProcS(var←c49212, 135268098); (void) XR←ImportProcS(var←c49212, 67633665); (void) XR←ImportProcS(var←c49212, 135267842); (void) XR←ImportProcS(var←c49212, 68158722); (void) XR←ImportProcS(var←c49212, 135270914); (void) XR←ImportProcS(var←c49212, 134484993); (void) XR←ImportProcS(var←c49212, 134484737); (void) XR←ImportProcS(var←c49212, 68161282); var←c49212 = (word) XR←ExportInterface((word) &string27, (word) XR←GetTypeIndexS((word) (&string28)), 47); (* (( (ptr) gf←c0616)+197)/* var←c49244 */ ) = var←c49212; (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+512)/* var←c44796 */ , 68419843); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+336)/* var←c44092 */ , 68944900); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+328)/* var←c44060 */ , 402917889); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+704)/* var←c45564 */ , 67641090); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+696)/* var←c45532 */ , 794627); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+688)/* var←c45500 */ , 134750466); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+680)/* var←c45468 */ , 67379713); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+672)/* var←c45436 */ , 1057540); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+664)/* var←c45404 */ , 67904515); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+656)/* var←c45372 */ , 403711235); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+648)/* var←c45340 */ , 336602627); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+640)/* var←c45308 */ , 134752002); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+632)/* var←c45276 */ , 134752258); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+624)/* var←c45244 */ , 67905794); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+616)/* var←c45212 */ , 67643906); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+608)/* var←c45180 */ , 270019332); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+600)/* var←c45148 */ , 135801860); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+592)/* var←c45116 */ , 135015682); (void) XR←ExportProcS(var←c49212, (word) (( (bPt) gf←c0616)+584)/* var←c45084 */ , 536066); } static void GGSegmentImplB←P0(formal←c0100, formal←c099) word formal←c0100; word formal←c099; { register ptr gf←c49276 = (ptr) &globalframe; /* GGSegmentImplB: */ SOURCE(274, 24356) SOURCE(1523, 30) (* (( (ptr) gf←c49276)+4)/* defaultStrokeWidth←v4092 */ ) = (* (ptr) &fc36 ); SOURCE(1555, 35) (* (( (ptr) gf←c49276)+5)/* defaultStrokeEnd←v4120 */ ) = 2; SOURCE(8941, 20) (* (( (ptr) gf←c49276)+6)/* useBBox←v5240 */ ) = 1; SOURCE(24624, 6) (void) Init←P4560(); } static word NoOpSameShapeProc←P60(seg1←v25068, seg2←v25096) word seg1←v25068; word seg2←v25096; { word var←c25140; /* NoOpSameShapeProc: */ SOURCE(1593, 71) SOURCE(1652, 12) return(1); } static void NoOpControlPointMoved←P120(seg←v25200, transform←v25228, controlPointNum←v25256) word seg←v25200; word transform←v25228; word controlPointNum←v25256; { /* NoOpControlPointMoved: */ } static void NoOpControlPointGet←P180(formal←c0110, seg←v25316, controlPointNum←v25344) word formal←c0110; word seg←v25316; word controlPointNum←v25344; { W2 point←v25388; /* NoOpControlPointGet: */ SOURCE(1830, 86) SOURCE(1896, 20) point←v25388.f0 = (* (ptr) &fc37 ); point←v25388.f1 = (* (ptr) &fc37 ); /* removed tail goto */ (* (W2Pt) formal←c0110 ) = point←v25388; return; } static word NoOpControlPointCount←P240(seg←v25448) word seg←v25448; { word controlPointCount←v25492; /* NoOpControlPointCount: */ SOURCE(1919, 91) SOURCE(1989, 21) controlPointCount←v25492 = 0; SOURCE(1919, 91) return(controlPointCount←v25492); } static void NoOpControlPointFieldSet←P300(seg←v25552, controlPointNum←v25580, selected←v25608, selectClass←v25636) word seg←v25552; word controlPointNum←v25580; word selected←v25608; word selectClass←v25636; { /* NoOpControlPointFieldSet: */ } static word NoOpControlPointFieldGet←P360(seg←v25696, controlPointNum←v25724, selectClass←v25752) word seg←v25696; word controlPointNum←v25724; word selectClass←v25752; { word selected←v25796; /* NoOpControlPointFieldGet: */ SOURCE(2092, 75) SOURCE(2169, 5) (void) XR←RaiseUnnamedError(); } static void NoOpClosestControlPoint←P420(formal←c0128, seg←v25856, testPoint←v25884, tolerance←v25912) word formal←c0128; word seg←v25856; W2 testPoint←v25884; word tolerance←v25912; { W2 point←v25956; W2 normal←v25984; word controlPointNum←v26012; word success←v26040; /* NoOpClosestControlPoint: */ SOURCE(2179, 148) SOURCE(2254, 15) normal←v25984.f0 = (* (ptr) &fc37 ); normal←v25984.f1 = (* (ptr) &fc38 ); SOURCE(2271, 18) point←v25956.f0 = (* (ptr) &fc37 ); point←v25956.f1 = (* (ptr) &fc37 ); SOURCE(2291, 19) controlPointNum←v26012 = 0; SOURCE(2312, 15) success←v26040 = 0; /* removed tail goto */ (* (W2Pt) formal←c0128 ) = point←v25956; (* (W2Pt) (( (ptr) formal←c0128)+2) ) = normal←v25984; (* (( (ptr) formal←c0128)+4) ) = controlPointNum←v26012; (* (( (ptr) formal←c0128)+5) ) = success←v26040; return; } static void NoOpClosestPointAndTangent←P480(formal←c0135, seg←v26100, testPoint←v26128, tolerance←v26156) word formal←c0135; word seg←v26100; W2 testPoint←v26128; word tolerance←v26156; { W2 point←v26200; W2 tangent←v26228; word success←v26256; /* NoOpClosestPointAndTangent: */ SOURCE(2332, 134) SOURCE(2413, 18) point←v26200.f0 = (* (ptr) &fc37 ); point←v26200.f1 = (* (ptr) &fc37 ); SOURCE(2433, 16) tangent←v26228.f0 = (* (ptr) &fc37 ); tangent←v26228.f1 = (* (ptr) &fc38 ); SOURCE(2451, 15) success←v26256 = 0; /* removed tail goto */ (* (W2Pt) formal←c0135 ) = point←v26200; (* (W2Pt) (( (ptr) formal←c0135)+2) ) = tangent←v26228; (* (( (ptr) formal←c0135)+4) ) = success←v26256; return; } static void NoOpLineIntersection←P540(formal←c0140, seg←v26316, line←v26344) word formal←c0140; word seg←v26316; word line←v26344; { word points←v26388; word pointCount←v26416; /* NoOpLineIntersection: */ SOURCE(2471, 97) SOURCE(2471, 97) points←v26388 = 0; SOURCE(2540, 12) points←v26388 = 0; SOURCE(2554, 14) pointCount←v26416 = 0; /* removed tail goto */ (* (ptr) formal←c0140 ) = points←v26388; (* (( (ptr) formal←c0140)+1) ) = pointCount←v26416; return; } static void NoOpCircleIntersection←P600(formal←c0145, seg←v26476, circle←v26504) word formal←c0145; word seg←v26476; word circle←v26504; { word points←v26548; word pointCount←v26576; /* NoOpCircleIntersection: */ SOURCE(2573, 101) SOURCE(2573, 101) points←v26548 = 0; SOURCE(2646, 12) points←v26548 = 0; SOURCE(2660, 14) pointCount←v26576 = 0; /* removed tail goto */ (* (ptr) formal←c0145 ) = points←v26548; (* (( (ptr) formal←c0145)+1) ) = pointCount←v26576; return; } static word NoOpAsSimpleCurve←P660(seg←v26636, point←v26664) word seg←v26636; W2 point←v26664; { word simpleCurve←v26708; /* NoOpAsSimpleCurve: */ SOURCE(2679, 80) SOURCE(2679, 80) simpleCurve←v26708 = 0; SOURCE(2742, 17) simpleCurve←v26708 = 0; SOURCE(2679, 80) return(simpleCurve←v26708); } static word NoOpAsPolyline←P720(seg←v26768, tolerance←v26796) word seg←v26768; word tolerance←v26796; { register ptr gf←c49308 = (ptr) &globalframe; word polyline←v26840; /* NoOpAsPolyline: */ SOURCE(2764, 156) SOURCE(2764, 156) polyline←v26840 = 0; SOURCE(2821, 34) { word var←c45724; var←c45724 = XR←NewObject(24, (* (( (ptr) gf←c49308)+7) )); (* (( (ptr) var←c45724)+1) ) = 2; polyline←v26840 = var←c45724; }; SOURCE(2857, 19) (* (ptr) polyline←v26840 ) = 2; SOURCE(2878, 20) { word limit39; (* (( (W2Pt) (( (ptr) polyline←v26840)+2))+( limit39 = (* (( (ptr) polyline←v26840)+1) ), BCK(0, limit39) )) ) = (* (W2Pt) (( (ptr) seg←v26768)+9) ); }; SOURCE(2900, 20) { word limit40; (* (( (W2Pt) (( (ptr) polyline←v26840)+2))+( limit40 = (* (( (ptr) polyline←v26840)+1) ), BCK(1, limit40) )) ) = (* (W2Pt) (( (ptr) seg←v26768)+11) ); }; SOURCE(2764, 156) return(polyline←v26840); } static void NoOpJointNormal←P780(formal←c0159, seg←v26900, joint←v26928, point←v26956, hi←v26984) word formal←c0159; word seg←v26900; W2 joint←v26928; W2 point←v26956; word hi←v26984; { W2 normal←v27028; W2 tangent←v27056; /* NoOpJointNormal: */ SOURCE(2925, 92) SOURCE(2984, 15) normal←v27028.f0 = (* (ptr) &fc37 ); normal←v27028.f1 = (* (ptr) &fc38 ); SOURCE(3001, 16) tangent←v27056.f0 = (* (ptr) &fc37 ); tangent←v27056.f1 = (* (ptr) &fc38 ); /* removed tail goto */ (* (W2Pt) formal←c0159 ) = normal←v27028; (* (W2Pt) (( (ptr) formal←c0159)+2) ) = tangent←v27056; return; } static void NoOpCPNormal←P840(formal←c0165, seg←v27116, controlPointNum←v27144, cPoint←v27172, testPoint←v27200) word formal←c0165; word seg←v27116; word controlPointNum←v27144; W2 cPoint←v27172; W2 testPoint←v27200; { W2 normal←v27244; /* NoOpCPNormal: */ SOURCE(3022, 68) SOURCE(3075, 15) normal←v27244.f0 = (* (ptr) &fc37 ); normal←v27244.f1 = (* (ptr) &fc38 ); /* removed tail goto */ (* (W2Pt) formal←c0165 ) = normal←v27244; return; } static void NoOpAddJoint←P900(formal←c0170, seg←v27304, pos←v27332) word formal←c0170; word seg←v27304; W2 pos←v27332; { word seg1←v27376; word seg2←v27404; /* NoOpAddJoint: */ SOURCE(3095, 51) SOURCE(3095, 51) seg1←v27376 = 0; SOURCE(3095, 51) seg2←v27404 = 0; SOURCE(3148, 5) (void) XR←RaiseUnnamedError(); } static void NoOpFileOut←P960(seg←v27464, f←v27492) word seg←v27464; word f←v27492; { /* NoOpFileOut: */ } static word BuildCircleClass←P1020() { register ptr gf←c49340 = (ptr) &globalframe; word circleClass←v6520; /* BuildCircleClass: */ SOURCE(3212, 204) SOURCE(3212, 204) circleClass←v6520 = 0; SOURCE(3278, 138) { word var←c45756; var←c45756 = XR←NewObject(116, (* (( (ptr) gf←c49340)+8) )); (* (ptr) var←c45756 ) = (* (( (ptr) gf←c49340)+25) ); (* (( (ptr) var←c45756)+1) ) = (word) (( (bPt) gf←c49340)+568)/* var←c45020 */ ; (* (( (ptr) var←c45756)+9) ) = (word) (( (bPt) gf←c49340)+552)/* var←c44956 */ ; (* (( (ptr) var←c45756)+13) ) = (word) (( (bPt) gf←c49340)+560)/* var←c44988 */ ; circleClass←v6520 = var←c45756; }; SOURCE(3212, 204) return(circleClass←v6520); } static word CircleBoundBox←P1080(seg←v6580) word seg←v6580; { register ptr gf←c49372 = (ptr) &globalframe; word bBox←v6624; word radius←v15020; word cpHalf←v15048; /* CircleBoundBox: */ SOURCE(3422, 326) SOURCE(3422, 326) bBox←v6624 = 0; SOURCE(3501, 45) { word x42; word x44; *(float*)&cpHalf←v15048 = ( x42 = (* (ptr) &fc41 ), *(float*)&x42 ) + ( x44 = (* (ptr) &fc43 ), *(float*)&x44 ); }; SOURCE(3548, 43) { word pd45; pd45 = (* (( (ptr) (* (( (ptr) gf←c49372)+184)/* var←c45788 */ ))+19) ); radius←v15020 = (word) ( *( (fPt) ((* (ptr) pd45 ))))((* (W2Pt) (( (ptr) seg←v6580)+9) ), (* (W2Pt) (( (ptr) seg←v6580)+11) ), pd45); }; SOURCE(3593, 138) { word var←c45820; word var←c45884; word var←c45948; word var←c46012; word var←c46044; { word x46; word x47; word x48; *(float*)&var←c45820 = (( x46 = (* (( (ptr) seg←v6580)+9) ), *(float*)&x46 ) - ( x47 = radius←v15020, *(float*)&x47 )) - ( x48 = cpHalf←v15048, *(float*)&x48 ); }; { word x49; word x50; word x51; *(float*)&var←c45884 = (( x49 = (* (( (ptr) seg←v6580)+10) ), *(float*)&x49 ) - ( x50 = radius←v15020, *(float*)&x50 )) - ( x51 = cpHalf←v15048, *(float*)&x51 ); }; { word x52; word x53; word x54; *(float*)&var←c45948 = (( x52 = (* (( (ptr) seg←v6580)+9) ), *(float*)&x52 ) + ( x53 = radius←v15020, *(float*)&x53 )) + ( x54 = cpHalf←v15048, *(float*)&x54 ); }; { word x55; word x56; word x57; *(float*)&var←c46012 = (( x55 = (* (( (ptr) seg←v6580)+10) ), *(float*)&x55 ) + ( x56 = radius←v15020, *(float*)&x56 )) + ( x57 = cpHalf←v15048, *(float*)&x57 ); }; var←c46044 = (* (( (ptr) seg←v6580)+21) ); (* (ptr) var←c46044 ) = var←c45820; (* (( (ptr) var←c46044)+1) ) = var←c45884; (* (( (ptr) var←c46044)+2) ) = var←c45948; (* (( (ptr) var←c46044)+3) ) = var←c46012; (* (( (ptr) var←c46044)+4) ) = 0; (* (( (ptr) var←c46044)+5) ) = 0; }; SOURCE(3733, 15) bBox←v6624 = (* (( (ptr) seg←v6580)+21) ); SOURCE(3422, 326) return(bBox←v6624); } static word CircleFileIn←P1140(f←v6684, loPoint←v6712, hiPoint←v6740, version←v6768) word f←v6684; W2 loPoint←v6712; W2 hiPoint←v6740; word version←v6768; { register ptr gf←c49404 = (ptr) &globalframe; word seg←v6812; /* CircleFileIn: */ SOURCE(3754, 409) SOURCE(3754, 409) seg←v6812 = 0; SOURCE(3855, 278) { word var←c46076; word var←c46140; word var←c46204; word var←c46236; { word pd58; pd58 = (* (( (ptr) (* (( (ptr) gf←c49404)+185)/* var←c46108 */ ))+24) ); var←c46076 = (word) ( *( (fPt) ((* (ptr) pd58 ))))((* ((( (ptr) gf←c49404)+25)) ), pd58); }; { word pd59; pd59 = (* (( (ptr) (* (( (ptr) gf←c49404)+186)/* var←c46172 */ ))+5) ); var←c46140 = (word) ( *( (fPt) ((* (ptr) pd59 ))))((* (ptr) &fc37 ), (* (ptr) &fc37 ), (* (ptr) &fc37 ), (* (ptr) &fc37 ), 0, 0, pd59) ; }; { word pd60; pd60 = (* (( (ptr) (* (( (ptr) gf←c49404)+186)/* var←c46172 */ ))+5) ); var←c46204 = (word) ( *( (fPt) ((* (ptr) pd60 ))))((* (ptr) &fc37 ), (* (ptr) &fc37 ), (* (ptr) &fc37 ), (* (ptr) &fc37 ), 0, 0, pd60) ; }; var←c46236 = XR←NewObject(104, (* (( (ptr) gf←c49404)+12) )); (* (ptr) var←c46236 ) = var←c46076; (* (( (ptr) var←c46236)+2) ) = (* (ptr) &fc43 ); (* (( (ptr) var←c46236)+3) ) = 2; (* (( (ptr) var←c46236)+6) ) = (* (ptr) &fc37 ); (* (( (ptr) var←c46236)+7) ) = (* (ptr) &fc38 ); (* (( (ptr) var←c46236)+8) ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c49404)+187)/* var←c46268 */ ))+54) ) ); (* (W2Pt) (( (ptr) var←c46236)+9) ) = loPoint←v6712; (* (W2Pt) (( (ptr) var←c46236)+11) ) = hiPoint←v6740; (* (( (ptr) var←c46236)+13) ) = (* (ptr) &fc37 ); (* (( (ptr) var←c46236)+14) ) = (* (ptr) &fc37 ); (* (( (ptr) var←c46236)+15) ) = (* (ptr) &fc37 ); (* (( (ptr) var←c46236)+16) ) = (* (ptr) &fc37 ); (* (W4Pt) (( (ptr) var←c46236)+17) ) = (* (W4Pt) (( (ptr) gf←c49404)+180)/* var←c45660 */ ); (* (( (ptr) var←c46236)+21) ) = var←c46140; (* (( (ptr) var←c46236)+22) ) = var←c46204; seg←v6812 = var←c46236; }; SOURCE(4135, 28) { word var←c46300; word pd61; pd61 = (* (( (ptr) (* (ptr) seg←v6812 ))+1) ); var←c46300 = (word) ( *( (fPt) ((* (ptr) pd61 ))))(seg←v6812, pd61); }; SOURCE(3754, 409) return(seg←v6812); } static void CircleEndPointMoved←P1200(seg←v6872, lo←v6900, newPoint←v6928) word seg←v6872; word lo←v6900; W2 newPoint←v6928; { /* CircleEndPointMoved: */ } static word BuildDiscClass←P1260() { register ptr gf←c49436 = (ptr) &globalframe; word discClass←v6988; /* BuildDiscClass: */ SOURCE(4245, 194) SOURCE(4245, 194) discClass←v6988 = 0; SOURCE(4307, 132) { word var←c46332; var←c46332 = XR←NewObject(116, (* (( (ptr) gf←c49436)+8) )); (* (ptr) var←c46332 ) = (* (( (ptr) gf←c49436)+24) ); (* (( (ptr) var←c46332)+1) ) = (word) (( (bPt) gf←c49436)+568)/* var←c45020 */ ; (* (( (ptr) var←c46332)+9) ) = (word) (( (bPt) gf←c49436)+552)/* var←c44956 */ ; (* (( (ptr) var←c46332)+13) ) = (word) (( (bPt) gf←c49436)+536)/* var←c44892 */ ; discClass←v6988 = var←c46332; }; SOURCE(4245, 194) return(discClass←v6988); } static word DiscFileIn←P1320(f←v7048, loPoint←v7076, hiPoint←v7104, version←v7132) word f←v7048; W2 loPoint←v7076; W2 hiPoint←v7104; word version←v7132; { register ptr gf←c49468 = (ptr) &globalframe; word seg←v7176; /* DiscFileIn: */ SOURCE(4445, 459) SOURCE(4445, 459) seg←v7176 = 0; SOURCE(4544, 330) { word var←c46364; word var←c46396; word var←c46428; word var←c46460; { word pd62; pd62 = (* (( (ptr) (* (( (ptr) gf←c49468)+185)/* var←c46108 */ ))+24) ); var←c46364 = (word) ( *( (fPt) ((* (ptr) pd62 ))))((* ((( (ptr) gf←c49468)+24)) ), pd62); }; { word pd63; pd63 = (* (( (ptr) (* (( (ptr) gf←c49468)+186)/* var←c46172 */ ))+5) ); var←c46396 = (word) ( *( (fPt) ((* (ptr) pd63 ))))((* (ptr) &fc37 ), (* (ptr) &fc37 ), (* (ptr) &fc37 ), (* (ptr) &fc37 ), 0, 0, pd63) ; }; { word pd64; pd64 = (* (( (ptr) (* (( (ptr) gf←c49468)+186)/* var←c46172 */ ))+5) ); var←c46428 = (word) ( *( (fPt) ((* (ptr) pd64 ))))((* (ptr) &fc37 ), (* (ptr) &fc37 ), (* (ptr) &fc37 ), (* (ptr) &fc37 ), 0, 0, pd64) ; }; var←c46460 = XR←NewObject(104, (* (( (ptr) gf←c49468)+12) )); (* (ptr) var←c46460 ) = var←c46364; (* (( (ptr) var←c46460)+2) ) = (* (ptr) &fc43 ); (* (( (ptr) var←c46460)+3) ) = 2; (* (( (ptr) var←c46460)+6) ) = (* (ptr) &fc37 ); (* (( (ptr) var←c46460)+7) ) = (* (ptr) &fc38 ); (* (( (ptr) var←c46460)+8) ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c49468)+187)/* var←c46268 */ ))+54) ) ); (* (W2Pt) (( (ptr) var←c46460)+9) ) = loPoint←v7076; (* (W2Pt) (( (ptr) var←c46460)+11) ) = hiPoint←v7104; (* (( (ptr) var←c46460)+13) ) = (* (ptr) &fc37 ); (* (( (ptr) var←c46460)+14) ) = (* (ptr) &fc37 ); (* (( (ptr) var←c46460)+15) ) = (* (ptr) &fc37 ); (* (( (ptr) var←c46460)+16) ) = (* (ptr) &fc37 ); (* (W4Pt) (( (ptr) var←c46460)+17) ) = (* (W4Pt) (( (ptr) gf←c49468)+180)/* var←c45660 */ ); (* (( (ptr) var←c46460)+21) ) = var←c46396; (* (( (ptr) var←c46460)+22) ) = var←c46428; seg←v7176 = var←c46460; }; SOURCE(4876, 28) { word var←c46492; word pd65; pd65 = (* (( (ptr) (* (ptr) seg←v7176 ))+1) ); var←c46492 = (word) ( *( (fPt) ((* (ptr) pd65 ))))(seg←v7176, pd65); }; SOURCE(4445, 459) return(seg←v7176); } static word BuildLineClass←P1380() { register ptr gf←c49500 = (ptr) &globalframe; word lineClass←v7292; /* BuildLineClass: */ SOURCE(5040, 1066) SOURCE(5040, 1066) lineClass←v7292 = 0; SOURCE(5118, 988) { word var←c46524; var←c46524 = XR←NewObject(116, (* (( (ptr) gf←c49500)+8) )); (* (ptr) var←c46524 ) = (* (( (ptr) gf←c49500)+21) ); (* (( (ptr) var←c46524)+1) ) = (word) (( (bPt) gf←c49500)+504)/* var←c44764 */ ; (* (( (ptr) var←c46524)+2) ) = (word) (( (bPt) gf←c49500)+496)/* var←c44732 */ ; (* (( (ptr) var←c46524)+3) ) = (word) (( (bPt) gf←c49500)+480)/* var←c44668 */ ; (* (( (ptr) var←c46524)+4) ) = (word) (( (bPt) gf←c49500)+472)/* var←c44636 */ ; (* (( (ptr) var←c46524)+5) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c49500)+185)/* var←c46108 */ ))+35) ); (* (( (ptr) var←c46524)+6) ) = (word) (( (bPt) gf←c49500)+464)/* var←c44604 */ ; (* (( (ptr) var←c46524)+7) ) = (word) (( (bPt) gf←c49500)+456)/* var←c44572 */ ; (* (( (ptr) var←c46524)+8) ) = (word) (( (bPt) gf←c49500)+448)/* var←c44540 */ ; (* (( (ptr) var←c46524)+9) ) = (word) (( (bPt) gf←c49500)+440)/* var←c44508 */ ; (* (( (ptr) var←c46524)+10) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c49500)+185)/* var←c46108 */ ))+36) ); (* (( (ptr) var←c46524)+11) ) = (word) (( (bPt) gf←c49500)+432)/* var←c44476 */ ; (* (( (ptr) var←c46524)+12) ) = (* (( (ptr) (* (( (ptr) gf←c49500)+185)/* var←c46108 */ ))+50) ); (* (( (ptr) var←c46524)+13) ) = (word) (( (bPt) gf←c49500)+424)/* var←c44444 */ ; (* (( (ptr) var←c46524)+14) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c49500)+185)/* var←c46108 */ ))+39) ); (* (( (ptr) var←c46524)+15) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c49500)+185)/* var←c46108 */ ))+40) ); (* (( (ptr) var←c46524)+16) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c49500)+185)/* var←c46108 */ ))+37) ); (* (( (ptr) var←c46524)+17) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c49500)+185)/* var←c46108 */ ))+38) ); (* (( (ptr) var←c46524)+18) ) = (word) (( (bPt) gf←c49500)+408)/* var←c44380 */ ; (* (( (ptr) var←c46524)+19) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c49500)+185)/* var←c46108 */ ))+41) ); (* (( (ptr) var←c46524)+20) ) = (word) (( (bPt) gf←c49500)+400)/* var←c44348 */ ; (* (( (ptr) var←c46524)+21) ) = (word) (( (bPt) gf←c49500)+392)/* var←c44316 */ ; (* (( (ptr) var←c46524)+22) ) = (word) (( (bPt) gf←c49500)+384)/* var←c44284 */ ; (* (( (ptr) var←c46524)+23) ) = (word) (( (bPt) gf←c49500)+376)/* var←c44252 */ ; (* (( (ptr) var←c46524)+24) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c49500)+185)/* var←c46108 */ ))+46) ); (* (( (ptr) var←c46524)+25) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c49500)+185)/* var←c46108 */ ))+48) ); (* (( (ptr) var←c46524)+26) ) = (word) (( (bPt) gf←c49500)+368)/* var←c44220 */ ; (* (( (ptr) var←c46524)+27) ) = (word) (( (bPt) gf←c49500)+360)/* var←c44188 */ ; (* (( (ptr) var←c46524)+28) ) = (word) (( (bPt) gf←c49500)+520)/* var←c44828 */ ; lineClass←v7292 = var←c46524; }; SOURCE(5040, 1066) return(lineClass←v7292); } static void LineSetStrokeWidth←P1440(seg←v7352, strokeWidth←v7380) word seg←v7352; word strokeWidth←v7380; { /* LineSetStrokeWidth: */ SOURCE(6112, 117) SOURCE(6175, 29) (* (( (ptr) seg←v7352)+2) ) = strokeWidth←v7380; SOURCE(6206, 23) (void) UpdateLineBoundBox←P1680(seg←v7352); } static word MakeLine←P1500(p0←v7440, p1←v7468, props←v7496) W2 p0←v7440; W2 p1←v7468; word props←v7496; { register ptr gf←c49532 = (ptr) &globalframe; word seg←v7640; word lineSegment←v15092; /* MakeLine: */ SOURCE(6235, 552) SOURCE(6235, 552) seg←v7640 = 0; SOURCE(6324, 79) { word var←c46556; word var←c46620; { word pd66; pd66 = (* (( (ptr) (* (( (ptr) gf←c49532)+188)/* var←c46588 */ ))+27) ); var←c46556 = (word) ( *( (fPt) ((* (ptr) pd66 ))))(p0←v7440, p1←v7468, pd66); }; var←c46620 = XR←NewObject(4, (* (( (ptr) gf←c49532)+15) )); (* (ptr) var←c46620 ) = var←c46556; lineSegment←v15092 = var←c46620; }; SOURCE(6405, 357) { word var←c46652; word var←c46684; word var←c46716; word var←c46748; { word pd67; pd67 = (* (( (ptr) (* (( (ptr) gf←c49532)+185)/* var←c46108 */ ))+24) ); var←c46652 = (word) ( *( (fPt) ((* (ptr) pd67 ))))((* ((( (ptr) gf←c49532)+21)) ), pd67); }; { word pd68; pd68 = (* (( (ptr) (* (( (ptr) gf←c49532)+186)/* var←c46172 */ ))+5) ); var←c46684 = (word) ( *( (fPt) ((* (ptr) pd68 ))))((* (ptr) &fc37 ), (* (ptr) &fc37 ), (* (ptr) &fc37 ), (* (ptr) &fc37 ), 0, 0, pd68) ; }; { word pd69; pd69 = (* (( (ptr) (* (( (ptr) gf←c49532)+186)/* var←c46172 */ ))+5) ); var←c46716 = (word) ( *( (fPt) ((* (ptr) pd69 ))))((* (ptr) &fc37 ), (* (ptr) &fc37 ), (* (ptr) &fc37 ), (* (ptr) &fc37 ), 0, 0, pd69) ; }; var←c46748 = XR←NewObject(104, (* (( (ptr) gf←c49532)+12) )); (* (ptr) var←c46748 ) = var←c46652; (* (( (ptr) var←c46748)+2) ) = (* (( (ptr) gf←c49532)+4)/* defaultStrokeWidth←v4092 */ ); (* (( (ptr) var←c46748)+3) ) = (* (( (ptr) gf←c49532)+5)/* defaultStrokeEnd←v4120 */ ); (* (( (ptr) var←c46748)+6) ) = (* (ptr) &fc37 ); (* (( (ptr) var←c46748)+7) ) = (* (ptr) &fc38 ); (* (( (ptr) var←c46748)+8) ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c49532)+187)/* var←c46268 */ ))+54) ) ); (* (W2Pt) (( (ptr) var←c46748)+9) ) = p0←v7440; (* (W2Pt) (( (ptr) var←c46748)+11) ) = p1←v7468; (* (( (ptr) var←c46748)+13) ) = (* (ptr) &fc37 ); (* (( (ptr) var←c46748)+14) ) = (* (ptr) &fc37 ); (* (( (ptr) var←c46748)+15) ) = (* (ptr) &fc37 ); (* (( (ptr) var←c46748)+16) ) = (* (ptr) &fc37 ); (* (W4Pt) (( (ptr) var←c46748)+17) ) = (* (W4Pt) (( (ptr) gf←c49532)+180)/* var←c45660 */ ); (* (( (ptr) var←c46748)+21) ) = var←c46684; (* (( (ptr) var←c46748)+22) ) = var←c46716; (* (( (ptr) var←c46748)+24) ) = lineSegment←v15092; (* (( (ptr) var←c46748)+25) ) = props←v7496; seg←v7640 = var←c46748; }; SOURCE(6764, 23) (void) UpdateLineBoundBox←P1680(seg←v7640); SOURCE(6235, 552) return(seg←v7640); } static word LineBoundBox←P1560(seg←v7700) word seg←v7700; { word bBox←v7744; /* LineBoundBox: */ SOURCE(6793, 78) SOURCE(6793, 78) bBox←v7744 = 0; SOURCE(6856, 15) bBox←v7744 = (* (( (ptr) seg←v7700)+21) ); SOURCE(6793, 78) return(bBox←v7744); } static word LineTightBox←P1620(seg←v7804) word seg←v7804; { word bBox←v7848; /* LineTightBox: */ SOURCE(6877, 82) SOURCE(6877, 82) bBox←v7848 = 0; SOURCE(6940, 19) bBox←v7848 = (* (( (ptr) seg←v7804)+22) ); SOURCE(6877, 82) return(bBox←v7848); } static void UpdateLineBoundBox←P1680(seg←v7908) word seg←v7908; { register ptr gf←c49564 = (ptr) &globalframe; word loX←v15136; word loY←v15164; word hiX←v15192; word hiY←v15220; word pad←v15248; /* UpdateLineBoundBox: */ SOURCE(6997, 442) SOURCE(7078, 29) { word x70; float tf71; float tf72; word x73; float tf74; loX←v15136 = ( tf74 = FMIN(( x70 = (* (( (ptr) seg←v7908)+9) ), *(float*)&x70 ), ( x73 = (* (( (ptr) seg←v7908)+11) ), *(float*)&x73 ), tf71, tf72), *(word*)&tf74 ); }; SOURCE(7109, 29) { word x75; float tf76; float tf77; word x78; float tf79; hiX←v15192 = ( tf79 = FMAX(( x75 = (* (( (ptr) seg←v7908)+9) ), *(float*)&x75 ), ( x78 = (* (( (ptr) seg←v7908)+11) ), *(float*)&x78 ), tf76, tf77), *(word*)&tf79 ); }; SOURCE(7140, 29) { word x80; float tf81; float tf82; word x83; float tf84; loY←v15164 = ( tf84 = FMIN(( x80 = (* (( (ptr) seg←v7908)+10) ), *(float*)&x80 ), ( x83 = (* (( (ptr) seg←v7908)+12) ), *(float*)&x83 ), tf81, tf82), *(word*)&tf84 ); }; SOURCE(7171, 29) { word x85; float tf86; float tf87; word x88; float tf89; hiY←v15220 = ( tf89 = FMAX(( x85 = (* (( (ptr) seg←v7908)+10) ), *(float*)&x85 ), ( x88 = (* (( (ptr) seg←v7908)+12) ), *(float*)&x88 ), tf86, tf87), *(word*)&tf89 ); }; SOURCE(7202, 59) { word pd90; pd90 = (* (( (ptr) (* (( (ptr) gf←c49564)+186)/* var←c46172 */ ))+18) ); (void) ( *( (fPt) ((* (ptr) pd90 ))))((* (( (ptr) seg←v7908)+22) ), loX←v15136, loY←v15164, hiX←v15192, hiY←v15220, pd90) ; }; SOURCE(7263, 25) (* (W6Pt) (* (( (ptr) seg←v7908)+21) ) ) = (* (W6Pt) (* (( (ptr) seg←v7908)+22) ) ); SOURCE(7290, 106) if (((* (( (ptr) seg←v7908)+3) ) == 0)) { SOURCE(7321, 44) { word x91; word x93; word x94; *(float*)&pad←v15248 = (( x91 = (* (( (ptr) seg←v7908)+2) ), *(float*)&x91 ) * ( x93 = (* (ptr) &fc92 ), *(float*)&x93 )) + ( x94 = (* (ptr) &fc43 ), *(float*)&x94 ); }; } else { SOURCE(7365, 31) { word x95; word x96; word x97; *(float*)&pad←v15248 = (( x95 = (* (( (ptr) seg←v7908)+2) ), *(float*)&x95 ) / ( x96 = (* (ptr) &fc36 ), *(float*)&x96 )) + ( x97 = (* (ptr) &fc43 ), *(float*)&x97 ); }; }; SOURCE(7398, 41) { word pd98; pd98 = (* (( (ptr) (* (( (ptr) gf←c49564)+186)/* var←c46172 */ ))+17) ); (void) ( *( (fPt) ((* (ptr) pd98 ))))((* (( (ptr) seg←v7908)+21) ), pad←v15248, pd98); }; } static word LineCopyData←P1740(seg←v7968) word seg←v7968; { register ptr gf←c49596 = (ptr) &globalframe; word data←v8012; word lineSegment←v15292; /* LineCopyData: */ SOURCE(7445, 173) SOURCE(7445, 173) data←v8012 = 0; SOURCE(7507, 40) lineSegment←v15292 = XR←Narrow((* (( (ptr) seg←v7968)+24) ), (* (( (ptr) gf←c49596)+15) )); SOURCE(7549, 69) { word var←c46780; word var←c46812; { word pd99; pd99 = (* (( (ptr) (* (( (ptr) gf←c49596)+188)/* var←c46588 */ ))+27) ); var←c46780 = (word) ( *( (fPt) ((* (ptr) pd99 ))))((* (W2Pt) (( (ptr) seg←v7968)+9) ), (* (W2Pt) (( (ptr) seg←v7968)+11) ), pd99); }; var←c46812 = XR←NewObject(4, (* (( (ptr) gf←c49596)+15) )); (* (ptr) var←c46812 ) = var←c46780; data←v8012 = var←c46812; }; SOURCE(7445, 173) return(data←v8012); } static void LineReverse←P1800(seg←v8084) word seg←v8084; { /* LineReverse: */ } static void LineBuildPath←P1860(seg←v8144, lineTo←v8172, curveTo←v8200, conicTo←v8228, arcTo←v8256) word seg←v8144; word lineTo←v8172; word curveTo←v8200; word conicTo←v8228; word arcTo←v8256; { /* LineBuildPath: */ SOURCE(7666, 179) SOURCE(7831, 14) (void) ( *( (fPt) ((* (ptr) lineTo←v8172 ))))((* (W2Pt) ((( (ptr) seg←v8144)+11)) ), lineTo←v8172); } static void LineBuildPathTransform←P1920(seg←v8316, transform←v8344, entire←v8372, lo←v8400, hi←v8428, controlPoints←v8456, lineTo←v8484, curveTo←v8512, conicTo←v8540, arcTo←v8568) word seg←v8316; word transform←v8344; word entire←v8372; word lo←v8400; word hi←v8428; word controlPoints←v8456; word lineTo←v8484; word curveTo←v8512; word conicTo←v8540; word arcTo←v8568; { register ptr gf←c49628 = (ptr) &globalframe; W2 hiPoint←v15336; /* LineBuildPathTransform: */ SOURCE(7851, 418) SOURCE(8137, 98) if (((0 != hi←v8428) || (0 != entire←v8372))) { { W2 var←c0256; { word pd100; pd100 = (* (( (ptr) (* (( (ptr) gf←c49628)+189)/* var←c46844 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd100 ))))((word) &var←c0256, transform←v8344, (* (W2Pt) (( (ptr) seg←v8316)+11) ), pd100); }; hiPoint←v15336 = var←c0256; }; } else { hiPoint←v15336.f0 = (* (( (ptr) seg←v8316)+11) ); hiPoint←v15336.f1 = (* (( (ptr) seg←v8316)+12) ); }; SOURCE(8237, 32) { W2 var←c46908; var←c46908.f0 = hiPoint←v15336.f0; var←c46908.f1 = hiPoint←v15336.f1; (void) ( *( (fPt) ((* (ptr) lineTo←v8484 ))))(var←c46908, lineTo←v8484); }; } static void LineTransform←P1980(seg←v8628, transform←v8656) word seg←v8628; word transform←v8656; { register ptr gf←c49660 = (ptr) &globalframe; word lineSegment←v15380; /* LineTransform: */ SOURCE(8275, 204) SOURCE(8362, 40) lineSegment←v15380 = XR←Narrow((* (( (ptr) seg←v8628)+24) ), (* (( (ptr) gf←c49660)+15) )); SOURCE(8404, 50) { word pd101; pd101 = (* (( (ptr) (* (( (ptr) gf←c49660)+188)/* var←c46588 */ ))+29) ); (void) ( *( (fPt) ((* (ptr) pd101 ))))((* (W2Pt) (( (ptr) seg←v8628)+9) ), (* (W2Pt) (( (ptr) seg←v8628)+11) ), (* (ptr) lineSegment←v15380 ), pd101) ; }; SOURCE(8456, 23) (void) UpdateLineBoundBox←P1680(seg←v8628); } static void LineEndPointMoved←P2040(seg←v8716, lo←v8744, newPoint←v8772) word seg←v8716; word lo←v8744; W2 newPoint←v8772; { register ptr gf←c49692 = (ptr) &globalframe; word lineSegment←v15424; /* LineEndPointMoved: */ SOURCE(8486, 187) SOURCE(8556, 40) lineSegment←v15424 = XR←Narrow((* (( (ptr) seg←v8716)+24) ), (* (( (ptr) gf←c49692)+15) )); SOURCE(8598, 50) { word pd102; pd102 = (* (( (ptr) (* (( (ptr) gf←c49692)+188)/* var←c46588 */ ))+29) ); (void) ( *( (fPt) ((* (ptr) pd102 ))))((* (W2Pt) (( (ptr) seg←v8716)+9) ), (* (W2Pt) (( (ptr) seg←v8716)+11) ), (* (ptr) lineSegment←v15424 ), pd102) ; }; SOURCE(8650, 23) (void) UpdateLineBoundBox←P1680(seg←v8716); } static word LineDescribe←P2100(seg←v8832, self←v8860, lo←v8888, hi←v8916, cps←v8944) word seg←v8832; word self←v8860; word lo←v8888; word hi←v8916; word cps←v8944; { register ptr gf←c49724 = (ptr) &globalframe; word rope←v8988; /* LineDescribe: */ SOURCE(8680, 113) SOURCE(8680, 113) rope←v8988 = 0; SOURCE(8780, 13) rope←v8988 = (* (( (ptr) gf←c49724)+19) ); SOURCE(8680, 113) return(rope←v8988); } static word LineFileIn←P2160(f←v9048, loPoint←v9076, hiPoint←v9104, version←v9132) word f←v9048; W2 loPoint←v9076; W2 hiPoint←v9104; word version←v9132; { word seg←v9176; /* LineFileIn: */ SOURCE(8799, 136) SOURCE(8799, 136) seg←v9176 = 0; SOURCE(8898, 37) seg←v9176 = (word) MakeLine←P1500(loPoint←v9076, hiPoint←v9104, 0); SOURCE(8799, 136) return(seg←v9176); } static word PointIsInBox←P2220(test←v9236, box←v9264) W2 test←v9236; W6 box←v9264; { word var←c9308; /* PointIsInBox: */ SOURCE(8964, 162) SOURCE(9034, 92) { word tc103; word x104; word x105; word x106; word x107; word x108; word x109; word x110; word x111; if ( ( ( (( x104 = test←v9236.f0, *(float*)&x104 ) >= ( x105 = box←v9264.f0, *(float*)&x105 )) ? (( x106 = test←v9236.f0, *(float*)&x106 ) <= ( x107 = box←v9264.f2, *(float*)&x107 )) : 0 ) ? (( x108 = test←v9236.f1, *(float*)&x108 ) >= ( x109 = box←v9264.f1, *(float*)&x109 )) : 0 ) ) { tc103 = (word) (( x110 = test←v9236.f1, *(float*)&x110 ) <= ( x111 = box←v9264.f3, *(float*)&x111 )); } else { tc103 = (word) 0; }; return(tc103); }; } static void LineClosestPoint←P2280(formal←c0288, seg←v9368, testPoint←v9396, tolerance←v9424) word formal←c0288; word seg←v9368; W2 testPoint←v9396; word tolerance←v9424; { register ptr gf←c49756 = (ptr) &globalframe; W2 point←v9468; word success←v9496; word lineData←v15468; /* LineClosestPoint: */ SOURCE(9132, 458) SOURCE(9132, 458) point←v9468.f0 = (* (ptr) &fc37 ); point←v9468.f1 = (* (ptr) &fc37 ); SOURCE(9132, 458) success←v9496 = 0; SOURCE(9268, 37) lineData←v15468 = XR←Narrow((* (( (ptr) seg←v9368)+24) ), (* (( (ptr) gf←c49756)+15) )); SOURCE(9307, 202) if ((0 != (* (( (ptr) gf←c49756)+6)/* useBBox←v5240 */ ))) { SOURCE(9323, 188) { W6 bigBox←v15512; SOURCE(9325, 132) { word x112; word x113; *(float*)&bigBox←v15512.f0 = ( x112 = (* (ptr) (* (( (ptr) seg←v9368)+21) ) ), *(float*)&x112 ) - ( x113 = tolerance←v9424, *(float*)&x113 ); }; { word x114; word x115; *(float*)&bigBox←v15512.f1 = ( x114 = (* (( (ptr) (* (( (ptr) seg←v9368)+21) ))+1) ), *(float*)&x114 ) - ( x115 = tolerance←v9424, *(float*)&x115 ); }; { word x116; word x117; *(float*)&bigBox←v15512.f2 = ( x116 = (* (( (ptr) (* (( (ptr) seg←v9368)+21) ))+2) ), *(float*)&x116 ) + ( x117 = tolerance←v9424, *(float*)&x117 ); }; { word x118; word x119; *(float*)&bigBox←v15512.f3 = ( x118 = (* (( (ptr) (* (( (ptr) seg←v9368)+21) ))+3) ), *(float*)&x118 ) + ( x119 = tolerance←v9424, *(float*)&x119 ); }; bigBox←v15512.f4 = 0; bigBox←v15512.f5 = 0; SOURCE(9459, 50) if ((0 == (word) PointIsInBox←P2220(testPoint←v9396, bigBox←v15512))) { SOURCE(9503, 6) goto lab←L100008; }; }; }; SOURCE(9514, 60) { word pd120; pd120 = (* (( (ptr) (* (( (ptr) gf←c49756)+188)/* var←c46588 */ ))+46) ); (void) ( *( (fPt) ((* (ptr) pd120 ))))((word) &point←v9468, testPoint←v9396, (* (ptr) lineData←v15468 ), pd120); }; SOURCE(9576, 14) success←v9496 = 1; /* removed tail goto */ lab←L100008: ; (* (W2Pt) formal←c0288 ) = point←v9468; (* (( (ptr) formal←c0288)+2) ) = success←v9496; return; } static void LineClosestPointAndTangent←P2340(formal←c0299, seg←v9556, testPoint←v9584, tolerance←v9612) word formal←c0299; word seg←v9556; W2 testPoint←v9584; word tolerance←v9612; { register ptr gf←c49788 = (ptr) &globalframe; W2 point←v9656; W2 tangent←v9684; word success←v9712; word lineData←v15556; /* LineClosestPointAndTangent: */ SOURCE(9596, 549) SOURCE(9596, 549) point←v9656.f0 = (* (ptr) &fc37 ); point←v9656.f1 = (* (ptr) &fc37 ); SOURCE(9596, 549) tangent←v9684.f0 = (* (ptr) &fc37 ); tangent←v9684.f1 = (* (ptr) &fc38 ); SOURCE(9596, 549) success←v9712 = 0; SOURCE(9768, 37) lineData←v15556 = XR←Narrow((* (( (ptr) seg←v9556)+24) ), (* (( (ptr) gf←c49788)+15) )); SOURCE(9807, 202) if ((0 != (* (( (ptr) gf←c49788)+6)/* useBBox←v5240 */ ))) { SOURCE(9823, 188) { W6 bigBox←v15600; SOURCE(9825, 132) { word x121; word x122; *(float*)&bigBox←v15600.f0 = ( x121 = (* (ptr) (* (( (ptr) seg←v9556)+21) ) ), *(float*)&x121 ) - ( x122 = tolerance←v9612, *(float*)&x122 ); }; { word x123; word x124; *(float*)&bigBox←v15600.f1 = ( x123 = (* (( (ptr) (* (( (ptr) seg←v9556)+21) ))+1) ), *(float*)&x123 ) - ( x124 = tolerance←v9612, *(float*)&x124 ); }; { word x125; word x126; *(float*)&bigBox←v15600.f2 = ( x125 = (* (( (ptr) (* (( (ptr) seg←v9556)+21) ))+2) ), *(float*)&x125 ) + ( x126 = tolerance←v9612, *(float*)&x126 ); }; { word x127; word x128; *(float*)&bigBox←v15600.f3 = ( x127 = (* (( (ptr) (* (( (ptr) seg←v9556)+21) ))+3) ), *(float*)&x127 ) + ( x128 = tolerance←v9612, *(float*)&x128 ); }; bigBox←v15600.f4 = 0; bigBox←v15600.f5 = 0; SOURCE(9959, 50) if ((0 == (word) PointIsInBox←P2220(testPoint←v9584, bigBox←v15600))) { SOURCE(10003, 6) goto lab←L100009; }; }; }; SOURCE(10014, 60) { word pd129; pd129 = (* (( (ptr) (* (( (ptr) gf←c49788)+188)/* var←c46588 */ ))+46) ); (void) ( *( (fPt) ((* (ptr) pd129 ))))((word) &point←v9656, testPoint←v9584, (* (ptr) lineData←v15556 ), pd129); }; SOURCE(10076, 53) { word pd130; pd130 = (* (( (ptr) (* (( (ptr) gf←c49788)+188)/* var←c46588 */ ))+37) ); (void) ( *( (fPt) ((* (ptr) pd130 ))))((word) &tangent←v9684, (* (ptr) (* (ptr) lineData←v15556 ) ), pd130); }; SOURCE(10131, 14) success←v9712 = 1; /* removed tail goto */ lab←L100009: ; (* (W2Pt) formal←c0299 ) = point←v9656; (* (W2Pt) (( (ptr) formal←c0299)+2) ) = tangent←v9684; (* (( (ptr) formal←c0299)+4) ) = success←v9712; return; } static void LineLineIntersection←P2400(formal←c0311, seg←v9772, line←v9800) word formal←c0311; word seg←v9772; word line←v9800; { register ptr gf←c49820 = (ptr) &globalframe; word points←v9844; word pointCount←v9872; word lineData←v15644; word failure←v15672; W2 ipoint←v15700; /* LineLineIntersection: */ SOURCE(10151, 322) SOURCE(10151, 322) points←v9844 = 0; SOURCE(10258, 37) lineData←v15644 = XR←Narrow((* (( (ptr) seg←v9772)+24) ), (* (( (ptr) gf←c49820)+15) )); SOURCE(10327, 62) { W3 var←c47004; { word pd131; pd131 = (* (( (ptr) (* (( (ptr) gf←c49820)+188)/* var←c46588 */ ))+35) ); (void) ( *( (fPt) ((* (ptr) pd131 ))))((word) &var←c47004, line←v9800, (* (ptr) lineData←v15644 ), pd131); }; failure←v15672 = var←c47004.f2; ipoint←v15700 = (* (W2Pt) &var←c47004 ); }; SOURCE(10391, 40) if ((0 != failure←v15672)) { SOURCE(10409, 14) pointCount←v9872 = 0; SOURCE(10425, 6) goto lab←L100010; }; SOURCE(10436, 21) { word var←c47036; word var←c47068; var←c47036 = XR←NewObject(12, (* (( (ptr) gf←c49820)+18) )); var←c47068 = var←c47036; (* (W2Pt) var←c47068 ) = ipoint←v15700; points←v9844 = var←c47036; }; SOURCE(10459, 14) pointCount←v9872 = 1; /* removed tail goto */ lab←L100010: ; (* (ptr) formal←c0311 ) = points←v9844; (* (( (ptr) formal←c0311)+1) ) = pointCount←v9872; return; } static void LineCircleIntersection←P2460(formal←c0323, seg←v10016, circle←v10044) word formal←c0323; word seg←v10016; word circle←v10044; { register ptr gf←c49852 = (ptr) &globalframe; word points←v10088; word pointCount←v10116; word lineData←v15744; W4 hitPoints←v15772; /* LineCircleIntersection: */ SOURCE(10479, 343) SOURCE(10479, 343) points←v10088 = 0; SOURCE(10592, 37) lineData←v15744 = XR←Narrow((* (( (ptr) seg←v10016)+24) ), (* (( (ptr) gf←c49852)+15) )); SOURCE(10664, 74) { W6 var←c47132; { word pd132; pd132 = (* (( (ptr) (* (( (ptr) gf←c49852)+190)/* var←c47100 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd132 ))))((word) &var←c47132, circle←v10044, (* (ptr) lineData←v15744 ), pd132); }; pointCount←v10116 = var←c47132.f4; hitPoints←v15772 = (* (W4Pt) &var←c47132 ); }; SOURCE(10740, 12) points←v10088 = 0; SOURCE(10754, 68) { register word i←v15852 = 1; register word noName←c47164; noName←c47164 = pointCount←v10116; if ((i←v15852 > noName←c47164)) { goto lab←L100012; }; lab←L100015: ; SOURCE(10787, 35) { word var←c47196; var←c47196 = XR←NewObject(12, (* (( (ptr) gf←c49852)+18) )); (* (W2Pt) var←c47196 ) = (* (( (W2Pt) &hitPoints←v15772)+BCK((i←v15852 - 1), 2)) ); (* (( (ptr) var←c47196)+2) ) = points←v10088; points←v10088 = var←c47196; }; if ((i←v15852 >= noName←c47164)) { goto lab←L100012; }; i←v15852 = (i←v15852 + 1); goto lab←L100015; lab←L100012: ; }; /* removed tail goto */ (* (ptr) formal←c0323 ) = points←v10088; (* (( (ptr) formal←c0323)+1) ) = pointCount←v10116; return; } static word LineAsSimpleCurve←P2520(seg←v10260, point←v10288) word seg←v10260; W2 point←v10288; { register ptr gf←c49884 = (ptr) &globalframe; word simpleCurve←v10332; word lineData←v15896; word edge←v15924; /* LineAsSimpleCurve: */ SOURCE(10837, 173) SOURCE(10837, 173) simpleCurve←v10332 = 0; SOURCE(10925, 37) lineData←v15896 = XR←Narrow((* (( (ptr) seg←v10260)+24) ), (* (( (ptr) gf←c49884)+15) )); SOURCE(10964, 26) edge←v15924 = (* (ptr) lineData←v15896 ); SOURCE(10992, 18) simpleCurve←v10332 = edge←v15924; SOURCE(10837, 173) return(simpleCurve←v10332); } static void LineJointNormal←P2580(formal←c0346, seg←v10404, joint←v10432, point←v10460, hi←v10488) word formal←c0346; word seg←v10404; W2 joint←v10432; W2 point←v10460; word hi←v10488; { register ptr gf←c49916 = (ptr) &globalframe; W2 normal←v10532; W2 tangent←v10560; W2 normal1←v15968; W2 normal2←v15996; W2 direction←v16024; W2 p0←v16052; W2 p1←v16080; word lineData←v16108; /* LineJointNormal: */ SOURCE(11016, 800) SOURCE(11174, 37) lineData←v16108 = XR←Narrow((* (( (ptr) seg←v10404)+24) ), (* (( (ptr) gf←c49916)+15) )); SOURCE(11213, 52) { word pd133; pd133 = (* (( (ptr) (* (( (ptr) gf←c49916)+184)/* var←c45788 */ ))+23) ); (void) ( *( (fPt) ((* (ptr) pd133 ))))((word) &normal1←v15968, (* (ptr) lineData←v16108 ), pd133); }; SOURCE(11267, 51) { word pd134; pd134 = (* (( (ptr) (* (( (ptr) gf←c49916)+184)/* var←c45788 */ ))+24) ); (void) ( *( (fPt) ((* (ptr) pd134 ))))((word) &normal2←v15996, (* (ptr) lineData←v16108 ), pd134); }; SOURCE(11320, 52) { word pd135; pd135 = (* (( (ptr) (* (( (ptr) gf←c49916)+184)/* var←c45788 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd135 ))))((word) &direction←v16024, joint←v10432, point←v10460, pd135); }; SOURCE(11374, 181) { float tf136; word pd137; word x138; float tf139; word pd140; word x141; pd137 = (* (( (ptr) (* (( (ptr) gf←c49916)+184)/* var←c45788 */ ))+9) ); pd140 = (* (( (ptr) (* (( (ptr) gf←c49916)+184)/* var←c45788 */ ))+9) ); if ((FABS(( x138 = (word) ( *( (fPt) ((* (ptr) pd137 ))))(normal1←v15968, direction←v16024, pd137), *(float*)&x138 ), tf136) < FABS(( x141 = (word) ( *( (fPt) ((* (ptr) pd140 ))))(normal2←v15996, direction←v16024, pd140), *(float*)&x141 ), tf139))) { SOURCE(11512, 17) normal←v10532 = normal1←v15968; } else { SOURCE(11539, 16) normal←v10532 = normal2←v15996; }; }; SOURCE(11559, 144) if ((0 != (* (( (ptr) (* (ptr) lineData←v16108 ))+1) ))) { SOURCE(11596, 24) p0←v16052 = (* (W2Pt) (( (ptr) (* (ptr) lineData←v16108 ))+2) ); SOURCE(11622, 22) p1←v16080 = (* (W2Pt) (( (ptr) (* (ptr) lineData←v16108 ))+4) ); } else { SOURCE(11655, 22) p0←v16052 = (* (W2Pt) (( (ptr) (* (ptr) lineData←v16108 ))+4) ); SOURCE(11679, 24) p1←v16080 = (* (W2Pt) (( (ptr) (* (ptr) lineData←v16108 ))+2) ); }; SOURCE(11708, 108) if ((0 != hi←v10488)) { SOURCE(11720, 43) { word pd142; pd142 = (* (( (ptr) (* (( (ptr) gf←c49916)+184)/* var←c45788 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd142 ))))((word) &tangent←v10560, p1←v16080, p0←v16052, pd142); }; } else { SOURCE(11773, 43) { word pd143; pd143 = (* (( (ptr) (* (( (ptr) gf←c49916)+184)/* var←c45788 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd143 ))))((word) &tangent←v10560, p0←v16052, p1←v16080, pd143); }; }; /* removed tail goto */ (* (W2Pt) formal←c0346 ) = normal←v10532; (* (W2Pt) (( (ptr) formal←c0346)+2) ) = tangent←v10560; return; } static void LineAddJoint←P2640(formal←c0351, seg←v10620, pos←v10648) word formal←c0351; word seg←v10620; W2 pos←v10648; { register ptr gf←c49948 = (ptr) &globalframe; word seg1←v10692; word seg2←v10720; /* LineAddJoint: */ SOURCE(11825, 231) SOURCE(11825, 231) seg1←v10692 = 0; SOURCE(11825, 231) seg2←v10720 = 0; SOURCE(11906, 33) { word pd144; pd144 = (* (( (ptr) (* (( (ptr) gf←c49948)+185)/* var←c46108 */ ))+17) ); seg1←v10692 = (word) ( *( (fPt) ((* (ptr) pd144 ))))(seg←v10620, pd144); }; SOURCE(11941, 13) (* (W2Pt) (( (ptr) seg1←v10692)+11) ) = pos←v10648; SOURCE(11956, 24) (void) UpdateLineBoundBox←P1680(seg1←v10692); SOURCE(11982, 33) { word pd145; pd145 = (* (( (ptr) (* (( (ptr) gf←c49948)+185)/* var←c46108 */ ))+17) ); seg2←v10720 = (word) ( *( (fPt) ((* (ptr) pd145 ))))(seg←v10620, pd145); }; SOURCE(12017, 13) (* (W2Pt) (( (ptr) seg2←v10720)+9) ) = pos←v10648; SOURCE(12032, 24) (void) UpdateLineBoundBox←P1680(seg2←v10720); /* removed tail goto */ (* (ptr) formal←c0351 ) = seg1←v10692; (* (( (ptr) formal←c0351)+1) ) = seg2←v10720; return; } static word BuildArcClass←P2700() { register ptr gf←c49980 = (ptr) &globalframe; word class←v10892; /* BuildArcClass: */ SOURCE(12175, 998) SOURCE(12175, 998) class←v10892 = 0; SOURCE(12248, 925) { word var←c47228; var←c47228 = XR←NewObject(116, (* (( (ptr) gf←c49980)+8) )); (* (ptr) var←c47228 ) = (* (( (ptr) gf←c49980)+20) ); (* (( (ptr) var←c47228)+1) ) = (word) (( (bPt) gf←c49980)+320)/* var←c44028 */ ; (* (( (ptr) var←c47228)+2) ) = (word) (( (bPt) gf←c49980)+312)/* var←c43996 */ ; (* (( (ptr) var←c47228)+3) ) = (word) (( (bPt) gf←c49980)+280)/* var←c43868 */ ; (* (( (ptr) var←c47228)+4) ) = (word) (( (bPt) gf←c49980)+272)/* var←c43836 */ ; (* (( (ptr) var←c47228)+5) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c49980)+185)/* var←c46108 */ ))+35) ); (* (( (ptr) var←c47228)+6) ) = (word) (( (bPt) gf←c49980)+232)/* var←c43676 */ ; (* (( (ptr) var←c47228)+7) ) = (word) (( (bPt) gf←c49980)+224)/* var←c43644 */ ; (* (( (ptr) var←c47228)+8) ) = (word) (( (bPt) gf←c49980)+264)/* var←c43804 */ ; (* (( (ptr) var←c47228)+9) ) = (word) (( (bPt) gf←c49980)+256)/* var←c43772 */ ; (* (( (ptr) var←c47228)+10) ) = (word) (( (bPt) gf←c49980)+248)/* var←c43740 */ ; (* (( (ptr) var←c47228)+11) ) = (word) (( (bPt) gf←c49980)+216)/* var←c43612 */ ; (* (( (ptr) var←c47228)+12) ) = (word) (( (bPt) gf←c49980)+208)/* var←c43580 */ ; (* (( (ptr) var←c47228)+13) ) = (word) (( (bPt) gf←c49980)+200)/* var←c43548 */ ; (* (( (ptr) var←c47228)+14) ) = (word) (( (bPt) gf←c49980)+192)/* var←c43516 */ ; (* (( (ptr) var←c47228)+15) ) = (word) (( (bPt) gf←c49980)+184)/* var←c43484 */ ; (* (( (ptr) var←c47228)+16) ) = (word) (( (bPt) gf←c49980)+176)/* var←c43452 */ ; (* (( (ptr) var←c47228)+17) ) = (word) (( (bPt) gf←c49980)+168)/* var←c43420 */ ; (* (( (ptr) var←c47228)+18) ) = (word) (( (bPt) gf←c49980)+160)/* var←c43388 */ ; (* (( (ptr) var←c47228)+19) ) = (word) (( (bPt) gf←c49980)+152)/* var←c43356 */ ; (* (( (ptr) var←c47228)+20) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c49980)+185)/* var←c46108 */ ))+42) ); (* (( (ptr) var←c47228)+21) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c49980)+185)/* var←c46108 */ ))+43) ); (* (( (ptr) var←c47228)+22) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c49980)+185)/* var←c46108 */ ))+44) ); (* (( (ptr) var←c47228)+23) ) = (word) (( (bPt) gf←c49980)+144)/* var←c43324 */ ; (* (( (ptr) var←c47228)+24) ) = (word) (( (bPt) gf←c49980)+136)/* var←c43292 */ ; (* (( (ptr) var←c47228)+25) ) = (word) (( (bPt) gf←c49980)+128)/* var←c43260 */ ; (* (( (ptr) var←c47228)+26) ) = (word) (( (bPt) gf←c49980)+120)/* var←c43228 */ ; (* (( (ptr) var←c47228)+27) ) = (word) (( (bPt) gf←c49980)+112)/* var←c43196 */ ; (* (( (ptr) var←c47228)+28) ) = (word) (( (bPt) gf←c49980)+344)/* var←c44124 */ ; class←v10892 = var←c47228; }; SOURCE(12175, 998) return(class←v10892); } static void ArcSetStrokeWidth←P2760(seg←v10952, strokeWidth←v10980) word seg←v10952; word strokeWidth←v10980; { /* ArcSetStrokeWidth: */ SOURCE(13179, 117) SOURCE(13241, 29) (* (( (ptr) seg←v10952)+2) ) = strokeWidth←v10980; SOURCE(13272, 24) (void) UpdateBoundBoxOfArc←P3180(seg←v10952); } static word MakeArc←P2820(p0←v11040, p1←v11068, p2←v11096, props←v11124) W2 p0←v11040; W2 p1←v11068; W2 p2←v11096; word props←v11124; { register ptr gf←c50012 = (ptr) &globalframe; word seg←v11264; word data←v16152; /* MakeArc: */ SOURCE(13302, 601) SOURCE(13302, 601) seg←v11264 = 0; SOURCE(13394, 126) { word var←c47260; word var←c47292; { word pd146; pd146 = (* (( (ptr) (* (( (ptr) gf←c50012)+190)/* var←c47100 */ ))+24) ); var←c47260 = (word) ( *( (fPt) ((* (ptr) pd146 ))))(p0←v11040, p1←v11068, p2←v11096, pd146); }; var←c47292 = XR←NewObject(28, (* (( (ptr) gf←c50012)+14) )); (* (ptr) var←c47292 ) = p1←v11068.f0; (* (( (ptr) var←c47292)+1) ) = p1←v11068.f1; (* (W4Pt) (( (ptr) var←c47292)+2) ) = (* (W4Pt) (( (ptr) gf←c50012)+180)/* var←c45660 */ ); (* (( (ptr) var←c47292)+6) ) = var←c47260; data←v16152 = var←c47292; }; SOURCE(13522, 355) { word var←c47324; word var←c47356; word var←c47388; word var←c47420; { word pd147; pd147 = (* (( (ptr) (* (( (ptr) gf←c50012)+185)/* var←c46108 */ ))+24) ); var←c47324 = (word) ( *( (fPt) ((* (ptr) pd147 ))))((* ((( (ptr) gf←c50012)+20)) ), pd147); }; { word pd148; pd148 = (* (( (ptr) (* (( (ptr) gf←c50012)+186)/* var←c46172 */ ))+5) ); var←c47356 = (word) ( *( (fPt) ((* (ptr) pd148 ))))((* (ptr) &fc37 ), (* (ptr) &fc37 ), (* (ptr) &fc37 ), (* (ptr) &fc37 ), 0, 0, pd148) ; }; { word pd149; pd149 = (* (( (ptr) (* (( (ptr) gf←c50012)+186)/* var←c46172 */ ))+5) ); var←c47388 = (word) ( *( (fPt) ((* (ptr) pd149 ))))((* (ptr) &fc37 ), (* (ptr) &fc37 ), (* (ptr) &fc37 ), (* (ptr) &fc37 ), 0, 0, pd149) ; }; var←c47420 = XR←NewObject(104, (* (( (ptr) gf←c50012)+12) )); (* (ptr) var←c47420 ) = var←c47324; (* (( (ptr) var←c47420)+2) ) = (* (( (ptr) gf←c50012)+4)/* defaultStrokeWidth←v4092 */ ); (* (( (ptr) var←c47420)+3) ) = (* (( (ptr) gf←c50012)+5)/* defaultStrokeEnd←v4120 */ ); (* (( (ptr) var←c47420)+6) ) = (* (ptr) &fc37 ); (* (( (ptr) var←c47420)+7) ) = (* (ptr) &fc38 ); (* (( (ptr) var←c47420)+8) ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c50012)+187)/* var←c46268 */ ))+54) ) ); (* (W2Pt) (( (ptr) var←c47420)+9) ) = p0←v11040; (* (W2Pt) (( (ptr) var←c47420)+11) ) = p2←v11096; (* (( (ptr) var←c47420)+13) ) = (* (ptr) &fc37 ); (* (( (ptr) var←c47420)+14) ) = (* (ptr) &fc37 ); (* (( (ptr) var←c47420)+15) ) = (* (ptr) &fc37 ); (* (( (ptr) var←c47420)+16) ) = (* (ptr) &fc37 ); (* (W4Pt) (( (ptr) var←c47420)+17) ) = (* (W4Pt) (( (ptr) gf←c50012)+180)/* var←c45660 */ ); (* (( (ptr) var←c47420)+21) ) = var←c47356; (* (( (ptr) var←c47420)+22) ) = var←c47388; (* (( (ptr) var←c47420)+24) ) = data←v16152; (* (( (ptr) var←c47420)+25) ) = props←v11124; seg←v11264 = var←c47420; }; SOURCE(13879, 24) (void) UpdateBoundBoxOfArc←P3180(seg←v11264); SOURCE(13302, 601) return(seg←v11264); } static void ArcGetParams←P2880(formal←c0373, seg←v11324) word formal←c0373; word seg←v11324; { register ptr gf←c50044 = (ptr) &globalframe; W2 p0←v11368; W2 p1←v11396; W2 p2←v11424; word data←v16196; /* ArcGetParams: */ SOURCE(13909, 145) SOURCE(13982, 32) data←v16196 = XR←Narrow((* (( (ptr) seg←v11324)+24) ), (* (( (ptr) gf←c50044)+14) )); SOURCE(14016, 11) p0←v11368 = (* (W2Pt) (( (ptr) seg←v11324)+9) ); SOURCE(14029, 11) p2←v11424 = (* (W2Pt) (( (ptr) seg←v11324)+11) ); SOURCE(14042, 12) p1←v11396 = (* (W2Pt) data←v16196 ); /* removed tail goto */ (* (W2Pt) formal←c0373 ) = p0←v11368; (* (W2Pt) (( (ptr) formal←c0373)+2) ) = p1←v11396; (* (W2Pt) (( (ptr) formal←c0373)+4) ) = p2←v11424; return; } static word ArcBoundBox←P2940(seg←v11484) word seg←v11484; { word bBox←v11528; /* ArcBoundBox: */ SOURCE(14060, 77) SOURCE(14060, 77) bBox←v11528 = 0; SOURCE(14122, 15) bBox←v11528 = (* (( (ptr) seg←v11484)+21) ); SOURCE(14060, 77) return(bBox←v11528); } static word ArcTightBox←P3000(seg←v11588) word seg←v11588; { word bBox←v11632; /* ArcTightBox: */ SOURCE(14143, 81) SOURCE(14143, 81) bBox←v11632 = 0; SOURCE(14205, 19) bBox←v11632 = (* (( (ptr) seg←v11588)+22) ); SOURCE(14143, 81) return(bBox←v11632); } static void UpdateTightBoxOfArc←P3060(seg←v11692, boundBox←v11720) word seg←v11692; word boundBox←v11720; { register ptr gf←c50076 = (ptr) &globalframe; word data←v16240; word arc←v16268; /* UpdateTightBoxOfArc: */ SOURCE(14230, 1001) SOURCE(14295, 32) data←v16240 = XR←Narrow((* (( (ptr) seg←v11692)+24) ), (* (( (ptr) gf←c50076)+14) )); SOURCE(14329, 19) arc←v16268 = (* (( (ptr) data←v16240)+6) ); SOURCE(14350, 881) if (((* (( (ptr) arc←v16268)+8) ) != 0)) { SOURCE(14373, 46) (void) UpdateBoundBoxOfEdge←P3120((* (( (ptr) arc←v16268)+8) ), boundBox←v11720); } else { SOURCE(14421, 102) (* (( (ptr) boundBox←v11720)+1) ) = (* (( (ptr) arc←v16268)+3) ); (* (( (ptr) boundBox←v11720)+2) ) = (* (( (ptr) arc←v16268)+2) ); (* (( (ptr) boundBox←v11720)+3) ) = (* (( (ptr) arc←v16268)+3) ); (* (ptr) boundBox←v11720 ) = (* (( (ptr) arc←v16268)+2) ); (* (( (ptr) boundBox←v11720)+4) ) = 0; (* (( (ptr) boundBox←v11720)+5) ) = 0; SOURCE(14525, 43) { word pd150; pd150 = (* (( (ptr) (* (( (ptr) gf←c50076)+186)/* var←c46172 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd150 ))))(boundBox←v11720, (* (W2Pt) (( (ptr) arc←v16268)+4) ), pd150); }; SOURCE(14570, 162) { word pd151; pd151 = (* (( (ptr) (* (( (ptr) gf←c50076)+191)/* var←c47548 */ ))+13) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd151 ))))((* (ptr) &fc37 ), (* (( (ptr) arc←v16268)+6) ), (* (( (ptr) arc←v16268)+7) ), pd151))) { SOURCE(14637, 95) { W2 var←c47580; { W2 var←c0387; { W2 var←c47612; var←c47612.f0 = (* (( (ptr) (* (ptr) arc←v16268 ))+2) ); var←c47612.f1 = (* (ptr) &fc37 ); { word pd152; pd152 = (* (( (ptr) (* (( (ptr) gf←c50076)+184)/* var←c45788 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd152 ))))((word) &var←c0387, (* (W2Pt) (* (ptr) arc←v16268 ) ), var←c47612, pd152); }; }; var←c47580 = var←c0387; }; { word pd153; pd153 = (* (( (ptr) (* (( (ptr) gf←c50076)+186)/* var←c46172 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd153 ))))(boundBox←v11720, var←c47580, pd153); }; }; }; }; SOURCE(14734, 163) { word pd154; pd154 = (* (( (ptr) (* (( (ptr) gf←c50076)+191)/* var←c47548 */ ))+13) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd154 ))))((* (ptr) &fc155 ), (* (( (ptr) arc←v16268)+6) ), (* (( (ptr) arc←v16268)+7) ), pd154))) { SOURCE(14802, 95) { W2 var←c47644; { W2 var←c0390; { W2 var←c47676; var←c47676.f0 = (* (ptr) &fc37 ); var←c47676.f1 = (* (( (ptr) (* (ptr) arc←v16268 ))+2) ); { word pd156; pd156 = (* (( (ptr) (* (( (ptr) gf←c50076)+184)/* var←c45788 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd156 ))))((word) &var←c0390, (* (W2Pt) (* (ptr) arc←v16268 ) ), var←c47676, pd156); }; }; var←c47644 = var←c0390; }; { word pd157; pd157 = (* (( (ptr) (* (( (ptr) gf←c50076)+186)/* var←c46172 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd157 ))))(boundBox←v11720, var←c47644, pd157); }; }; }; }; SOURCE(14899, 165) { word pd158; pd158 = (* (( (ptr) (* (( (ptr) gf←c50076)+191)/* var←c47548 */ ))+13) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd158 ))))((* (ptr) &fc159 ), (* (( (ptr) arc←v16268)+6) ), (* (( (ptr) arc←v16268)+7) ), pd158))) { SOURCE(14968, 96) { W2 var←c47708; { W2 var←c0393; { W2 var←c47740; { word x160; *(float*)&var←c47740.f0 = - ( x160 = (* (( (ptr) (* (ptr) arc←v16268 ))+2) ), *(float*)&x160 ); }; var←c47740.f1 = (* (ptr) &fc37 ); { word pd161; pd161 = (* (( (ptr) (* (( (ptr) gf←c50076)+184)/* var←c45788 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd161 ))))((word) &var←c0393, (* (W2Pt) (* (ptr) arc←v16268 ) ), var←c47740, pd161); }; }; var←c47708 = var←c0393; }; { word pd162; pd162 = (* (( (ptr) (* (( (ptr) gf←c50076)+186)/* var←c46172 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd162 ))))(boundBox←v11720, var←c47708, pd162); }; }; }; }; SOURCE(15066, 165) { word pd163; pd163 = (* (( (ptr) (* (( (ptr) gf←c50076)+191)/* var←c47548 */ ))+13) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd163 ))))((* (ptr) &fc164 ), (* (( (ptr) arc←v16268)+6) ), (* (( (ptr) arc←v16268)+7) ), pd163))) { SOURCE(15135, 96) { W2 var←c47772; { W2 var←c0396; { W2 var←c47804; var←c47804.f0 = (* (ptr) &fc37 ); { word x165; *(float*)&var←c47804.f1 = - ( x165 = (* (( (ptr) (* (ptr) arc←v16268 ))+2) ), *(float*)&x165 ); }; { word pd166; pd166 = (* (( (ptr) (* (( (ptr) gf←c50076)+184)/* var←c45788 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd166 ))))((word) &var←c0396, (* (W2Pt) (* (ptr) arc←v16268 ) ), var←c47804, pd166); }; }; var←c47772 = var←c0396; }; { word pd167; pd167 = (* (( (ptr) (* (( (ptr) gf←c50076)+186)/* var←c46172 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd167 ))))(boundBox←v11720, var←c47772, pd167); }; }; }; }; }; } static void UpdateBoundBoxOfEdge←P3120(edge←v11780, boundBox←v11808) word edge←v11780; word boundBox←v11808; { /* UpdateBoundBoxOfEdge: */ SOURCE(15240, 251) SOURCE(15304, 187) { word x168; float tf169; float tf170; word x171; float tf172; (* (( (ptr) boundBox←v11808)+1) ) = ( tf172 = FMIN(( x168 = (* (( (ptr) edge←v11780)+3) ), *(float*)&x168 ), ( x171 = (* (( (ptr) edge←v11780)+5) ), *(float*)&x171 ), tf169, tf170), *(word*)&tf172 ); }; { word x173; float tf174; float tf175; word x176; float tf177; (* (( (ptr) boundBox←v11808)+2) ) = ( tf177 = FMAX(( x173 = (* (( (ptr) edge←v11780)+2) ), *(float*)&x173 ), ( x176 = (* (( (ptr) edge←v11780)+4) ), *(float*)&x176 ), tf174, tf175), *(word*)&tf177 ); }; { word x178; float tf179; float tf180; word x181; float tf182; (* (( (ptr) boundBox←v11808)+3) ) = ( tf182 = FMAX(( x178 = (* (( (ptr) edge←v11780)+3) ), *(float*)&x178 ), ( x181 = (* (( (ptr) edge←v11780)+5) ), *(float*)&x181 ), tf179, tf180), *(word*)&tf182 ); }; { word x183; float tf184; float tf185; word x186; float tf187; (* (ptr) boundBox←v11808 ) = ( tf187 = FMIN(( x183 = (* (( (ptr) edge←v11780)+2) ), *(float*)&x183 ), ( x186 = (* (( (ptr) edge←v11780)+4) ), *(float*)&x186 ), tf184, tf185), *(word*)&tf187 ); }; (* (( (ptr) boundBox←v11808)+4) ) = 0; (* (( (ptr) boundBox←v11808)+5) ) = 0; } static void UpdateBoundBoxOfArc←P3180(seg←v11868) word seg←v11868; { register ptr gf←c50108 = (ptr) &globalframe; word pad←v16312; /* UpdateBoundBoxOfArc: */ SOURCE(15497, 272) SOURCE(15553, 38) (void) UpdateTightBoxOfArc←P3060(seg←v11868, (* (( (ptr) seg←v11868)+22) )); SOURCE(15593, 25) (* (W6Pt) (* (( (ptr) seg←v11868)+21) ) ) = (* (W6Pt) (* (( (ptr) seg←v11868)+22) ) ); SOURCE(15620, 106) if (((* (( (ptr) seg←v11868)+3) ) == 0)) { SOURCE(15651, 44) { word x188; word x189; word x190; *(float*)&pad←v16312 = (( x188 = (* (( (ptr) seg←v11868)+2) ), *(float*)&x188 ) * ( x189 = (* (ptr) &fc92 ), *(float*)&x189 )) + ( x190 = (* (ptr) &fc43 ), *(float*)&x190 ); }; } else { SOURCE(15695, 31) { word x191; word x192; word x193; *(float*)&pad←v16312 = (( x191 = (* (( (ptr) seg←v11868)+2) ), *(float*)&x191 ) / ( x192 = (* (ptr) &fc36 ), *(float*)&x192 )) + ( x193 = (* (ptr) &fc43 ), *(float*)&x193 ); }; }; SOURCE(15728, 41) { word pd194; pd194 = (* (( (ptr) (* (( (ptr) gf←c50108)+186)/* var←c46172 */ ))+17) ); (void) ( *( (fPt) ((* (ptr) pd194 ))))((* (( (ptr) seg←v11868)+21) ), pad←v16312, pd194); }; } static word ArcCopyData←P3240(seg←v27616) word seg←v27616; { register ptr gf←c50140 = (ptr) &globalframe; word data←v27660; word arcData←v16356; word new←v16384; /* ArcCopyData: */ SOURCE(15775, 272) SOURCE(15775, 272) data←v27660 = 0; SOURCE(15820, 35) arcData←v16356 = XR←Narrow((* (( (ptr) seg←v27616)+24) ), (* (( (ptr) gf←c50140)+14) )); SOURCE(15857, 30) new←v16384 = XR←NewObject(28, (* (( (ptr) gf←c50140)+14) )); SOURCE(15889, 19) (* (W2Pt) new←v16384 ) = (* (W2Pt) arcData←v16356 ); SOURCE(15910, 35) (* (W4Pt) (( (ptr) new←v16384)+2) ) = (* (W4Pt) (( (ptr) arcData←v16356)+2) ); SOURCE(15947, 36) { word pd195; pd195 = (* (( (ptr) (* (( (ptr) gf←c50140)+190)/* var←c47100 */ ))+21) ); (* (( (ptr) new←v16384)+6) ) = (word) ( *( (fPt) ((* (ptr) pd195 ))))(pd195); }; SOURCE(15985, 49) { word pd196; pd196 = (* (( (ptr) (* (( (ptr) gf←c50140)+190)/* var←c47100 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd196 ))))((* (( (ptr) arcData←v16356)+6) ), (* (( (ptr) new←v16384)+6) ), pd196); }; SOURCE(16036, 11) return(new←v16384); } static void ArcReverse←P3300(seg←v11928) word seg←v11928; { register ptr gf←c50172 = (ptr) &globalframe; word arcData←v16428; /* ArcReverse: */ SOURCE(16053, 106) SOURCE(16089, 35) arcData←v16428 = XR←Narrow((* (( (ptr) seg←v11928)+24) ), (* (( (ptr) gf←c50172)+14) )); SOURCE(16126, 33) { word pd197; pd197 = (* (( (ptr) (* (( (ptr) gf←c50172)+190)/* var←c47100 */ ))+25) ); (void) ( *( (fPt) ((* (ptr) pd197 ))))((* ((( (ptr) arcData←v16428)+6)) ), pd197); }; } static void ArcTransform←P3360(seg←v11988, transform←v12016) word seg←v11988; word transform←v12016; { register ptr gf←c50204 = (ptr) &globalframe; word data←v16472; /* ArcTransform: */ SOURCE(16165, 260) SOURCE(16251, 32) data←v16472 = XR←Narrow((* (( (ptr) seg←v11988)+24) ), (* (( (ptr) gf←c50204)+14) )); SOURCE(16285, 60) { word pd198; pd198 = (* (( (ptr) (* (( (ptr) gf←c50204)+192)/* var←c47964 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd198 ))))((word) data←v16472, transform←v12016, (* (W2Pt) data←v16472 ), pd198); }; SOURCE(16347, 52) { word pd199; pd199 = (* (( (ptr) (* (( (ptr) gf←c50204)+190)/* var←c47100 */ ))+23) ); (void) ( *( (fPt) ((* (ptr) pd199 ))))((* (W2Pt) (( (ptr) seg←v11988)+9) ), (* (W2Pt) data←v16472 ), (* (W2Pt) (( (ptr) seg←v11988)+11) ), (* (( (ptr) data←v16472)+6) ), pd199); }; SOURCE(16401, 24) (void) UpdateBoundBoxOfArc←P3180(seg←v11988); } static void ArcEndPointMoved←P3420(seg←v12076, lo←v12104, newPoint←v12132) word seg←v12076; word lo←v12104; W2 newPoint←v12132; { register ptr gf←c50236 = (ptr) &globalframe; word data←v16516; W2 p0←v16544; W2 p1←v16572; W2 p2←v16600; /* ArcEndPointMoved: */ SOURCE(16431, 307) SOURCE(16500, 32) data←v16516 = XR←Narrow((* (( (ptr) seg←v12076)+24) ), (* (( (ptr) gf←c50236)+14) )); SOURCE(16534, 43) { word tcp200; if ((0 != lo←v12104)) { tcp200 = (word) &newPoint←v12132; } else { tcp200 = (word) (( (ptr) seg←v12076)+9); }; p0←v16544 = (* (W2Pt) tcp200 ); }; SOURCE(16579, 34) p1←v16572.f0 = (* (ptr) data←v16516 ); p1←v16572.f1 = (* (( (ptr) data←v16516)+1) ); SOURCE(16615, 43) { word tcp201; if ((0 != lo←v12104)) { tcp201 = (word) (( (ptr) seg←v12076)+11); } else { tcp201 = (word) &newPoint←v12132; }; p2←v16600 = (* (W2Pt) tcp201 ); }; SOURCE(16660, 52) { word pd202; pd202 = (* (( (ptr) (* (( (ptr) gf←c50236)+190)/* var←c47100 */ ))+23) ); (void) ( *( (fPt) ((* (ptr) pd202 ))))((* (W2Pt) (( (ptr) seg←v12076)+9) ), (* (W2Pt) data←v16516 ), (* (W2Pt) (( (ptr) seg←v12076)+11) ), (* (( (ptr) data←v16516)+6) ), pd202); }; SOURCE(16714, 24) (void) UpdateBoundBoxOfArc←P3180(seg←v12076); } static void ArcControlPointMoved←P3480(seg←v12192, transform←v12220, controlPointNum←v12248) word seg←v12192; word transform←v12220; word controlPointNum←v12248; { register ptr gf←c50268 = (ptr) &globalframe; W2 p1Vec←v16644; W2 p1←v16672; word data←v16700; /* ArcControlPointMoved: */ SOURCE(16744, 386) SOURCE(16883, 32) data←v16700 = XR←Narrow((* (( (ptr) seg←v12192)+24) ), (* (( (ptr) gf←c50268)+14) )); SOURCE(16917, 26) if ((controlPointNum←v12248 != 0)) { SOURCE(16943, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(16950, 58) { word pd203; pd203 = (* (( (ptr) (* (( (ptr) gf←c50268)+192)/* var←c47964 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd203 ))))((word) &p1Vec←v16644, transform←v12220, (* (W2Pt) data←v16700 ), pd203); }; SOURCE(17010, 23) p1←v16672.f0 = p1Vec←v16644.f0; p1←v16672.f1 = p1Vec←v16644.f1; SOURCE(17035, 15) (* (W2Pt) data←v16700 ) = p1Vec←v16644; SOURCE(17052, 52) { word pd204; pd204 = (* (( (ptr) (* (( (ptr) gf←c50268)+190)/* var←c47100 */ ))+23) ); (void) ( *( (fPt) ((* (ptr) pd204 ))))((* (W2Pt) (( (ptr) seg←v12192)+9) ), (* (W2Pt) data←v16700 ), (* (W2Pt) (( (ptr) seg←v12192)+11) ), (* (( (ptr) data←v16700)+6) ), pd204); }; SOURCE(17106, 24) (void) UpdateBoundBoxOfArc←P3180(seg←v12192); } static void TransformEndPoints←P3540(formal←c0439, loPt←v12308, hiPt←v12336, lo←v12364, hi←v12392, transform←v12420) word formal←c0439; W2 loPt←v12308; W2 hiPt←v12336; word lo←v12364; word hi←v12392; word transform←v12420; { register ptr gf←c50300 = (ptr) &globalframe; W2 newLo←v12464; W2 newHi←v12492; /* TransformEndPoints: */ SOURCE(17136, 353) SOURCE(17275, 106) if ((0 != lo←v12364)) { SOURCE(17286, 72) { W2 var←c0436; { W2 var←c48028; var←c48028.f0 = loPt←v12308.f0; var←c48028.f1 = loPt←v12308.f1; { word pd205; pd205 = (* (( (ptr) (* (( (ptr) gf←c50300)+192)/* var←c47964 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd205 ))))((word) &var←c0436, transform←v12420, var←c48028, pd205); }; }; newLo←v12464 = var←c0436; }; } else { SOURCE(17358, 23) newLo←v12464.f0 = loPt←v12308.f0; newLo←v12464.f1 = loPt←v12308.f1; }; SOURCE(17383, 106) if ((0 != hi←v12392)) { SOURCE(17394, 72) { W2 var←c0438; { W2 var←c48060; var←c48060.f0 = hiPt←v12336.f0; var←c48060.f1 = hiPt←v12336.f1; { word pd206; pd206 = (* (( (ptr) (* (( (ptr) gf←c50300)+192)/* var←c47964 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd206 ))))((word) &var←c0438, transform←v12420, var←c48060, pd206); }; }; newHi←v12492 = var←c0438; }; } else { SOURCE(17466, 23) newHi←v12492.f0 = hiPt←v12336.f0; newHi←v12492.f1 = hiPt←v12336.f1; }; /* removed tail goto */ (* (W2Pt) formal←c0439 ) = newLo←v12464; (* (W2Pt) (( (ptr) formal←c0439)+2) ) = newHi←v12492; return; } static void ArcBuildPath←P3600(seg←v12552, lineTo←v12580, curveTo←v12608, conicTo←v12636, arcTo←v12664) word seg←v12552; word lineTo←v12580; word curveTo←v12608; word conicTo←v12636; word arcTo←v12664; { register ptr gf←c50332 = (ptr) &globalframe; word data←v16744; /* ArcBuildPath: */ SOURCE(17494, 234) SOURCE(17658, 32) data←v16744 = XR←Narrow((* (( (ptr) seg←v12552)+24) ), (* (( (ptr) gf←c50332)+14) )); SOURCE(17692, 36) { W2 var←c48092; var←c48092.f0 = (* (( (ptr) seg←v12552)+11) ); var←c48092.f1 = (* (( (ptr) seg←v12552)+12) ); (void) ( *( (fPt) ((* (ptr) arcTo←v12664 ))))((* (W2Pt) data←v16744 ), var←c48092, arcTo←v12664); }; } static void ArcBuildPathTransform←P3660(seg←v12724, transform←v12752, entire←v12780, lo←v12808, hi←v12836, controlPoints←v12864, lineTo←v12892, curveTo←v12920, conicTo←v12948, arcTo←v12976) word seg←v12724; word transform←v12752; word entire←v12780; word lo←v12808; word hi←v12836; word controlPoints←v12864; word lineTo←v12892; word curveTo←v12920; word conicTo←v12948; word arcTo←v12976; { register ptr gf←c50364 = (ptr) &globalframe; word data←v16788; W2 p0←v16816; W2 p1←v16844; W2 p2←v16872; /* ArcBuildPathTransform: */ SOURCE(17734, 670) SOURCE(18003, 32) data←v16788 = XR←Narrow((* (( (ptr) seg←v12724)+24) ), (* (( (ptr) gf←c50364)+14) )); SOURCE(18054, 333) if ((0 != entire←v12780)) { SOURCE(18071, 68) { W4 var←c48124; (void) TransformEndPoints←P3540((word) &var←c48124, (* (W2Pt) (( (ptr) seg←v12724)+9) ), (* (W2Pt) (( (ptr) seg←v12724)+11) ), 1, 1, transform←v12752); p2←v16872 = (* (W2Pt) (( (ptr) &var←c48124)+2) ); p0←v16816 = (* (W2Pt) &var←c48124 ); }; SOURCE(18141, 55) { word pd207; pd207 = (* (( (ptr) (* (( (ptr) gf←c50364)+192)/* var←c47964 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd207 ))))((word) &p1←v16844, transform←v12752, (* (W2Pt) data←v16788 ), pd207); }; } else { SOURCE(18207, 64) { W4 var←c48156; (void) TransformEndPoints←P3540((word) &var←c48156, (* (W2Pt) (( (ptr) seg←v12724)+9) ), (* (W2Pt) (( (ptr) seg←v12724)+11) ), lo←v12808, hi←v12836, transform←v12752); p2←v16872 = (* (W2Pt) (( (ptr) &var←c48156)+2) ); p0←v16816 = (* (W2Pt) &var←c48156 ); }; SOURCE(18273, 114) { word limit209; if ((controlPoints←v12864 == 0)) { goto then0208;}; if (XR←ExtractField(controlPoints←v12864, 32 + (word) ( limit209 = (* (ptr) controlPoints←v12864 ), BCK(0, limit209) ), 1)) { then0208: ; { W2 var←c0466; { word pd210; pd210 = (* (( (ptr) (* (( (ptr) gf←c50364)+192)/* var←c47964 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd210 ))))((word) &var←c0466, transform←v12752, (* (W2Pt) data←v16788 ), pd210); }; p1←v16844 = var←c0466; }; } else { p1←v16844 = (* (W2Pt) data←v16788 ); }; }; }; SOURCE(18392, 12) (void) ( *( (fPt) ((* (ptr) arcTo←v12976 ))))(p1←v16844, p2←v16872, arcTo←v12976); } static word ArcDescribe←P3720(seg←v13036, self←v13064, lo←v13092, hi←v13120, cps←v13148) word seg←v13036; word self←v13064; word lo←v13092; word hi←v13120; word cps←v13148; { register ptr gf←c50396 = (ptr) &globalframe; word rope←v13192; word data←v16916; word arc←v16944; /* ArcDescribe: */ SOURCE(18410, 216) SOURCE(18410, 216) rope←v13192 = 0; SOURCE(18509, 32) data←v16916 = XR←Narrow((* (( (ptr) seg←v13036)+24) ), (* (( (ptr) gf←c50396)+14) )); SOURCE(18543, 19) arc←v16944 = (* (( (ptr) data←v16916)+6) ); SOURCE(18564, 62) if (((* (( (ptr) arc←v16944)+8) ) != 0)) { SOURCE(18587, 27) rope←v13192 = (* (( (ptr) gf←c50396)+22) ); } else { SOURCE(18614, 12) rope←v13192 = (* (( (ptr) gf←c50396)+23) ); }; SOURCE(18410, 216) return(rope←v13192); } static void ArcFileOut←P3780(seg←v13252, f←v13280) word seg←v13252; word f←v13280; { register ptr gf←c50428 = (ptr) &globalframe; word data←v16988; W2 p1←v17016; /* ArcFileOut: */ SOURCE(18632, 148) SOURCE(18682, 32) data←v16988 = XR←Narrow((* (( (ptr) seg←v13252)+24) ), (* (( (ptr) gf←c50428)+14) )); SOURCE(18716, 34) p1←v17016.f0 = (* (ptr) data←v16988 ); p1←v17016.f1 = (* (( (ptr) data←v16988)+1) ); SOURCE(18752, 28) { word pd211; pd211 = (* (( (ptr) (* (( (ptr) gf←c50428)+193)/* var←c48220 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd211 ))))(f←v13280, p1←v17016, pd211); }; } static word ArcFileIn←P3840(f←v13340, loPoint←v13368, hiPoint←v13396, version←v13424) word f←v13340; W2 loPoint←v13368; W2 hiPoint←v13396; word version←v13424; { register ptr gf←c50460 = (ptr) &globalframe; word seg←v13468; W2 p1←v17060; /* ArcFileIn: */ SOURCE(18786, 178) SOURCE(18786, 178) seg←v13468 = 0; SOURCE(18895, 27) { word pd212; pd212 = (* (( (ptr) (* (( (ptr) gf←c50460)+194)/* var←c48252 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd212 ))))((word) &p1←v17060, f←v13340, pd212); }; SOURCE(18924, 40) seg←v13468 = (word) MakeArc←P2820(loPoint←v13368, p1←v17060, hiPoint←v13396, 0); SOURCE(18786, 178) return(seg←v13468); } static void ArcFieldSet←P3900(seg←v27720, controlPointNum←v27748, selected←v27776, selectClass←v27804) word seg←v27720; word controlPointNum←v27748; word selected←v27776; word selectClass←v27804; { register ptr gf←c50492 = (ptr) &globalframe; word data←v17104; /* ArcFieldSet: */ SOURCE(18970, 320) SOURCE(19027, 32) data←v17104 = XR←Narrow((* (( (ptr) seg←v27720)+24) ), (* (( (ptr) gf←c50492)+14) )); SOURCE(19061, 28) if ((controlPointNum←v27748 != 0)) { SOURCE(19089, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(19096, 194) { word var←c48284; var←c48284 = selectClass←v27804; switch (var←c48284) { case 0: SOURCE(19130, 33) (* (( (ptr) data←v17104)+2) ) = selected←v27776; break; case 1: SOURCE(19172, 30) (* (( (ptr) data←v17104)+3) ) = selected←v27776; break; case 2: SOURCE(19214, 33) (* (( (ptr) data←v17104)+4) ) = selected←v27776; break; case 3: SOURCE(19258, 32) (* (( (ptr) data←v17104)+5) ) = selected←v27776; break; default: SOURCE(19303, 5) (void) XR←RaiseUnnamedError(); break; }; }; } static word ArcFieldGet←P3960(seg←v27864, controlPointNum←v27892, selectClass←v27920) word seg←v27864; word controlPointNum←v27892; word selectClass←v27920; { register ptr gf←c50524 = (ptr) &globalframe; word selected←v27964; word data←v17148; /* ArcFieldGet: */ SOURCE(19314, 320) SOURCE(19371, 32) data←v17148 = XR←Narrow((* (( (ptr) seg←v27864)+24) ), (* (( (ptr) gf←c50524)+14) )); SOURCE(19405, 28) if ((controlPointNum←v27892 != 0)) { SOURCE(19433, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(19440, 194) { word var←c48316; var←c48316 = selectClass←v27920; switch (var←c48316) { case 0: SOURCE(19474, 33) selected←v27964 = (* (( (ptr) data←v17148)+2) ); break; case 1: SOURCE(19516, 30) selected←v27964 = (* (( (ptr) data←v17148)+3) ); break; case 2: SOURCE(19558, 33) selected←v27964 = (* (( (ptr) data←v17148)+4) ); break; case 3: SOURCE(19602, 32) selected←v27964 = (* (( (ptr) data←v17148)+5) ); break; default: SOURCE(19647, 5) (void) XR←RaiseUnnamedError(); break; }; }; SOURCE(19314, 320) return(selected←v27964); } static void ArcControlPointGet←P4020(formal←c0504, seg←v13528, controlPointNum←v13556) word formal←c0504; word seg←v13528; word controlPointNum←v13556; { register ptr gf←c50556 = (ptr) &globalframe; W2 point←v13600; word data←v17192; /* ArcControlPointGet: */ SOURCE(19658, 188) SOURCE(19747, 32) data←v17192 = XR←Narrow((* (( (ptr) seg←v13528)+24) ), (* (( (ptr) gf←c50556)+14) )); SOURCE(19781, 26) if ((controlPointNum←v13556 != 0)) { SOURCE(19807, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(19814, 32) point←v13600.f0 = (* (ptr) data←v17192 ); point←v13600.f1 = (* (( (ptr) data←v17192)+1) ); /* removed tail goto */ (* (W2Pt) formal←c0504 ) = point←v13600; return; } static word ArcControlPointCount←P4080(seg←v13660) word seg←v13660; { register ptr gf←c50588 = (ptr) &globalframe; word controlPointCount←v13704; word data←v17236; /* ArcControlPointCount: */ SOURCE(19852, 122) SOURCE(19931, 32) data←v17236 = XR←Narrow((* (( (ptr) seg←v13660)+24) ), (* (( (ptr) gf←c50588)+14) )); SOURCE(19965, 9) return(1); } static void ArcClosestPoint←P4140(formal←c0515, seg←v13764, testPoint←v13792, tolerance←v13820) word formal←c0515; word seg←v13764; W2 testPoint←v13792; word tolerance←v13820; { register ptr gf←c50620 = (ptr) &globalframe; W2 point←v13864; word success←v13892; word data←v17280; /* ArcClosestPoint: */ SOURCE(19980, 220) SOURCE(20094, 32) data←v17280 = XR←Narrow((* (( (ptr) seg←v13764)+24) ), (* (( (ptr) gf←c50620)+14) )); SOURCE(20128, 56) { word pd213; pd213 = (* (( (ptr) (* (( (ptr) gf←c50620)+190)/* var←c47100 */ ))+29) ); (void) ( *( (fPt) ((* (ptr) pd213 ))))((word) &point←v13864, testPoint←v13792, (* (( (ptr) data←v17280)+6) ), pd213); }; SOURCE(20186, 14) success←v13892 = 1; /* removed tail goto */ (* (W2Pt) formal←c0515 ) = point←v13864; (* (( (ptr) formal←c0515)+2) ) = success←v13892; return; } static void ArcClosestControlPoint←P4200(formal←c0524, seg←v13952, testPoint←v13980, tolerance←v14008) word formal←c0524; word seg←v13952; W2 testPoint←v13980; word tolerance←v14008; { register ptr gf←c50652 = (ptr) &globalframe; W2 point←v14052; W2 normal←v14080; word controlPointNum←v14108; word success←v14136; word data←v17324; /* ArcClosestControlPoint: */ SOURCE(20206, 269) SOURCE(20206, 269) normal←v14080.f0 = (* (ptr) &fc37 ); normal←v14080.f1 = (* (ptr) &fc38 ); SOURCE(20374, 32) data←v17324 = XR←Narrow((* (( (ptr) seg←v13952)+24) ), (* (( (ptr) gf←c50652)+14) )); SOURCE(20408, 14) success←v14136 = 1; SOURCE(20424, 19) controlPointNum←v14108 = 0; SOURCE(20445, 30) point←v14052.f0 = (* (ptr) data←v17324 ); point←v14052.f1 = (* (( (ptr) data←v17324)+1) ); /* removed tail goto */ (* (W2Pt) formal←c0524 ) = point←v14052; (* (W2Pt) (( (ptr) formal←c0524)+2) ) = normal←v14080; (* (( (ptr) formal←c0524)+4) ) = controlPointNum←v14108; (* (( (ptr) formal←c0524)+5) ) = success←v14136; return; } static word ArcAsSimpleCurve←P4260(seg←v14196, point←v14224) word seg←v14196; W2 point←v14224; { register ptr gf←c50684 = (ptr) &globalframe; word simpleCurve←v14268; word arcData←v17368; word arc←v17396; /* ArcAsSimpleCurve: */ SOURCE(20481, 165) SOURCE(20481, 165) simpleCurve←v14268 = 0; SOURCE(20568, 35) arcData←v17368 = XR←Narrow((* (( (ptr) seg←v14196)+24) ), (* (( (ptr) gf←c50684)+14) )); SOURCE(20605, 22) arc←v17396 = (* (( (ptr) arcData←v17368)+6) ); SOURCE(20629, 17) simpleCurve←v14268 = arc←v17396; SOURCE(20481, 165) return(simpleCurve←v14268); } static word ArcAsPolyline←P4320(seg←v14340, tolerance←v14368) word seg←v14340; word tolerance←v14368; { register ptr gf←c50716 = (ptr) &globalframe; word polyline←v14412; word arcData←v17440; word arc←v17468; /* ArcAsPolyline: */ SOURCE(20652, 1240) SOURCE(20652, 1240) polyline←v14412 = 0; SOURCE(20756, 35) arcData←v17440 = XR←Narrow((* (( (ptr) seg←v14340)+24) ), (* (( (ptr) gf←c50716)+14) )); SOURCE(20793, 22) arc←v17468 = (* (( (ptr) arcData←v17440)+6) ); SOURCE(20818, 1074) { word x214; word x215; word x216; if (((* (( (ptr) arc←v17468)+8) ) != 0) || (( x214 = (* (ptr) &fc36 ), *(float*)&x214 ) * ( x215 = (* (( (ptr) (* (ptr) arc←v17468 ))+2) ), *(float*)&x215 ) <= ( x216 = tolerance←v14368, *(float*)&x216 ))) { SOURCE(20974, 49) { word var←c48412; var←c48412 = XR←NewObject(24, (* (( (ptr) gf←c50716)+7) )); (* (( (ptr) var←c48412)+1) ) = 2; polyline←v14412 = var←c48412; }; SOURCE(21025, 19) (* (ptr) polyline←v14412 ) = 2; SOURCE(21046, 20) { word limit217; (* (( (W2Pt) (( (ptr) polyline←v14412)+2))+( limit217 = (* (( (ptr) polyline←v14412)+1) ), BCK(0, limit217) )) ) = (* (W2Pt) (( (ptr) seg←v14340)+9) ); }; SOURCE(21068, 20) { word limit218; (* (( (W2Pt) (( (ptr) polyline←v14412)+2))+( limit218 = (* (( (ptr) polyline←v14412)+1) ), BCK(1, limit218) )) ) = (* (W2Pt) (( (ptr) seg←v14340)+11) ); }; } else { SOURCE(21097, 797) { word r←v17512; word minSides←v17540; word n←v17568; word phi←v17596; word sin←v17624; word cos←v17652; word deltaTheta←v17680; word startAngle←v17708; SOURCE(21099, 27) r←v17512 = (* (( (ptr) (* (ptr) arc←v17468 ))+2) ); SOURCE(21204, 40) { word x220; word x221; *(float*)&deltaTheta←v17680 = ( x220 = (* (ptr) &fc219 ), *(float*)&x220 ) * ( x221 = (* (( (ptr) arc←v17468)+7) ), *(float*)&x221 ); }; SOURCE(21268, 107) { word var←c48444; word var←c0667; { word pd222; word x223; word x224; word x225; word x226; float tf227; pd222 = (* (( (ptr) (* (( (ptr) gf←c50716)+195)/* var←c48476 */ ))+9) ); var←c48444 = (word) ( *( (fPt) ((* (ptr) pd222 ))))(( tf227 = ((( x223 = (* (ptr) &fc36 ), *(float*)&x223 ) * ( x224 = r←v17512, *(float*)&x224 )) - ( x225 = tolerance←v14368, *(float*)&x225 )) * ( x226 = tolerance←v14368, *(float*)&x226 ), *(word*)&tf227 ), pd222); }; { word x228; word pd229; word x230; word x231; float tf232; word x233; pd229 = (* (( (ptr) (* (( (ptr) gf←c50716)+195)/* var←c48476 */ ))+16) ); *(float*)&var←c0667 = ( x228 = (* (ptr) &fc36 ), *(float*)&x228 ) * ( x233 = (word) ( *( (fPt) ((* (ptr) pd229 ))))(var←c48444, ( tf232 = ( /*1*/ x230 = r←v17512, *(float*)&x230 /*1*/ ) - ( /*1*/ x231 = tolerance←v14368, *(float*)&x231 /*1*/ ), *(word*)&tf232 ), pd229), *(float*)&x233 ); }; { word x234; word x235; *(float*)&minSides←v17540 = ( x234 = deltaTheta←v17680, *(float*)&x234 ) / ( x235 = var←c0667, *(float*)&x235 ); }; }; SOURCE(21377, 26) { word pd236; word idx237; pd236 = (* (( (ptr) (* (( (ptr) gf←c50716)+196)/* var←c48508 */ ))+7) ); n←v17568 = ( idx237 = (word) ( *( (fPt) ((* (ptr) pd236 ))))(minSides←v17540, pd236), SGNCK(idx237) ); }; SOURCE(21405, 24) { word x238; *(float*)&phi←v17596 = ( x238 = deltaTheta←v17680, *(float*)&x238 ) / (float)(unsigned)n←v17568; }; SOURCE(21432, 166) if ((0 != (* (( (ptr) arc←v17468)+1) ))) { SOURCE(21450, 34) { word x239; word x240; *(float*)&startAngle←v17708 = ( x239 = (* (ptr) &fc219 ), *(float*)&x239 ) * ( x240 = (* (( (ptr) arc←v17468)+6) ), *(float*)&x240 ); }; } else { SOURCE(21495, 10) { word x241; *(float*)&phi←v17596 = - ( x241 = phi←v17596, *(float*)&x241 ); }; SOURCE(21507, 91) { W2 var←c48540; { word pd242; pd242 = (* (( (ptr) (* (( (ptr) gf←c50716)+184)/* var←c45788 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd242 ))))((word) &var←c48540, (* (W2Pt) (( (ptr) seg←v14340)+9) ), (* (W2Pt) (* (ptr) arc←v17468 ) ), pd242) ; }; { word x243; word pd244; word x245; pd244 = (* (( (ptr) (* (( (ptr) gf←c50716)+184)/* var←c45788 */ ))+6) ); *(float*)&startAngle←v17708 = ( x243 = (* (ptr) &fc219 ), *(float*)&x243 ) * ( x245 = (word) ( *( (fPt) ((* (ptr) pd244 ))))(var←c48540, pd244), *(float*)&x245 ); }; }; }; SOURCE(21603, 51) { word var←c48572; word var←c48604; word var←c48636; var←c48572 = (n←v17568 + 1); var←c48604 = ((word) var←c48572 << 3); var←c48636 = XR←NewObject((8 + var←c48604), (* (( (ptr) gf←c50716)+7) )); (* (( (ptr) var←c48636)+1) ) = var←c48572; polyline←v14412 = var←c48636; }; SOURCE(21656, 21) (* (ptr) polyline←v14412 ) = (n←v17568 + 1); SOURCE(21679, 20) { word limit246; (* (( (W2Pt) (( (ptr) polyline←v14412)+2))+( limit246 = (* (( (ptr) polyline←v14412)+1) ), BCK(0, limit246) )) ) = (* (W2Pt) (( (ptr) seg←v14340)+9) ); }; SOURCE(21701, 160) { register word i←v17752 = 1; register word noName←c48668; noName←c48668 = n←v17568; if ((i←v17752 >= noName←c48668)) { goto lab←L100023; }; lab←L100026: ; SOURCE(21725, 35) { word pd247; word x248; word x249; float tf250; pd247 = (* (( (ptr) (* (( (ptr) gf←c50716)+195)/* var←c48476 */ ))+10) ); sin←v17624 = (word) ( *( (fPt) ((* (ptr) pd247 ))))(( tf250 = ( x248 = startAngle←v17708, *(float*)&x248 ) + (( x249 = phi←v17596, *(float*)&x249 ) * (float)(unsigned)i←v17752), *(word*)&tf250 ), pd247); }; SOURCE(21762, 35) { word pd251; word x252; word x253; float tf254; pd251 = (* (( (ptr) (* (( (ptr) gf←c50716)+195)/* var←c48476 */ ))+12) ); cos←v17652 = (word) ( *( (fPt) ((* (ptr) pd251 ))))(( tf254 = ( x252 = startAngle←v17708, *(float*)&x252 ) + (( x253 = phi←v17596, *(float*)&x253 ) * (float)(unsigned)i←v17752), *(word*)&tf254 ), pd251); }; SOURCE(21799, 62) { W2 var←c48700; { W2 var←c0554; { W2 var←c48732; { word x255; word x256; *(float*)&var←c48732.f0 = ( /*1*/ x255 = cos←v17652, *(float*)&x255 /*1*/ ) * ( /*1*/ x256 = r←v17512, *(float*)&x256 /*1*/ ); }; { word x257; word x258; *(float*)&var←c48732.f1 = ( /*1*/ x257 = sin←v17624, *(float*)&x257 /*1*/ ) * ( /*1*/ x258 = r←v17512, *(float*)&x258 /*1*/ ); }; { word pd259; pd259 = (* (( (ptr) (* (( (ptr) gf←c50716)+184)/* var←c45788 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd259 ))))((word) &var←c0554, (* (W2Pt) (* (ptr) arc←v17468 ) ), var←c48732, pd259); }; }; var←c48700 = var←c0554; }; { word limit260; (* (( (W2Pt) (( (ptr) polyline←v14412)+2))+( limit260 = (* (( (ptr) polyline←v14412)+1) ), BCK(i←v17752, limit260) )) ) = var←c48700; }; }; i←v17752 = (i←v17752 + 1); if ((i←v17752 < noName←c48668)) { goto lab←L100026; }; lab←L100023: ; }; SOURCE(21872, 20) { word limit261; (* (( (W2Pt) (( (ptr) polyline←v14412)+2))+( limit261 = (* (( (ptr) polyline←v14412)+1) ), BCK(n←v17568, limit261) )) ) = (* (W2Pt) (( (ptr) seg←v14340)+11) ); }; }; }; }; SOURCE(20652, 1240) return(polyline←v14412); } static void ArcCPNormal←P4380(formal←c0565, seg←v14472, controlPointNum←v14500, cPoint←v14528, testPoint←v14556) word formal←c0565; word seg←v14472; word controlPointNum←v14500; W2 cPoint←v14528; W2 testPoint←v14556; { register ptr gf←c50748 = (ptr) &globalframe; W2 normal←v14600; word arcData←v17796; W2 origin←v17824; /* ArcCPNormal: */ SOURCE(21901, 249) SOURCE(22011, 35) arcData←v17796 = XR←Narrow((* (( (ptr) seg←v14472)+24) ), (* (( (ptr) gf←c50748)+14) )); SOURCE(22048, 41) origin←v17824 = (* (W2Pt) (* (ptr) (* (( (ptr) arcData←v17796)+6) ) ) ); SOURCE(22091, 59) { W2 var←c48764; { word pd262; pd262 = (* (( (ptr) (* (( (ptr) gf←c50748)+184)/* var←c45788 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd262 ))))((word) &var←c48764, cPoint←v14528, origin←v17824, pd262); }; { W2 var←c0564; { word pd263; pd263 = (* (( (ptr) (* (( (ptr) gf←c50748)+184)/* var←c45788 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd263 ))))((word) &var←c0564, var←c48764, pd263); }; normal←v14600 = var←c0564; }; }; /* removed tail goto */ (* (W2Pt) formal←c0565 ) = normal←v14600; return; } static void ArcJointNormal←P4440(formal←c0580, seg←v14660, joint←v14688, point←v14716, hi←v14744) word formal←c0580; word seg←v14660; W2 joint←v14688; W2 point←v14716; word hi←v14744; { register ptr gf←c50780 = (ptr) &globalframe; W2 normal←v14788; W2 tangent←v14816; word arcData←v17868; W2 origin←v17896; /* ArcJointNormal: */ SOURCE(22156, 313) SOURCE(22261, 35) arcData←v17868 = XR←Narrow((* (( (ptr) seg←v14660)+24) ), (* (( (ptr) gf←c50780)+14) )); SOURCE(22298, 41) origin←v17896 = (* (W2Pt) (* (ptr) (* (( (ptr) arcData←v17868)+6) ) ) ); SOURCE(22341, 58) { W2 var←c48796; { word pd264; pd264 = (* (( (ptr) (* (( (ptr) gf←c50780)+184)/* var←c45788 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd264 ))))((word) &var←c48796, joint←v14688, origin←v17896, pd264); }; { W2 var←c0576; { word pd265; pd265 = (* (( (ptr) (* (( (ptr) gf←c50780)+184)/* var←c45788 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd265 ))))((word) &var←c0576, var←c48796, pd265); }; normal←v14788 = var←c0576; }; }; SOURCE(22401, 68) { W2 var←c48828; { word pd266; pd266 = (* (( (ptr) (* (( (ptr) gf←c50780)+184)/* var←c45788 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd266 ))))((word) &var←c48828, normal←v14788, (* (ptr) &fc155 ), pd266); }; { W2 var←c0579; { word pd267; pd267 = (* (( (ptr) (* (( (ptr) gf←c50780)+184)/* var←c45788 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd267 ))))((word) &var←c0579, var←c48828, pd267); }; tangent←v14816 = var←c0579; }; }; /* removed tail goto */ (* (W2Pt) formal←c0580 ) = normal←v14788; (* (W2Pt) (( (ptr) formal←c0580)+2) ) = tangent←v14816; return; } static void ArcAddJoint←P4500(formal←c0606, seg←v14876, pos←v14904) word formal←c0606; word seg←v14876; W2 pos←v14904; { register ptr gf←c50812 = (ptr) &globalframe; word seg1←v14948; word seg2←v14976; word data←v17940; word data1←v17968 = 0; word data2←v17996 = 0; W2 p0Rel←v18024; W2 p1Rel←v18052; W2 p2Rel←v18080; W2 caretRel←v18108; word cpAngle←v18136; word caretAngle←v18164; W2 rotVec←v18192; /* ArcAddJoint: */ SOURCE(22474, 1648) SOURCE(22474, 1648) seg1←v14948 = 0; SOURCE(22474, 1648) seg2←v14976 = 0; SOURCE(22554, 32) data←v17940 = XR←Narrow((* (( (ptr) seg←v14876)+24) ), (* (( (ptr) gf←c50812)+14) )); SOURCE(22611, 65) { word pd268; pd268 = (* (( (ptr) (* (( (ptr) gf←c50812)+184)/* var←c45788 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd268 ))))((word) &p0Rel←v18024, (* (W2Pt) (( (ptr) (* (( (ptr) data←v17940)+6) ))+2) ), (* (W2Pt) (* (ptr) (* ( ( (ptr) data←v17940)+6) ) ) ), pd268); }; SOURCE(22678, 61) { word pd269; pd269 = (* (( (ptr) (* (( (ptr) gf←c50812)+184)/* var←c45788 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd269 ))))((word) &p1Rel←v18052, (* (W2Pt) data←v17940 ), (* (W2Pt) (* (ptr) (* (( (ptr) data←v17940)+6) ) ) ), pd269); }; SOURCE(22741, 65) { word pd270; pd270 = (* (( (ptr) (* (( (ptr) gf←c50812)+184)/* var←c45788 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd270 ))))((word) &p2Rel←v18080, (* (W2Pt) (( (ptr) (* (( (ptr) data←v17940)+6) ))+4) ), (* (W2Pt) (* (ptr) (* ( ( (ptr) data←v17940)+6) ) ) ), pd270); }; SOURCE(22808, 60) { word pd271; pd271 = (* (( (ptr) (* (( (ptr) gf←c50812)+184)/* var←c45788 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd271 ))))((word) &caretRel←v18108, pos←v14904, (* (W2Pt) (* (ptr) (* (( (ptr) data←v17940)+6) ) ) ), pd271); }; SOURCE(22870, 62) { word pd272; pd272 = (* (( (ptr) (* (( (ptr) gf←c50812)+184)/* var←c45788 */ ))+7) ); cpAngle←v18136 = (word) ( *( (fPt) ((* (ptr) pd272 ))))(p0Rel←v18024, p1Rel←v18052, pd272); }; SOURCE(22934, 68) { word pd273; pd273 = (* (( (ptr) (* (( (ptr) gf←c50812)+184)/* var←c45788 */ ))+7) ); caretAngle←v18164 = (word) ( *( (fPt) ((* (ptr) pd273 ))))(p0Rel←v18024, caretRel←v18108, pd273); }; SOURCE(23019, 33) { word pd274; pd274 = (* (( (ptr) (* (( (ptr) gf←c50812)+185)/* var←c46108 */ ))+17) ); seg1←v14948 = (word) ( *( (fPt) ((* (ptr) pd274 ))))(seg←v14876, pd274); }; SOURCE(23054, 33) { word pd275; pd275 = (* (( (ptr) (* (( (ptr) gf←c50812)+185)/* var←c46108 */ ))+17) ); seg2←v14976 = (word) ( *( (fPt) ((* (ptr) pd275 ))))(seg←v14876, pd275); }; SOURCE(23089, 25) data1←v17968 = XR←Narrow((* (( (ptr) seg1←v14948)+24) ), (* (( (ptr) gf←c50812)+14) )); SOURCE(23116, 25) data2←v17996 = XR←Narrow((* (( (ptr) seg2←v14976)+24) ), (* (( (ptr) gf←c50812)+14) )); SOURCE(23143, 23) (* (W2Pt) (( (ptr) seg2←v14976)+9) ) = pos←v14904; (* (W2Pt) (( (ptr) seg1←v14948)+11) ) = pos←v14904; SOURCE(23168, 21) (* (W2Pt) (( (ptr) seg1←v14948)+9) ) = (* (W2Pt) (( (ptr) (* (( (ptr) data←v17940)+6) ))+2) ); SOURCE(23191, 21) (* (W2Pt) (( (ptr) seg2←v14976)+11) ) = (* (W2Pt) (( (ptr) (* (( (ptr) data←v17940)+6) ))+4) ); SOURCE(23214, 551) { word x276; word x277; if ((( x276 = caretAngle←v18164, *(float*)&x276 ) < ( x277 = cpAngle←v18136, *(float*)&x277 ))) { SOURCE(23296, 95) { word var←c48892; { word pd278; word x279; word x280; float tf281; pd278 = (* (( (ptr) (* (( (ptr) gf←c50812)+192)/* var←c47964 */ ))+9) ); var←c48892 = (word) ( *( (fPt) ((* (ptr) pd278 ))))(( tf281 = ( - ( x279 = caretAngle←v18164, *(float*)&x279 )) / ( x280 = (* (ptr) &fc36 ), *(float*)&x280 ), *(word*)&tf281 ), pd278); }; { word pd282; pd282 = (* (( (ptr) (* (( (ptr) gf←c50812)+192)/* var←c47964 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd282 ))))((word) &rotVec←v18192, var←c48892, caretRel←v18108, pd282); }; }; SOURCE(23393, 56) { word pd283; pd283 = (* (( (ptr) (* (( (ptr) gf←c50812)+184)/* var←c45788 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd283 ))))((word) data1←v17968, rotVec←v18192, (* (W2Pt) (* (ptr) (* (( (ptr) data←v17940)+6) ) ) ), pd283); }; } else { SOURCE(23511, 62) { word pd284; pd284 = (* (( (ptr) (* (( (ptr) gf←c50812)+184)/* var←c45788 */ ))+7) ); caretAngle←v18164 = (word) ( *( (fPt) ((* (ptr) pd284 ))))(caretRel←v18108, p2Rel←v18080, pd284); }; SOURCE(23613, 94) { word var←c48924; { word pd285; word x286; word x287; float tf288; pd285 = (* (( (ptr) (* (( (ptr) gf←c50812)+192)/* var←c47964 */ ))+9) ); var←c48924 = (word) ( *( (fPt) ((* (ptr) pd285 ))))(( tf288 = ( x286 = caretAngle←v18164, *(float*)&x286 ) / ( x287 = (* (ptr) &fc36 ), *(float*)&x287 ), *(word*)&tf288 ), pd285); }; { word pd289; pd289 = (* (( (ptr) (* (( (ptr) gf←c50812)+192)/* var←c47964 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd289 ))))((word) &rotVec←v18192, var←c48924, caretRel←v18108, pd289); }; }; SOURCE(23709, 56) { word pd290; pd290 = (* (( (ptr) (* (( (ptr) gf←c50812)+184)/* var←c45788 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd290 ))))((word) data2←v17996, rotVec←v18192, (* (W2Pt) (* (ptr) (* (( (ptr) data←v17940)+6) ) ) ), pd290); }; }; }; SOURCE(23770, 59) { word pd291; pd291 = (* (( (ptr) (* (( (ptr) gf←c50812)+190)/* var←c47100 */ ))+24) ); (* (( (ptr) data1←v17968)+6) ) = (word) ( *( (fPt) ((* (ptr) pd291 ))))((* (W2Pt) (( (ptr) seg1←v14948)+9) ), (* (W2Pt) data1←v17968 ), (* (W2Pt) ( ( (ptr) seg1←v14948)+11) ), pd291); }; SOURCE(23831, 59) { word pd292; pd292 = (* (( (ptr) (* (( (ptr) gf←c50812)+190)/* var←c47100 */ ))+24) ); (* (( (ptr) data2←v17996)+6) ) = (word) ( *( (fPt) ((* (ptr) pd292 ))))((* (W2Pt) (( (ptr) seg2←v14976)+9) ), (* (W2Pt) data2←v17996 ), (* (W2Pt) ( ( (ptr) seg2←v14976)+11) ), pd292); }; SOURCE(23892, 25) (void) UpdateBoundBoxOfArc←P3180(seg1←v14948); SOURCE(23919, 25) (void) UpdateBoundBoxOfArc←P3180(seg2←v14976); SOURCE(23946, 176) if ((0 == (* (( (ptr) (* (( (ptr) data←v17940)+6) ))+1) ))) { SOURCE(24039, 30) { word pd293; pd293 = (* (( (ptr) (* (( (ptr) gf←c50812)+185)/* var←c46108 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd293 ))))(seg1←v14948, pd293); }; SOURCE(24071, 30) { word pd294; pd294 = (* (( (ptr) (* (( (ptr) gf←c50812)+185)/* var←c46108 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd294 ))))(seg2←v14976, pd294); }; SOURCE(24103, 19) seg1←v14948 = seg2←v14976; /* removed bogus assignment */ goto lab←L100029; }; /* removed tail goto */ lab←L100029: ; (* (ptr) formal←c0606 ) = seg1←v14948; (* (( (ptr) formal←c0606)+1) ) = seg2←v14976; return; } static void Init←P4560() { register ptr gf←c50844 = (ptr) &globalframe; word classDef←v18236; /* Init: */ SOURCE(24131, 487) SOURCE(24149, 78) { word var←c48956; word var←c48988; var←c48956 = (word) BuildLineClass←P1380(); var←c48988 = XR←NewObject(8, (* (( (ptr) gf←c50844)+13) )); (* (ptr) var←c48988 ) = (* (( (ptr) gf←c50844)+21) ); (* (( (ptr) var←c48988)+1) ) = var←c48956; classDef←v18236 = var←c48988; }; SOURCE(24229, 40) { word pd295; pd295 = (* (( (ptr) (* (( (ptr) gf←c50844)+185)/* var←c46108 */ ))+25) ); (void) ( *( (fPt) ((* (ptr) pd295 ))))(classDef←v18236, pd295); }; SOURCE(24271, 76) { word var←c49020; word var←c49052; var←c49020 = (word) BuildArcClass←P2700(); var←c49052 = XR←NewObject(8, (* (( (ptr) gf←c50844)+13) )); (* (ptr) var←c49052 ) = (* (( (ptr) gf←c50844)+20) ); (* (( (ptr) var←c49052)+1) ) = var←c49020; classDef←v18236 = var←c49052; }; SOURCE(24349, 40) { word pd296; pd296 = (* (( (ptr) (* (( (ptr) gf←c50844)+185)/* var←c46108 */ ))+25) ); (void) ( *( (fPt) ((* (ptr) pd296 ))))(classDef←v18236, pd296); }; SOURCE(24392, 72) { word var←c49084; word var←c49116; var←c49084 = (word) BuildCircleClass←P1020(); var←c49116 = XR←NewObject(8, (* (( (ptr) gf←c50844)+13) )); (* (ptr) var←c49116 ) = (* (( (ptr) gf←c50844)+25) ); (* (( (ptr) var←c49116)+1) ) = var←c49084; classDef←v18236 = var←c49116; }; SOURCE(24466, 40) { word pd297; pd297 = (* (( (ptr) (* (( (ptr) gf←c50844)+185)/* var←c46108 */ ))+25) ); (void) ( *( (fPt) ((* (ptr) pd297 ))))(classDef←v18236, pd297); }; SOURCE(24508, 68) { word var←c49148; word var←c49180; var←c49148 = (word) BuildDiscClass←P1260(); var←c49180 = XR←NewObject(8, (* (( (ptr) gf←c50844)+13) )); (* (ptr) var←c49180 ) = (* (( (ptr) gf←c50844)+24) ); (* (( (ptr) var←c49180)+1) ) = var←c49148; classDef←v18236 = var←c49180; }; SOURCE(24578, 40) { word pd298; pd298 = (* (( (ptr) (* (( (ptr) gf←c50844)+185)/* var←c46108 */ ))+25) ); (void) ( *( (fPt) ((* (ptr) pd298 ))))(classDef←v18236, pd298); }; } /* file: GGSegmentImplB, module: GGSegmentImplB, compiled at: February 5, 1993 2:09:42 pm PST */ extern void XR←install←GGSegmentImplB() { NoName←Q4860(); } extern void XR←run←GGSegmentImplB() { XR←Start(&globalframe); }