SpiceEll.h
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:3k
源码类别:

OpenGL

开发平台:

Visual C++

  1. /*
  2. -Header_File SpiceEll.h ( CSPICE Ellipse definitions )
  3. -Abstract
  4.    Perform CSPICE definitions for the SpiceEllipse data type.
  5.             
  6. -Disclaimer
  7.    THIS SOFTWARE AND ANY RELATED MATERIALS WERE CREATED BY THE
  8.    CALIFORNIA INSTITUTE OF TECHNOLOGY (CALTECH) UNDER A U.S.
  9.    GOVERNMENT CONTRACT WITH THE NATIONAL AERONAUTICS AND SPACE
  10.    ADMINISTRATION (NASA). THE SOFTWARE IS TECHNOLOGY AND SOFTWARE
  11.    PUBLICLY AVAILABLE UNDER U.S. EXPORT LAWS AND IS PROVIDED "AS-IS"
  12.    TO THE RECIPIENT WITHOUT WARRANTY OF ANY KIND, INCLUDING ANY
  13.    WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A
  14.    PARTICULAR USE OR PURPOSE (AS SET FORTH IN UNITED STATES UCC
  15.    SECTIONS 2312-2313) OR FOR ANY PURPOSE WHATSOEVER, FOR THE
  16.    SOFTWARE AND RELATED MATERIALS, HOWEVER USED.
  17.    IN NO EVENT SHALL CALTECH, ITS JET PROPULSION LABORATORY, OR NASA
  18.    BE LIABLE FOR ANY DAMAGES AND/OR COSTS, INCLUDING, BUT NOT
  19.    LIMITED TO, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  20.    INCLUDING ECONOMIC DAMAGE OR INJURY TO PROPERTY AND LOST PROFITS,
  21.    REGARDLESS OF WHETHER CALTECH, JPL, OR NASA BE ADVISED, HAVE
  22.    REASON TO KNOW, OR, IN FACT, SHALL KNOW OF THE POSSIBILITY.
  23.    RECIPIENT BEARS ALL RISK RELATING TO QUALITY AND PERFORMANCE OF
  24.    THE SOFTWARE AND ANY RELATED MATERIALS, AND AGREES TO INDEMNIFY
  25.    CALTECH AND NASA FOR ALL THIRD-PARTY CLAIMS RESULTING FROM THE
  26.    ACTIONS OF RECIPIENT IN THE USE OF THE SOFTWARE.
  27. -Required_Reading
  28.    None.
  29.    
  30. -Particulars
  31.    This header defines structures and typedefs that may be referenced in 
  32.    application code that calls CSPICE Ellipse functions.
  33.    
  34.       Structures
  35.       ==========
  36.    
  37.          Name                  Description
  38.          ----                  ----------
  39.    
  40.          SpiceEllipse          Structure representing an ellipse in 3-
  41.                                dimensional space.
  42.          
  43.                                The members are:
  44.  
  45.                                   center:     Vector defining ellipse's
  46.                                               center.
  47.                                   semiMajor:  Vector defining ellipse's
  48.                                               semi-major axis.
  49.                                        
  50.                                   semiMinor:  Vector defining ellipse's
  51.                                               semi-minor axis.
  52.                                        
  53.                                The ellipse is the set of points
  54.                                
  55.                                  {X:  X =                  center 
  56.                                             + cos(theta) * semiMajor
  57.                                             + sin(theta) * semiMinor,
  58.                                             
  59.                                   theta in [0, 2*Pi) }
  60.          ConstSpiceEllipse     A const SpiceEllipse.
  61.          
  62.          
  63. -Literature_References
  64.    None.
  65. -Author_and_Institution
  66.    N.J. Bachman       (JPL)
  67.    
  68. -Restrictions
  69.    None.
  70.       
  71. -Version
  72.    -CSPICE Version 1.0.0, 04-MAR-1999 (NJB)  
  73. */
  74. #ifndef HAVE_SPICE_ELLIPSES
  75.    #define HAVE_SPICE_ELLIPSES
  76.    
  77.    
  78.    
  79.    /*
  80.    Ellipse structure:
  81.    */
  82.    
  83.    struct _SpiceEllipse 
  84.    
  85.       { SpiceDouble      center    [3];
  86.         SpiceDouble      semiMajor [3];     
  87.         SpiceDouble      semiMinor [3];  };
  88.           
  89.    typedef struct _SpiceEllipse  SpiceEllipse;
  90.    typedef const SpiceEllipse    ConstSpiceEllipse;
  91.  
  92. #endif