1 /** 2 * @file spatialfwd.h 3 * @brief Definition of spatialfwd. 4 * @author SBMLTeam 5 * 6 * <!-------------------------------------------------------------------------- 7 * This file is part of libSBML. Please visit http://sbml.org for more 8 * information about SBML, and the latest version of libSBML. 9 * 10 * Copyright (C) 2020 jointly by the following organizations: 11 * 1. California Institute of Technology, Pasadena, CA, USA 12 * 2. University of Heidelberg, Heidelberg, Germany 13 * 3. University College London, London, UK 14 * 15 * Copyright (C) 2019 jointly by the following organizations: 16 * 1. California Institute of Technology, Pasadena, CA, USA 17 * 2. University of Heidelberg, Heidelberg, Germany 18 * 19 * Copyright (C) 2013-2018 jointly by the following organizations: 20 * 1. California Institute of Technology, Pasadena, CA, USA 21 * 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK 22 * 3. University of Heidelberg, Heidelberg, Germany 23 * 24 * Copyright (C) 2009-2013 jointly by the following organizations: 25 * 1. California Institute of Technology, Pasadena, CA, USA 26 * 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK 27 * 28 * Copyright (C) 2006-2008 by the California Institute of Technology, 29 * Pasadena, CA, USA 30 * 31 * Copyright (C) 2002-2005 jointly by the following organizations: 32 * 1. California Institute of Technology, Pasadena, CA, USA 33 * 2. Japan Science and Technology Agency, Japan 34 * 35 * This library is free software; you can redistribute it and/or modify it 36 * under the terms of the GNU Lesser General Public License as published by the 37 * Free Software Foundation. A copy of the license agreement is provided in the 38 * file named "LICENSE.txt" included with this software distribution and also 39 * available online as http://sbml.org/software/libsbml/license.html 40 * ------------------------------------------------------------------------ --> 41 */ 42 43 44 #ifndef spatialfwd_H__ 45 #define spatialfwd_H__ 46 47 48 /** 49 * Forward declaration of all opaque C types. 50 * 51 * Declaring all types up-front avoids "redefinition of type Foo" compile 52 * errors and allows our combined C/C++ headers to depend minimally upon each 53 * other. Put another way, the type definitions below serve the same purpose as 54 * "class Foo;" forward declarations in C++ code. 55 */ 56 57 #ifdef __cplusplus 58 # define CLASS_OR_STRUCT class 59 #else 60 # define CLASS_OR_STRUCT struct 61 #endif /* __cplusplus */ 62 63 64 LIBSBML_CPP_NAMESPACE_BEGIN 65 66 67 typedef CLASS_OR_STRUCT DomainType DomainType_t; 68 typedef CLASS_OR_STRUCT Domain Domain_t; 69 typedef CLASS_OR_STRUCT InteriorPoint InteriorPoint_t; 70 typedef CLASS_OR_STRUCT Boundary Boundary_t; 71 typedef CLASS_OR_STRUCT AdjacentDomains AdjacentDomains_t; 72 typedef CLASS_OR_STRUCT GeometryDefinition GeometryDefinition_t; 73 typedef CLASS_OR_STRUCT CompartmentMapping CompartmentMapping_t; 74 typedef CLASS_OR_STRUCT CoordinateComponent CoordinateComponent_t; 75 typedef CLASS_OR_STRUCT SampledFieldGeometry SampledFieldGeometry_t; 76 typedef CLASS_OR_STRUCT SampledField SampledField_t; 77 typedef CLASS_OR_STRUCT SampledVolume SampledVolume_t; 78 typedef CLASS_OR_STRUCT AnalyticGeometry AnalyticGeometry_t; 79 typedef CLASS_OR_STRUCT AnalyticVolume AnalyticVolume_t; 80 typedef CLASS_OR_STRUCT ParametricGeometry ParametricGeometry_t; 81 typedef CLASS_OR_STRUCT ParametricObject ParametricObject_t; 82 typedef CLASS_OR_STRUCT CSGeometry CSGeometry_t; 83 typedef CLASS_OR_STRUCT CSGObject CSGObject_t; 84 typedef CLASS_OR_STRUCT CSGNode CSGNode_t; 85 typedef CLASS_OR_STRUCT CSGTransformation CSGTransformation_t; 86 typedef CLASS_OR_STRUCT CSGTranslation CSGTranslation_t; 87 typedef CLASS_OR_STRUCT CSGRotation CSGRotation_t; 88 typedef CLASS_OR_STRUCT CSGScale CSGScale_t; 89 typedef CLASS_OR_STRUCT CSGHomogeneousTransformation CSGHomogeneousTransformation_t; 90 typedef CLASS_OR_STRUCT TransformationComponent TransformationComponent_t; 91 typedef CLASS_OR_STRUCT CSGPrimitive CSGPrimitive_t; 92 typedef CLASS_OR_STRUCT CSGSetOperator CSGSetOperator_t; 93 typedef CLASS_OR_STRUCT SpatialSymbolReference SpatialSymbolReference_t; 94 typedef CLASS_OR_STRUCT DiffusionCoefficient DiffusionCoefficient_t; 95 typedef CLASS_OR_STRUCT AdvectionCoefficient AdvectionCoefficient_t; 96 typedef CLASS_OR_STRUCT BoundaryCondition BoundaryCondition_t; 97 typedef CLASS_OR_STRUCT Geometry Geometry_t; 98 typedef CLASS_OR_STRUCT MixedGeometry MixedGeometry_t; 99 typedef CLASS_OR_STRUCT OrdinalMapping OrdinalMapping_t; 100 typedef CLASS_OR_STRUCT SpatialPoints SpatialPoints_t; 101 typedef CLASS_OR_STRUCT SpatialModelPlugin SpatialModelPlugin_t; 102 typedef CLASS_OR_STRUCT SpatialCompartmentPlugin SpatialCompartmentPlugin_t; 103 typedef CLASS_OR_STRUCT SpatialSpeciesPlugin SpatialSpeciesPlugin_t; 104 typedef CLASS_OR_STRUCT SpatialParameterPlugin SpatialParameterPlugin_t; 105 typedef CLASS_OR_STRUCT SpatialReactionPlugin SpatialReactionPlugin_t; 106 107 108 LIBSBML_CPP_NAMESPACE_END 109 110 111 #undef CLASS_OR_STRUCT 112 113 114 #endif /* !spatialfwd_H__ */ 115 116 117