/*HEAD CREATE_ARC_THRU_THREE_POINTS.CPP CCC UFUN */ #include #include #include #include #include #include #include static logical specify_point(char *prompt, double loc[3]) { int ia2[2] = { 0,0 }, ip3 = 0, irc; irc = uc1616(prompt, ia2, ip3, loc); if (irc == 5) return TRUE; else return FALSE; } static void do_it(void) { double loc1[3], loc2[3], loc3[3]; while (specify_point((char*)"Define point 1", loc1) && specify_point((char*)"Define point 2", loc2) && specify_point((char*)"Define point 3", loc3)) { UgArc *an_arc = UgArc::create(FALSE, (Point3)loc1, (Point3)loc2, (Point3)loc3); an_arc->setColor(Red); } } void ufusr(char *param, int *retcode, int paramLen) { try { UgSession my_session (true); do_it(); } catch (UgException oops) { UgInfoWindow info; info.open(); info.write(oops.askErrorText()); info.write("\n"); return; } }