1/** @fn int azpset(struct prjprm *prj) 2* 3* @brief Set up a #prjprm struct for 4* the <B>zenithal/azimuthal perspective (<TT>AZP</TT>)</B> 5* projection. 6* 7* @b %azpset() sets up a #prjprm struct for 8* a <B>zenithal/azimuthal perspective (<TT>AZP</TT>)</B> 9* projection. 10* 11* See prjset() for a description of the API. 12*/ 13 14/** @fn int azpx2s(PRJX2S_ARGS) 15* 16* @brief Cartesian-to-spherical transformation for the 17* <B>zenithal/azimuthal perspective (<TT>AZP</TT>)</B> 18* projection. 19* 20* @b %azpx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 21* a <B>zenithal/azimuthal perspective (<TT>AZP</TT>)</B> 22* projection to native spherical coordinates \f$(\phi,\theta)\f$. 23* 24* See prjx2s() for a description of the API. 25*/ 26 27/** @fn int azps2x(PRJS2X_ARGS) 28* 29* @brief Spherical-to-Cartesian transformation for the 30* <B>zenithal/azimuthal perspective (<TT>AZP</TT>)</B> 31* projection. 32* 33* @b %azps2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 34* Cartesian \f$(x,y)\f$ coordinates in the plane of 35* a <B>zenithal/azimuthal perspective (<TT>AZP</TT>)</B> 36* projection. 37* 38* See prjs2x() for a description of the API. 39*/ 40 41/** @fn int szpset(struct prjprm *prj) 42* 43* @brief Set up a #prjprm struct for the 44* <B>slant zenithal perspective (<TT>SZP</TT>)</B> 45* projection. 46* 47* @b %szpset() sets up a #prjprm struct for 48* a <B>slant zenithal perspective (<TT>SZP</TT>)</B> 49* projection. 50* 51* See prjset() for a description of the API. 52*/ 53 54/** @fn int szpx2s(PRJX2S_ARGS) 55* 56* @brief Cartesian-to-spherical transformation for the 57* <B>slant zenithal perspective (<TT>SZP</TT>)</B> 58* projection. 59* 60* @b %szpx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 61* a <B>slant zenithal perspective (<TT>SZP</TT>)</B> 62* projection to native spherical coordinates \f$(\phi,\theta)\f$. 63* 64* See prjx2s() for a description of the API. 65*/ 66 67/** @fn int szps2x(PRJS2X_ARGS) 68* 69* @brief Spherical-to-Cartesian transformation for the 70* <B>slant zenithal perspective (<TT>SZP</TT>)</B> 71* projection. 72* 73* @b %szps2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 74* Cartesian \f$(x,y)\f$ coordinates in the plane of 75* a <B>slant zenithal perspective (<TT>SZP</TT>)</B> 76* projection. 77* 78* See prjs2x() for a description of the API. 79*/ 80 81/** @fn int tanset(struct prjprm *prj) 82* 83* @brief Set up a #prjprm struct for the 84* <B>gnomonic (<TT>TAN</TT>)</B> 85* projection. 86* 87* @b %tanset() sets up a #prjprm struct for 88* a <B>gnomonic (<TT>TAN</TT>)</B> 89* projection. 90* 91* See prjset() for a description of the API. 92*/ 93 94/** @fn int tanx2s(PRJX2S_ARGS) 95* 96* @brief Cartesian-to-spherical transformation for the 97* <B>gnomonic (<TT>TAN</TT>)</B> 98* projection. 99* 100* @b %tanx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 101* a <B>gnomonic (<TT>TAN</TT>)</B> 102* projection to native spherical coordinates \f$(\phi,\theta)\f$. 103* 104* See prjx2s() for a description of the API. 105*/ 106 107/** @fn int tans2x(PRJS2X_ARGS) 108* 109* @brief Spherical-to-Cartesian transformation for the 110* <B>gnomonic (<TT>TAN</TT>)</B> 111* projection. 112* 113* @b %tans2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 114* Cartesian \f$(x,y)\f$ coordinates in the plane of 115* a <B>gnomonic (<TT>TAN</TT>)</B> 116* projection. 117* 118* See prjs2x() for a description of the API. 119*/ 120 121/** @fn int stgset(struct prjprm *prj) 122* 123* @brief Set up a #prjprm struct for the 124* <B>stereographic (<TT>STG</TT>)</B> 125* projection. 126* 127* @b %stgset() sets up a #prjprm struct for 128* a <B>stereographic (<TT>STG</TT>)</B> 129* projection. 130* 131* See prjset() for a description of the API. 132*/ 133 134/** @fn int stgx2s(PRJX2S_ARGS) 135* 136* @brief Cartesian-to-spherical transformation for the 137* <B>stereographic (<TT>STG</TT>)</B> 138* projection. 139* 140* @b %stgx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 141* a <B>stereographic (<TT>STG</TT>)</B> 142* projection to native spherical coordinates \f$(\phi,\theta)\f$. 143* 144* See prjx2s() for a description of the API. 145*/ 146 147/** @fn int stgs2x(PRJS2X_ARGS) 148* 149* @brief Spherical-to-Cartesian transformation for the 150* <B>stereographic (<TT>STG</TT>)</B> 151* projection. 152* 153* @b %stgs2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 154* Cartesian \f$(x,y)\f$ coordinates in the plane of 155* a <B>stereographic (<TT>STG</TT>)</B> 156* projection. 157* 158* See prjs2x() for a description of the API. 159*/ 160 161/** @fn int sinset(struct prjprm *prj) 162* 163* @brief Set up a #prjprm struct for the 164* <B>orthographic/synthesis (<TT>SIN</TT>)</B> 165* projection. 166* 167* @b %stgset() sets up a #prjprm struct for 168* an <B>orthographic/synthesis (<TT>SIN</TT>)</B> 169* projection. 170* 171* See prjset() for a description of the API. 172*/ 173 174/** @fn int sinx2s(PRJX2S_ARGS) 175* 176* @brief Cartesian-to-spherical transformation for the 177* <B>orthographic/synthesis (<TT>SIN</TT>)</B> 178* projection. 179* 180* @b %sinx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 181* an <B>orthographic/synthesis (<TT>SIN</TT>)</B> 182* projection to native spherical coordinates \f$(\phi,\theta)\f$. 183* 184* See prjx2s() for a description of the API. 185*/ 186 187/** @fn int sins2x(PRJS2X_ARGS) 188* 189* @brief Spherical-to-Cartesian transformation for the 190* <B>orthographic/synthesis (<TT>SIN</TT>)</B> 191* projection. 192* 193* @b %sins2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 194* Cartesian \f$(x,y)\f$ coordinates in the plane of 195* an <B>orthographic/synthesis (<TT>SIN</TT>)</B> 196* projection. 197* 198* See prjs2x() for a description of the API. 199*/ 200 201/** @fn int arcset(struct prjprm *prj) 202* 203* @brief Set up a #prjprm struct for the 204* <B>zenithal/azimuthal equidistant (<TT>ARC</TT>)</B> 205* projection. 206* 207* @b %arcset() sets up a #prjprm struct for 208* a <B>zenithal/azimuthal equidistant (<TT>ARC</TT>)</B> 209* projection. 210* 211* See prjset() for a description of the API. 212*/ 213 214/** @fn int arcx2s(PRJX2S_ARGS) 215* 216* @brief Cartesian-to-spherical transformation for the 217* <B>zenithal/azimuthal equidistant (<TT>ARC</TT>)</B> 218* projection. 219* 220* @b %arcx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 221* a <B>zenithal/azimuthal equidistant (<TT>ARC</TT>)</B> 222* projection to native spherical 223* coordinates \f$(\phi,\theta)\f$. 224* 225* See prjx2s() for a description of the API. 226*/ 227 228/** @fn int arcs2x(PRJS2X_ARGS) 229* 230* @brief Spherical-to-Cartesian transformation for the 231* <B>zenithal/azimuthal equidistant (<TT>ARC</TT>)</B> 232* projection. 233* 234* @b %arcs2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 235* Cartesian \f$(x,y)\f$ coordinates in the plane of 236* a <B>zenithal/azimuthal equidistant (<TT>ARC</TT>)</B> 237* projection. 238* 239* See prjs2x() for a description of the API. 240*/ 241 242/** @fn int zpnset(struct prjprm *prj) 243* 244* @brief Set up a #prjprm struct for the 245* <B>zenithal/azimuthal polynomial (<TT>ZPN</TT>)</B> 246* projection. 247* 248* @b %zpnset() sets up a #prjprm struct for 249* a <B>zenithal/azimuthal polynomial (<TT>ZPN</TT>)</B> 250* projection. 251* 252* See prjset() for a description of the API. 253*/ 254 255/** @fn int zpnx2s(PRJX2S_ARGS) 256* 257* @brief Cartesian-to-spherical transformation for the 258* <B>zenithal/azimuthal polynomial (<TT>ZPN</TT>)</B> 259* projection. 260* 261* @b %zpnx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 262* a <B>zenithal/azimuthal polynomial (<TT>ZPN</TT>)</B> 263* projection to native spherical coordinates \f$(\phi,\theta)\f$. 264* 265* See prjx2s() for a description of the API. 266*/ 267 268/** @fn int zpns2x(PRJS2X_ARGS) 269* 270* @brief Spherical-to-Cartesian transformation for the 271* <B>zenithal/azimuthal polynomial (<TT>ZPN</TT>)</B> 272* projection. 273* 274* @b %zpns2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 275* Cartesian \f$(x,y)\f$ coordinates in the plane of 276* a <B>zenithal/azimuthal polynomial (<TT>ZPN</TT>)</B> 277* projection. 278* 279* See prjs2x() for a description of the API. 280*/ 281 282/** @fn int zeaset(struct prjprm *prj) 283* 284* @brief Set up a #prjprm struct for the 285* <B>zenithal/azimuthal equal area (<TT>ZEA</TT>)</B> 286* projection. 287* 288* @b %zeaset() sets up a #prjprm struct for 289* a <B>zenithal/azimuthal equal area (<TT>ZEA</TT>)</B> 290* projection. 291* 292* See prjset() for a description of the API. 293*/ 294 295/** @fn int zeax2s(PRJX2S_ARGS) 296* 297* @brief Cartesian-to-spherical transformation for the 298* <B>zenithal/azimuthal equal area (<TT>ZEA</TT>)</B> 299* projection. 300* 301* @b %zeax2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 302* a <B>zenithal/azimuthal equal area (<TT>ZEA</TT>)</B> 303* projection to native spherical coordinates \f$(\phi,\theta)\f$. 304* 305* See prjx2s() for a description of the API. 306*/ 307 308/** @fn int zeas2x(PRJS2X_ARGS) 309* 310* @brief Spherical-to-Cartesian transformation for the 311* <B>zenithal/azimuthal equal area (<TT>ZEA</TT>)</B> 312* projection. 313* 314* @b %zeas2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 315* Cartesian \f$(x,y)\f$ coordinates in the plane of 316* a <B>zenithal/azimuthal equal area (<TT>ZEA</TT>)</B> 317* projection. 318* 319* See prjs2x() for a description of the API. 320*/ 321 322/** @fn int airset(struct prjprm *prj) 323* 324* @brief Set up a #prjprm struct for 325* <B>Airy's (<TT>AIR</TT>)</B> 326* projection. 327* 328* @b %airset() sets up a #prjprm struct for 329* an <B>Airy (<TT>AIR</TT>)</B> 330* projection. 331* 332* See prjset() for a description of the API. 333*/ 334 335/** @fn int airx2s(PRJX2S_ARGS) 336* 337* @brief Cartesian-to-spherical transformation for 338* <B>Airy's (<TT>AIR</TT>)</B> 339* projection. 340* 341* @b %airx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 342* an <B>Airy (<TT>AIR</TT>)</B> 343* projection to native spherical coordinates \f$(\phi,\theta)\f$. 344* 345* See prjx2s() for a description of the API. 346*/ 347 348/** @fn int airs2x(PRJS2X_ARGS) 349* 350* @brief Spherical-to-Cartesian transformation for 351* <B>Airy's (<TT>AIR</TT>)</B> 352* projection. 353* 354* @b %airs2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 355* Cartesian \f$(x,y)\f$ coordinates in the plane of 356* an <B>Airy (<TT>AIR</TT>)</B> 357* projection. 358* 359* See prjs2x() for a description of the API. 360*/ 361 362/** @fn int cypset(struct prjprm *prj) 363* 364* @brief Set up a #prjprm struct for the 365* <B>cylindrical perspective (<TT>CYP</TT>)</B> 366* projection. 367* 368* @b %cypset() sets up a #prjprm struct for 369* a <B>cylindrical perspective (<TT>CYP</TT>)</B> 370* projection. 371* 372* See prjset() for a description of the API. 373*/ 374 375/** @fn int cypx2s(PRJX2S_ARGS) 376* 377* @brief Cartesian-to-spherical transformation for the 378* <B>cylindrical perspective (<TT>CYP</TT>)</B> 379* projection. 380* 381* @b %cypx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 382* a <B>cylindrical perspective (<TT>CYP</TT>)</B> 383* projection to native spherical coordinates \f$(\phi,\theta)\f$. 384* 385* See prjx2s() for a description of the API. 386*/ 387 388/** @fn int cyps2x(PRJS2X_ARGS) 389* 390* @brief Spherical-to-Cartesian transformation for the 391* <B>cylindrical perspective (<TT>CYP</TT>)</B> 392* projection. 393* 394* @b %cyps2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 395* Cartesian \f$(x,y)\f$ coordinates in the plane of 396* a <B>cylindrical perspective (<TT>CYP</TT>)</B> 397* projection. 398* 399* See prjs2x() for a description of the API. 400*/ 401 402/** @fn int ceaset(struct prjprm *prj) 403* 404* @brief Set up a #prjprm struct for the 405* <B>cylindrical equal area (<TT>CEA</TT>)</B> 406* projection. 407* 408* @b %ceaset() sets up a #prjprm struct for 409* a <B>cylindrical equal area (<TT>CEA</TT>)</B> 410* projection. 411* 412* See prjset() for a description of the API. 413*/ 414 415/** @fn int ceax2s(PRJX2S_ARGS) 416* 417* @brief Cartesian-to-spherical transformation for the 418* <B>cylindrical equal area (<TT>CEA</TT>)</B> 419* projection. 420* 421* @b %ceax2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 422* a <B>cylindrical equal area (<TT>CEA</TT>)</B> 423* projection to native spherical coordinates \f$(\phi,\theta)\f$. 424* 425* See prjx2s() for a description of the API. 426*/ 427 428/** @fn int ceas2x(PRJS2X_ARGS) 429* 430* @brief Spherical-to-Cartesian transformation for the 431* <B>cylindrical equal area (<TT>CEA</TT>)</B> 432* projection. 433* 434* @b %ceas2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 435* Cartesian \f$(x,y)\f$ coordinates in the plane of 436* a <B>cylindrical equal area (<TT>CEA</TT>)</B> 437* projection. 438* 439* See prjs2x() for a description of the API. 440*/ 441 442/** @fn int carset(struct prjprm *prj) 443* 444* @brief Set up a #prjprm struct for the 445* <B>plate carrée (<TT>CAR</TT>)</B> 446* projection. 447* 448* @b %carset() sets up a #prjprm struct for 449* a <B>plate carrée (<TT>CAR</TT>)</B> 450* projection. 451* 452* See prjset() for a description of the API. 453*/ 454 455/** @fn int carx2s(PRJX2S_ARGS) 456* 457* @brief Cartesian-to-spherical transformation for the 458* <B>plate carrée (<TT>CAR</TT>)</B> 459* projection. 460* 461* @b %carx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 462* a <B>plate carrée (<TT>CAR</TT>)</B> 463* projection to native spherical coordinates \f$(\phi,\theta)\f$. 464* 465* See prjx2s() for a description of the API. 466*/ 467 468/** @fn int cars2x(PRJS2X_ARGS) 469* 470* @brief Spherical-to-Cartesian transformation for the 471* <B>plate carrée (<TT>CAR</TT>)</B> 472* projection. 473* 474* @b %cars2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 475* Cartesian \f$(x,y)\f$ coordinates in the plane of 476* a <B>plate carrée (<TT>CAR</TT>)</B> 477* projection. 478* 479* See prjs2x() for a description of the API. 480*/ 481 482/** @fn int merset(struct prjprm *prj) 483* 484* @brief Set up a #prjprm struct for 485* <B>Mercator's (<TT>MER</TT>)</B> 486* projection. 487* 488* @b %merset() sets up a #prjprm struct for 489* a <B>Mercator (<TT>MER</TT>)</B> 490* projection. 491* 492* See prjset() for a description of the API. 493*/ 494 495/** @fn int merx2s(PRJX2S_ARGS) 496* 497* @brief Cartesian-to-spherical transformation for 498* <B>Mercator's (<TT>MER</TT>)</B> 499* projection. 500* 501* @b %merx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 502* a <B>Mercator (<TT>MER</TT>)</B> 503* projection to native spherical coordinates \f$(\phi,\theta)\f$. 504* 505* See prjx2s() for a description of the API. 506*/ 507 508/** @fn int mers2x(PRJS2X_ARGS) 509* 510* @brief Spherical-to-Cartesian transformation for 511* <B>Mercator's (<TT>MER</TT>)</B> 512* projection. 513* 514* @b %mers2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 515* Cartesian \f$(x,y)\f$ coordinates in the plane of 516* a <B>Mercator (<TT>MER</TT>)</B> 517* projection. 518* 519* See prjs2x() for a description of the API. 520*/ 521 522/** @fn int sflset(struct prjprm *prj) 523* 524* @brief Set up a #prjprm struct for the 525* <B>Sanson-Flamsteed (<TT>SFL</TT>)</B> 526* projection. 527* 528* @b %sflset() sets up a #prjprm struct for 529* a <B>Sanson-Flamsteed (<TT>SFL</TT>)</B> 530* projection. 531* 532* See prjset() for a description of the API. 533*/ 534 535/** @fn int sflx2s(PRJX2S_ARGS) 536* 537* @brief Cartesian-to-spherical transformation for the 538* <B>Sanson-Flamsteed (<TT>SFL</TT>)</B> 539* projection. 540* 541* @b %sflx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 542* a <B>Sanson-Flamsteed (<TT>SFL</TT>)</B> 543* projection to native spherical coordinates \f$(\phi,\theta)\f$. 544* 545* See prjx2s() for a description of the API. 546*/ 547 548/** @fn int sfls2x(PRJS2X_ARGS) 549* 550* @brief Spherical-to-Cartesian transformation for the 551* <B>Sanson-Flamsteed (<TT>SFL</TT>)</B> 552* projection. 553* 554* @b %sfls2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 555* Cartesian \f$(x,y)\f$ coordinates in the plane of 556* a <B>Sanson-Flamsteed (<TT>SFL</TT>)</B> 557* projection. 558* 559* See prjs2x() for a description of the API. 560*/ 561 562/** @fn int parset(struct prjprm *prj) 563* 564* @brief Set up a #prjprm struct for the 565* <B>parabolic (<TT>PAR</TT>)</B> 566* projection. 567* 568* @b %parset() sets up a #prjprm struct for 569* a <B>parabolic (<TT>PAR</TT>)</B> 570* projection. 571* 572* See prjset() for a description of the API. 573*/ 574 575/** @fn int parx2s(PRJX2S_ARGS) 576* 577* @brief Cartesian-to-spherical transformation for the 578* <B>parabolic (<TT>PAR</TT>)</B> 579* projection. 580* 581* @b %parx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 582* a <B>parabolic (<TT>PAR</TT>)</B> 583* projection to native spherical coordinates \f$(\phi,\theta)\f$. 584* 585* See prjx2s() for a description of the API. 586*/ 587 588/** @fn int pars2x(PRJS2X_ARGS) 589* 590* @brief Spherical-to-Cartesian transformation for the 591* <B>parabolic (<TT>PAR</TT>)</B> 592* projection. 593* 594* @b %pars2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 595* Cartesian \f$(x,y)\f$ coordinates in the plane of 596* a <B>parabolic (<TT>PAR</TT>)</B> 597* projection. 598* 599* See prjs2x() for a description of the API. 600*/ 601 602/** @fn int molset(struct prjprm *prj) 603* 604* @brief Set up a #prjprm struct for 605* <B>Mollweide's (<TT>MOL</TT>)</B> 606* projection. 607* 608* @b %molset() sets up a #prjprm struct for 609* a <B>Mollweide (<TT>MOL</TT>)</B> 610* projection. 611* 612* See prjset() for a description of the API. 613*/ 614 615/** @fn int molx2s(PRJX2S_ARGS) 616* 617* @brief Cartesian-to-spherical transformation for 618* <B>Mollweide's (<TT>MOL</TT>)</B> 619* projection. 620* 621* @b %molx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 622* a <B>Mollweide (<TT>MOL</TT>)</B> 623* projection to native spherical coordinates \f$(\phi,\theta)\f$. 624* 625* See prjx2s() for a description of the API. 626*/ 627 628/** @fn int mols2x(PRJS2X_ARGS) 629* 630* @brief Spherical-to-Cartesian transformation for 631* <B>Mollweide's (<TT>MOL</TT>)</B> 632* projection. 633* 634* @b %mols2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 635* Cartesian \f$(x,y)\f$ coordinates in the plane of 636* a <B>Mollweide (<TT>MOL</TT>)</B> 637* projection. 638* 639* See prjs2x() for a description of the API. 640*/ 641 642/** @fn int aitset(struct prjprm *prj) 643* 644* @brief Set up a #prjprm struct for the 645* <B>Hammer-Aitoff (<TT>AIT</TT>)</B> 646* projection. 647* 648* @b %aitset() sets up a #prjprm struct for 649* a <B>Hammer-Aitoff (<TT>AIT</TT>)</B> 650* projection. 651* 652* See prjset() for a description of the API. 653*/ 654 655/** @fn int aitx2s(PRJX2S_ARGS) 656* 657* @brief Cartesian-to-spherical transformation for the 658* <B>Hammer-Aitoff (<TT>AIT</TT>)</B> 659* projection. 660* 661* @b %aitx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 662* a <B>Hammer-Aitoff (<TT>AIT</TT>)</B> 663* projection to native spherical coordinates \f$(\phi,\theta)\f$. 664* 665* See prjx2s() for a description of the API. 666*/ 667 668/** @fn int aits2x(PRJS2X_ARGS) 669* 670* @brief Spherical-to-Cartesian transformation for the 671* <B>Hammer-Aitoff (<TT>AIT</TT>)</B> 672* projection. 673* 674* @b %aits2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 675* Cartesian \f$(x,y)\f$ coordinates in the plane of 676* a <B>Hammer-Aitoff (<TT>AIT</TT>)</B> 677* projection. 678* 679* See prjs2x() for a description of the API. 680*/ 681 682/** @fn int copset(struct prjprm *prj) 683* 684* @brief Set up a #prjprm struct for the 685* <B>conic perspective (<TT>COP</TT>)</B> 686* projection. 687* 688* @b %copset() sets up a #prjprm struct for 689* a <B>conic perspective (<TT>COP</TT>)</B> 690* projection. 691* 692* See prjset() for a description of the API. 693*/ 694 695/** @fn int copx2s(PRJX2S_ARGS) 696* 697* @brief Cartesian-to-spherical transformation for the 698* <B>conic perspective (<TT>COP</TT>)</B> 699* projection. 700* 701* @b %copx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 702* a <B>conic perspective (<TT>COP</TT>)</B> 703* projection to native spherical coordinates \f$(\phi,\theta)\f$. 704* 705* See prjx2s() for a description of the API. 706*/ 707 708/** @fn int cops2x(PRJS2X_ARGS) 709* 710* @brief Spherical-to-Cartesian transformation for the 711* <B>conic perspective (<TT>COP</TT>)</B> 712* projection. 713* 714* @b %cops2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 715* Cartesian \f$(x,y)\f$ coordinates in the plane of 716* a <B>conic perspective (<TT>COP</TT>)</B> 717* projection. 718* 719* See prjs2x() for a description of the API. 720*/ 721 722/** @fn int coeset(struct prjprm *prj) 723* 724* @brief Set up a #prjprm struct for the 725* <B>conic equal area (<TT>COE</TT>)</B> 726* projection. 727* 728* @b %coeset() sets up a #prjprm struct for 729* a <B>conic equal area (<TT>COE</TT>)</B> 730* projection. 731* 732* See prjset() for a description of the API. 733*/ 734 735/** @fn int coex2s(PRJX2S_ARGS) 736* 737* @brief Cartesian-to-spherical transformation for the 738* <B>conic equal area (<TT>COE</TT>)</B> 739* projection. 740* 741* @b %coex2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 742* a <B>conic equal area (<TT>COE</TT>)</B> 743* projection to native spherical coordinates \f$(\phi,\theta)\f$. 744* 745* See prjx2s() for a description of the API. 746*/ 747 748/** @fn int coes2x(PRJS2X_ARGS) 749* 750* @brief Spherical-to-Cartesian transformation for the 751* <B>conic equal area (<TT>COE</TT>)</B> 752* projection. 753* 754* @b %coes2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 755* Cartesian \f$(x,y)\f$ coordinates in the plane of 756* a <B>conic equal area (<TT>COE</TT>)</B> 757* projection. 758* 759* See prjs2x() for a description of the API. 760*/ 761 762/** @fn int codset(struct prjprm *prj) 763* 764* @brief Set up a #prjprm struct for the 765* <B>conic equidistant (<TT>COD</TT>)</B> 766* projection. 767* 768* @b %codset() sets up a #prjprm struct for 769* a <B>conic equidistant (<TT>COD</TT>)</B> 770* projection. 771* 772* See prjset() for a description of the API. 773*/ 774 775/** @fn int codx2s(PRJX2S_ARGS) 776* 777* @brief Cartesian-to-spherical transformation for the 778* <B>conic equidistant (<TT>COD</TT>)</B> 779* projection. 780* 781* @b %codx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 782* a <B>conic equidistant (<TT>COD</TT>)</B> 783* projection to native spherical coordinates \f$(\phi,\theta)\f$. 784* 785* See prjx2s() for a description of the API. 786*/ 787 788/** @fn int cods2x(PRJS2X_ARGS) 789* 790* @brief Spherical-to-Cartesian transformation for the 791* <B>conic equidistant (<TT>COD</TT>)</B> 792* projection. 793* 794* @b %cods2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 795* Cartesian \f$(x,y)\f$ coordinates in the plane of 796* a <B>conic equidistant (<TT>COD</TT>)</B> 797* projection. 798* 799* See prjs2x() for a description of the API. 800*/ 801 802/** @fn int cooset(struct prjprm *prj) 803* 804* @brief Set up a #prjprm struct for the 805* <B>conic orthomorphic (<TT>COO</TT>)</B> 806* projection. 807* 808* @b %cooset() sets up a #prjprm struct for 809* a <B>conic orthomorphic (<TT>COO</TT>)</B> 810* projection. 811* 812* See prjset() for a description of the API. 813*/ 814 815/** @fn int coox2s(PRJX2S_ARGS) 816* 817* @brief Cartesian-to-spherical transformation for the 818* <B>conic orthomorphic (<TT>COO</TT>)</B> 819* projection. 820* 821* @b %coox2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 822* a <B>conic orthomorphic (<TT>COO</TT>)</B> 823* projection to native spherical coordinates \f$(\phi,\theta)\f$. 824* 825* See prjx2s() for a description of the API. 826*/ 827 828/** @fn int coos2x(PRJS2X_ARGS) 829* 830* @brief Spherical-to-Cartesian transformation for the 831* <B>conic orthomorphic (<TT>COO</TT>)</B> 832* projection. 833* 834* @b %coos2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 835* Cartesian \f$(x,y)\f$ coordinates in the plane of 836* a <B>conic orthomorphic (<TT>COO</TT>)</B> 837* projection. 838* 839* See prjs2x() for a description of the API. 840*/ 841 842/** @fn int bonset(struct prjprm *prj) 843* 844* @brief Set up a #prjprm struct for 845* <B>Bonne's (<TT>BON</TT>)</B> 846* projection. 847* 848* @b %bonset() sets up a #prjprm struct for 849* a <B>Bonne (<TT>BON</TT>)</B> 850* projection. 851* 852* See prjset() for a description of the API. 853*/ 854 855/** @fn int bonx2s(PRJX2S_ARGS) 856* 857* @brief Cartesian-to-spherical transformation for 858* <B>Bonne's (<TT>BON</TT>)</B> 859* projection. 860* 861* @b %bonx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 862* a <B>Bonne (<TT>BON</TT>)</B> 863* projection to native spherical coordinates \f$(\phi,\theta)\f$. 864* 865* See prjx2s() for a description of the API. 866*/ 867 868/** @fn int bons2x(PRJS2X_ARGS) 869* 870* @brief Spherical-to-Cartesian transformation for 871* <B>Bonne's (<TT>BON</TT>)</B> 872* projection. 873* 874* @b %bons2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 875* Cartesian \f$(x,y)\f$ coordinates in the plane of 876* a <B>Bonne (<TT>BON</TT>)</B> 877* projection. 878* 879* See prjs2x() for a description of the API. 880*/ 881 882/** @fn int pcoset(struct prjprm *prj) 883* 884* @brief Set up a #prjprm struct for the 885* <B>polyconic (<TT>PCO</TT>)</B> 886* projection. 887* 888* @b %pcoset() sets up a #prjprm struct for 889* a <B>polyconic (<TT>PCO</TT>)</B> 890* projection. 891* 892* See prjset() for a description of the API. 893*/ 894 895/** @fn int pcox2s(PRJX2S_ARGS) 896* 897* @brief Cartesian-to-spherical transformation for the 898* <B>polyconic (<TT>PCO</TT>)</B> 899* projection. 900* 901* @b %pcox2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 902* a <B>polyconic (<TT>PCO</TT>)</B> 903* projection to native spherical coordinates \f$(\phi,\theta)\f$. 904* 905* See prjx2s() for a description of the API. 906*/ 907 908/** @fn int pcos2x(PRJS2X_ARGS) 909* 910* @brief Spherical-to-Cartesian transformation for the 911* <B>polyconic (<TT>PCO</TT>)</B> 912* projection. 913* 914* @b %pcos2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 915* Cartesian \f$(x,y)\f$ coordinates in the plane of 916* a <B>polyconic (<TT>PCO</TT>)</B> 917* projection. 918* 919* See prjs2x() for a description of the API. 920*/ 921 922/** @fn int tscset(struct prjprm *prj) 923* 924* @brief Set up a #prjprm struct for the 925* <B>tangential spherical cube (<TT>TSC</TT>)</B> 926* projection. 927* 928* @b %tscset() sets up a #prjprm struct for 929* a <B>tangential spherical cube (<TT>TSC</TT>)</B> 930* projection. 931* 932* See prjset() for a description of the API. 933*/ 934 935/** @fn int tscx2s(PRJX2S_ARGS) 936* 937* @brief Cartesian-to-spherical transformation for the 938* <B>tangential spherical cube (<TT>TSC</TT>)</B> 939* projection. 940* 941* @b %tscx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 942* a <B>tangential spherical cube (<TT>TSC</TT>)</B> 943* projection to native spherical coordinates \f$(\phi,\theta)\f$. 944* 945* See prjx2s() for a description of the API. 946*/ 947 948/** @fn int tscs2x(PRJS2X_ARGS) 949* 950* @brief Spherical-to-Cartesian transformation for the 951* <B>tangential spherical cube (<TT>TSC</TT>)</B> 952* projection. 953* 954* @b %tscs2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 955* Cartesian \f$(x,y)\f$ coordinates in the plane of 956* a <B>tangential spherical cube (<TT>TSC</TT>)</B> 957* projection. 958* 959* See prjs2x() for a description of the API. 960*/ 961 962/** @fn int cscset(struct prjprm *prj) 963* 964* @brief Set up a #prjprm struct for the 965* <B>COBE spherical cube (<TT>CSC</TT>)</B> 966* projection. 967* 968* @b %cscset() sets up a #prjprm struct for 969* a <B>COBE spherical cube (<TT>CSC</TT>)</B> 970* projection. 971* 972* See prjset() for a description of the API. 973*/ 974 975/** @fn int cscx2s(PRJX2S_ARGS) 976* 977* @brief Cartesian-to-spherical transformation for the 978* <B>COBE spherical cube (<TT>CSC</TT>)</B> 979* projection. 980* 981* @b %cscx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 982* a <B>COBE spherical cube (<TT>CSC</TT>)</B> 983* projection to native spherical coordinates \f$(\phi,\theta)\f$. 984* 985* See prjx2s() for a description of the API. 986*/ 987 988/** @fn int cscs2x(PRJS2X_ARGS) 989* 990* @brief Spherical-to-Cartesian transformation for the 991* <B>COBE spherical cube (<TT>CSC</TT>)</B> 992* projection. 993* 994* @b %cscs2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 995* Cartesian \f$(x,y)\f$ coordinates in the plane of 996* a <B>COBE spherical cube (<TT>CSC</TT>)</B> 997* projection. 998* 999* See prjs2x() for a description of the API. 1000*/ 1001 1002/** @fn int qscset(struct prjprm *prj) 1003* 1004* @brief Set up a #prjprm struct for the 1005* <B>quadrilateralized spherical cube (<TT>QSC</TT>)</B> 1006* projection. 1007* 1008* @b %qscset() sets up a #prjprm struct for 1009* a <B>quadrilateralized spherical cube (<TT>QSC</TT>)</B> 1010* projection. 1011* 1012* See prjset() for a description of the API. 1013*/ 1014 1015/** @fn int qscx2s(PRJX2S_ARGS) 1016* 1017* @brief Cartesian-to-spherical transformation for the 1018* <B>quadrilateralized spherical cube (<TT>QSC</TT>)</B> 1019* projection. 1020* 1021* @b %qscx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 1022* a <B>quadrilateralized spherical cube (<TT>QSC</TT>)</B> 1023* projection to native spherical coordinates \f$(\phi,\theta)\f$. 1024* 1025* See prjx2s() for a description of the API. 1026*/ 1027 1028/** @fn int qscs2x(PRJS2X_ARGS) 1029* 1030* @brief Spherical-to-Cartesian transformation for the 1031* <B>quadrilateralized spherical cube (<TT>QSC</TT>)</B> 1032* projection. 1033* 1034* @b %qscs2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 1035* Cartesian \f$(x,y)\f$ coordinates in the plane of 1036* a <B>quadrilateralized spherical cube (<TT>QSC</TT>)</B> 1037* projection. 1038* 1039* See prjs2x() for a description of the API. 1040*/ 1041 1042/** @fn int hpxset(struct prjprm *prj) 1043* 1044* @brief Set up a #prjprm struct for the 1045* <B>HEALPix (<TT>HPX</TT>)</B> 1046* projection. 1047* 1048* @b %hpxset() sets up a #prjprm struct for 1049* a <B>HEALPix (<TT>HPX</TT>)</B> 1050* projection. 1051* 1052* See prjset() for a description of the API. 1053*/ 1054 1055/** @fn int hpxx2s(PRJX2S_ARGS) 1056* 1057* @brief Cartesian-to-spherical transformation for the 1058* <B>HEALPix (<TT>HPX</TT>)</B> 1059* projection. 1060* 1061* @b %hpxx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of 1062* a <B>HEALPix (<TT>HPX</TT>)</B> 1063* projection to native spherical coordinates \f$(\phi,\theta)\f$. 1064* 1065* See prjx2s() for a description of the API. 1066*/ 1067 1068/** @fn int hpxs2x(PRJS2X_ARGS) 1069* 1070* @brief Spherical-to-Cartesian transformation for the 1071* <B>HEALPix (<TT>HPX</TT>)</B> 1072* projection. 1073* 1074* @b %hpxs2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to 1075* Cartesian \f$(x,y)\f$ coordinates in the plane of 1076* a <B>HEALPix (<TT>HPX</TT>)</B> 1077* projection. 1078* 1079* See prjs2x() for a description of the API. 1080*/ 1081 1082/** @var const int ZENITHAL 1083* @brief Identifier for zenithal/azimuthal projections. 1084* 1085* Identifier for zenithal/azimuthal projections, see prjprm::category. 1086*/ 1087 1088/** @var const int CYLINDRICAL 1089* @brief Identifier for cylindrical projections. 1090* 1091* Identifier for cylindrical projections, see prjprm::category. 1092*/ 1093 1094/** @var const int PSEUDOCYLINDRICAL 1095* @brief Identifier for pseudocylindrical projections. 1096* 1097* Identifier for pseudocylindrical projections, see prjprm::category. 1098*/ 1099 1100/** @var const int CONVENTIONAL 1101* @brief Identifier for conventional projections. 1102* 1103* Identifier for conventional projections, see prjprm::category. 1104*/ 1105 1106/** @var const int CONIC 1107* @brief Identifier for conic projections. 1108* 1109* Identifier for conic projections, see prjprm::category. 1110*/ 1111 1112/** @var const int POLYCONIC 1113* @brief Identifier for polyconic projections. 1114* 1115* Identifier for polyconic projections, see prjprm::category. 1116*/ 1117 1118/** @var const int QUADCUBE 1119* @brief Identifier for quadcube projections. 1120* 1121* Identifier for quadcube projections, see prjprm::category. 1122*/ 1123 1124/** @var const int HEALPIX 1125* @brief Identifier for the HEALPix projection. 1126* 1127* Identifier for the HEALPix projection, see prjprm::category. 1128*/ 1129 1130/** @var const char prj_categories[9][32] 1131* @brief Projection categories. 1132* 1133* Names of the projection categories, all in lower-case except for "HEALPix". 1134* 1135* Provided for information only, not used by the projection routines. 1136*/ 1137 1138/** @var const int prj_ncode 1139* @brief The number of recognized three-letter projection codes. 1140* 1141* The number of recognized three-letter projection codes (currently 27), 1142* see #prj_codes. 1143*/ 1144 1145/** @var const char prj_codes[27][4] 1146* @brief Recognized three-letter projection codes. 1147* 1148* List of all recognized three-letter projection codes (currently 27), e.g. 1149* <B><TT>SIN</TT></B>, <B><TT>TAN</TT></B>, etc. 1150*/ 1151 1152/** @def PVN 1153* @brief Total number of projection parameters. 1154* 1155* The total number of projection parameters numbered 0 to <B>PVN</B>-1. 1156*/ 1157 1158/** @def PRJX2S_ARGS 1159* @brief For use in declaring deprojection function prototypes. 1160* 1161* Preprocessor macro used for declaring deprojection function prototypes. 1162*/ 1163 1164/** @def PRJS2X_ARGS 1165* @brief For use in declaring projection function prototypes. 1166* 1167* Preprocessor macro used for declaring projection function prototypes. 1168*/ 1169 1170/** @def PRJLEN 1171* @brief Size of the #prjprm struct in @a int units. 1172* 1173* Size of the #prjprm struct in @a int units, used by the Fortran wrappers. 1174*/ 1175 1176/** @def prjini_errmsg 1177* @brief Deprecated. 1178* @deprecated Added for backwards compatibility, use #prj_errmsg directly now 1179* instead. 1180*/ 1181 1182/** @def prjprt_errmsg 1183* @brief Deprecated. 1184* @deprecated Added for backwards compatibility, use #prj_errmsg directly now 1185* instead. 1186*/ 1187 1188/** @def prjset_errmsg 1189* @brief Deprecated. 1190* @deprecated Added for backwards compatibility, use #prj_errmsg directly now 1191* instead. 1192*/ 1193 1194/** @def prjx2s_errmsg 1195* @brief Deprecated. 1196* @deprecated Added for backwards compatibility, use #prj_errmsg directly now 1197* instead. 1198*/ 1199 1200/** @def prjs2x_errmsg 1201* @brief Deprecated. 1202* @deprecated Added for backwards compatibility, use #prj_errmsg directly now 1203* instead. 1204*/ 1205