1 /*
2  * Copyright (c) 2012-2016, The University of Oxford
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  * 1. Redistributions of source code must retain the above copyright notice,
8  *    this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright notice,
10  *    this list of conditions and the following disclaimer in the documentation
11  *    and/or other materials provided with the distribution.
12  * 3. Neither the name of the University of Oxford nor the names of its
13  *    contributors may be used to endorse or promote products derived from this
14  *    software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26  * POSSIBILITY OF SUCH DAMAGE.
27  */
28 
29 #ifndef OSKAR_SKY_H_
30 #define OSKAR_SKY_H_
31 
32 /**
33  * @file oskar_sky.h
34  */
35 
36 /* Public interface. */
37 
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41 
42 struct oskar_Sky;
43 #ifndef OSKAR_SKY_TYPEDEF_
44 #define OSKAR_SKY_TYPEDEF_
45 typedef struct oskar_Sky oskar_Sky;
46 #endif /* OSKAR_SKY_TYPEDEF_ */
47 
48 /* To maintain binary compatibility, do not change the values
49  * in the lists below. */
50 enum OSKAR_SKY_TAGS
51 {
52     OSKAR_SKY_TAG_NUM_SOURCES = 1,
53     OSKAR_SKY_TAG_DATA_TYPE = 2,
54     OSKAR_SKY_TAG_RA = 3,
55     OSKAR_SKY_TAG_DEC = 4,
56     OSKAR_SKY_TAG_STOKES_I = 5,
57     OSKAR_SKY_TAG_STOKES_Q = 6,
58     OSKAR_SKY_TAG_STOKES_U = 7,
59     OSKAR_SKY_TAG_STOKES_V = 8,
60     OSKAR_SKY_TAG_REF_FREQ = 9,
61     OSKAR_SKY_TAG_SPECTRAL_INDEX = 10,
62     OSKAR_SKY_TAG_FWHM_MAJOR = 11,
63     OSKAR_SKY_TAG_FWHM_MINOR = 12,
64     OSKAR_SKY_TAG_POSITION_ANGLE = 13,
65     OSKAR_SKY_TAG_ROTATION_MEASURE = 14
66 };
67 
68 #ifdef __cplusplus
69 }
70 #endif
71 
72 #include <sky/oskar_sky_accessors.h>
73 #include <sky/oskar_sky_append_to_set.h>
74 #include <sky/oskar_sky_append.h>
75 #include <sky/oskar_sky_copy.h>
76 #include <sky/oskar_sky_copy_contents.h>
77 #include <sky/oskar_sky_create.h>
78 #include <sky/oskar_sky_create_copy.h>
79 #include <sky/oskar_sky_evaluate_gaussian_source_parameters.h>
80 #include <sky/oskar_sky_evaluate_relative_directions.h>
81 #include <sky/oskar_sky_filter_by_flux.h>
82 #include <sky/oskar_sky_filter_by_radius.h>
83 #include <sky/oskar_sky_free.h>
84 #include <sky/oskar_sky_from_fits_file.h>
85 #include <sky/oskar_sky_from_healpix_ring.h>
86 #include <sky/oskar_sky_from_image.h>
87 #include <sky/oskar_sky_generate_grid.h>
88 #include <sky/oskar_sky_generate_random_power_law.h>
89 #include <sky/oskar_sky_horizon_clip.h>
90 #include <sky/oskar_sky_load.h>
91 #include <sky/oskar_sky_override_polarisation.h>
92 #include <sky/oskar_sky_read.h>
93 #include <sky/oskar_sky_resize.h>
94 #include <sky/oskar_sky_rotate_to_position.h>
95 #include <sky/oskar_sky_save.h>
96 #include <sky/oskar_sky_scale_flux_with_frequency.h>
97 #include <sky/oskar_sky_set_gaussian_parameters.h>
98 #include <sky/oskar_sky_set_source.h>
99 #include <sky/oskar_sky_set_spectral_index.h>
100 #include <sky/oskar_sky_write.h>
101 
102 
103 #endif /* OSKAR_SKY_H_ */
104