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