1 /**
2 * @cond doxygenLibsbmlInternal
3 *
4 * @file    SpatialUniqueAdvectionCoefficientsCheck.h
5 * @brief   Ensure that spatial compartment mappings' unit sizes sum to one.
6 * @author  Sarah Keating, Lucian Smith
7 *
8 * <!--------------------------------------------------------------------------
9 * This file is part of libSBML.  Please visit http://sbml.org for more
10 * information about SBML, and the latest version of libSBML.
11  *
12  * Copyright (C) 2020 jointly by the following organizations:
13  *     1. California Institute of Technology, Pasadena, CA, USA
14  *     2. University of Heidelberg, Heidelberg, Germany
15  *     3. University College London, London, UK
16 *
17 * Copyright (C) 2019 jointly by the following organizations:
18 *     1. California Institute of Technology, Pasadena, CA, USA
19 *     2. University of Heidelberg, Heidelberg, Germany
20 *
21 * Copyright (C) 2013-2018 jointly by the following organizations:
22 *     1. California Institute of Technology, Pasadena, CA, USA
23 *     2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK
24 *     3. University of Heidelberg, Heidelberg, Germany
25 *
26 * Copyright 2011-2012 jointly by the following organizations:
27 *     1. California Institute of Technology, Pasadena, CA, USA
28 *     2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK
29 *
30 * This library is free software; you can redistribute it and/or modify it
31 * under the terms of the GNU Lesser General Public License as published by
32 * the Free Software Foundation.  A copy of the license agreement is provided
33 * in the file named "LICENSE.txt" included with this software distribution
34 * and also available online as http://sbml.org/software/libsbml/license.html
35 * ---------------------------------------------------------------------- -->*/
36 
37 #ifndef SpatialUniqueAdvectionCoefficientsCheck_h
38 #define SpatialUniqueAdvectionCoefficientsCheck_h
39 
40 
41 #ifdef __cplusplus
42 
43 #include <sbml/validator/VConstraint.h>
44 #include <sbml/packages/spatial/validator/SpatialValidator.h>
45 
46 LIBSBML_CPP_NAMESPACE_BEGIN
47 
48 class DiffusionCoefficient;
49 
50 class SpatialUniqueAdvectionCoefficientsCheck: public TConstraint<Model>
51 {
52 public:
53 
54   /**
55   * Creates a new Constraint with the given constraint id.
56   */
57   SpatialUniqueAdvectionCoefficientsCheck (unsigned int id, SpatialValidator& v);
58 
59   /**
60   * Destroys this Constraint.
61   */
62   virtual ~SpatialUniqueAdvectionCoefficientsCheck ();
63 
64 
65 protected:
66 
67   virtual void check_ (const Model& m, const Model& object);
68 };
69 
70 LIBSBML_CPP_NAMESPACE_END
71 
72 #endif  /* __cplusplus */
73 #endif  /* SpatialUniqueAdvectionCoefficientsCheck_h */
74 /** @endcond */
75