You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(121) |
Aug
(343) |
Sep
(98) |
Oct
(55) |
Nov
(158) |
Dec
(219) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(278) |
Feb
(170) |
Mar
(286) |
Apr
(32) |
May
(83) |
Jun
(140) |
Jul
(212) |
Aug
(242) |
Sep
(52) |
Oct
(29) |
Nov
(132) |
Dec
(259) |
2010 |
Jan
(251) |
Feb
(147) |
Mar
(76) |
Apr
(140) |
May
(43) |
Jun
(66) |
Jul
(273) |
Aug
(205) |
Sep
(260) |
Oct
(100) |
Nov
(58) |
Dec
(264) |
2011 |
Jan
(219) |
Feb
(344) |
Mar
(320) |
Apr
(334) |
May
(125) |
Jun
(131) |
Jul
(195) |
Aug
(155) |
Sep
(55) |
Oct
(261) |
Nov
(286) |
Dec
(216) |
2012 |
Jan
(188) |
Feb
(177) |
Mar
(39) |
Apr
(179) |
May
(148) |
Jun
(43) |
Jul
(229) |
Aug
(104) |
Sep
(76) |
Oct
(82) |
Nov
(93) |
Dec
(180) |
2013 |
Jan
(323) |
Feb
(335) |
Mar
(35) |
Apr
(220) |
May
(238) |
Jun
(122) |
Jul
(316) |
Aug
(73) |
Sep
(135) |
Oct
(515) |
Nov
(320) |
Dec
(185) |
2014 |
Jan
(81) |
Feb
(146) |
Mar
(337) |
Apr
(234) |
May
(112) |
Jun
(239) |
Jul
(323) |
Aug
(123) |
Sep
(83) |
Oct
(285) |
Nov
(321) |
Dec
(96) |
2015 |
Jan
(77) |
Feb
(79) |
Mar
(124) |
Apr
(71) |
May
(35) |
Jun
(45) |
Jul
(77) |
Aug
(44) |
Sep
(22) |
Oct
(84) |
Nov
(120) |
Dec
(37) |
2016 |
Jan
(38) |
Feb
(74) |
Mar
(242) |
Apr
(153) |
May
(59) |
Jun
(44) |
Jul
(67) |
Aug
(74) |
Sep
(150) |
Oct
(35) |
Nov
(69) |
Dec
(43) |
2017 |
Jan
(43) |
Feb
(9) |
Mar
(274) |
Apr
(40) |
May
(81) |
Jun
(81) |
Jul
(87) |
Aug
(46) |
Sep
(98) |
Oct
(50) |
Nov
(220) |
Dec
(66) |
2018 |
Jan
(110) |
Feb
(22) |
Mar
(20) |
Apr
(147) |
May
(148) |
Jun
(30) |
Jul
(83) |
Aug
(63) |
Sep
(40) |
Oct
(53) |
Nov
(51) |
Dec
(104) |
2019 |
Jan
(14) |
Feb
(81) |
Mar
(80) |
Apr
(102) |
May
(16) |
Jun
(5) |
Jul
(34) |
Aug
(24) |
Sep
(9) |
Oct
(12) |
Nov
(42) |
Dec
(76) |
2020 |
Jan
(15) |
Feb
(11) |
Mar
(12) |
Apr
(7) |
May
(6) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <luc...@us...> - 2019-12-20 20:51:03
|
Revision: 26247 http://sourceforge.net/p/sbml/code/26247 Author: luciansmith Date: 2019-12-20 20:50:59 +0000 (Fri, 20 Dec 2019) Log Message: ----------- Add support and tests for spatial rule 21250. Also fix basically every old test that had failed it. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-08.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-09.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-10.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221204-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221204-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221501-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221504-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221505-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221505-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221507-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221704-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221704-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221706-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221706-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221706-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221707-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221707-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221707-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221708-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221708-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221708-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221750-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221750-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221750-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221750-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221750-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221750-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221750-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221750-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221751-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221751-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221751-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221752-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221752-fail-02-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221752-fail-02-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221752-fail-02-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221752-fail-02-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221752-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221752-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221753-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221753-fail-02-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221753-fail-02-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221753-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221753-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221753-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221753-pass-00-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221754-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221754-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221754-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221754-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221754-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221754-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221754-fail-01-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221754-fail-01-08.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221754-fail-01-09.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221754-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221754-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221754-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221950-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221950-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222050-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222050-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222050-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223350-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223350-fail-02-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223350-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223450-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223450-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223450-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223450-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223451-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223451-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223451-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223451-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223452-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223452-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223452-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223452-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223454-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223454-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223504-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223504-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223551-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223551-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223551-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223551-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223604-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223604-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-08.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-09.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-10.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-11.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-12.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-13.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-14.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-15.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-16.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-17.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-18.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-02-19.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-02-20.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-02-21.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223904-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223904-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223904-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223950-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223950-pass-00-01.xml Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221250-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221250-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221250-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221250-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221250-pass-00-04.xml Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-20 20:50:59 UTC (rev 26247) @@ -126,6 +126,7 @@ , SpatialGeometryDefinitionAllowedAttributes = 1221203 , SpatialGeometryDefinitionIsActiveMustBeBoolean = 1221204 , SpatialGeometryDefinitionNameMustBeString = 1221205 +, SpatialOneGeometryDefinitionMustBeActive = 1221250 , SpatialCompartmentMappingAllowedCoreAttributes = 1221301 , SpatialCompartmentMappingAllowedCoreElements = 1221302 , SpatialCompartmentMappingAllowedAttributes = 1221303 Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-20 20:50:59 UTC (rev 26247) @@ -791,6 +791,16 @@ } }, + // 1221250 + { SpatialOneGeometryDefinitionMustBeActive, + "At least one <geometryDefinition> must be active.", + LIBSBML_CAT_GENERAL_CONSISTENCY, + LIBSBML_SEV_ERROR, + "At least one <geometryDefinition> child of a <geometry> must have a 'spatial:isActive' attribute value of 'true'.", + { "L3V1 Spatial V1 Section" + } + }, + // 1221301 { SpatialCompartmentMappingAllowedCoreAttributes, "Core attributes allowed on <compartmentMapping>.", Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-20 20:50:59 UTC (rev 26247) @@ -2530,6 +2530,21 @@ END_CONSTRAINT +// 1221250 +START_CONSTRAINT(SpatialOneGeometryDefinitionMustBeActive, Geometry, g) +{ + pre(g.getNumGeometryDefinitions() > 0); + for (unsigned long gdn = 0; gdn < g.getNumGeometryDefinitions(); gdn++) + { + const GeometryDefinition* gd = g.getGeometryDefinition(gdn); + pre(gd->getIsActive() == false); + } + msg = "No <geometryDefinition> was found with an 'isActive' value of 'true'."; + inv(false); +} +END_CONSTRAINT + + // 122__ //START_CONSTRAINT(Spatial, Class, class) //{ Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-20 20:50:59 UTC (rev 26247) @@ -129,6 +129,7 @@ addConstraint(new VConstraintParametricObjectSpatialParametricObjectDomainTypeMustBeDomainType(*this)); addConstraint(new VConstraintCSGObjectSpatialCSGObjectDomainTypeMustBeDomainType(*this)); addConstraint(new VConstraintBoundaryConditionSpatialBoundaryConditionBoundaryDomainTypeMustBeDomainType(*this)); +addConstraint(new VConstraintGeometrySpatialOneGeometryDefinitionMustBeActive(*this)); //Constraints defined in their own class ('global constraints') addConstraint(new SpatialCompartmentMappingUnitSizesCheck(SpatialCompartmentMappingUnitSizesSum, *this)); Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-fail-01-01.xml 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-fail-01-01.xml 2019-12-20 20:50:59 UTC (rev 26247) @@ -30,7 +30,7 @@ <spatial:listOfGeometryDefinitions> - <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> <spatial:listOfAnalyticVolumes> <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> <math xmlns="http://www.w3.org/1998/Math/MathML"/> @@ -37,12 +37,12 @@ </spatial:analyticVolume> </spatial:listOfAnalyticVolumes> </spatial:analyticGeometry> - <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:maxValue="0" spatial:minValue="0"/> </spatial:listOfSampledVolumes> </spatial:sampledFieldGeometry> - <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="false"> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> <spatial:spatialPoints spatial:arrayDataLength="0" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1"/> <spatial:listOfParametricObjects> <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-pass-00-01.xml 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-pass-00-01.xml 2019-12-20 20:50:59 UTC (rev 26247) @@ -30,7 +30,7 @@ <spatial:listOfGeometryDefinitions> - <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> <spatial:listOfAnalyticVolumes> <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> <math xmlns="http://www.w3.org/1998/Math/MathML"/> @@ -37,12 +37,12 @@ </spatial:analyticVolume> </spatial:listOfAnalyticVolumes> </spatial:analyticGeometry> - <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:maxValue="0" spatial:minValue="0"/> </spatial:listOfSampledVolumes> </spatial:sampledFieldGeometry> - <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="false"> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> <spatial:spatialPoints spatial:arrayDataLength="0" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1"/> <spatial:listOfParametricObjects> <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-01.xml 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-01.xml 2019-12-20 20:50:59 UTC (rev 26247) @@ -30,7 +30,7 @@ <spatial:listOfGeometryDefinitions> - <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> <spatial:listOfAnalyticVolumes> <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> <math xmlns="http://www.w3.org/1998/Math/MathML"/> @@ -37,12 +37,12 @@ </spatial:analyticVolume> </spatial:listOfAnalyticVolumes> </spatial:analyticGeometry> - <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:maxValue="0" spatial:minValue="0"/> </spatial:listOfSampledVolumes> </spatial:sampledFieldGeometry> - <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="false"> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> <spatial:spatialPoints spatial:arrayDataLength="0" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1"/> <spatial:listOfParametricObjects> <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-02.xml 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-02.xml 2019-12-20 20:50:59 UTC (rev 26247) @@ -30,7 +30,7 @@ <spatial:listOfGeometryDefinitions> - <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> <spatial:listOfAnalyticVolumes> <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> <math xmlns="http://www.w3.org/1998/Math/MathML"/> @@ -37,12 +37,12 @@ </spatial:analyticVolume> </spatial:listOfAnalyticVolumes> </spatial:analyticGeometry> - <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:maxValue="0" spatial:minValue="0"/> </spatial:listOfSampledVolumes> </spatial:sampledFieldGeometry> - <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="false"> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> <spatial:spatialPoints spatial:arrayDataLength="0" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1"/> <spatial:listOfParametricObjects> <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-03.xml 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-03.xml 2019-12-20 20:50:59 UTC (rev 26247) @@ -30,7 +30,7 @@ <spatial:listOfGeometryDefinitions> - <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> <spatial:listOfAnalyticVolumes> <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> <math xmlns="http://www.w3.org/1998/Math/MathML"/> @@ -37,12 +37,12 @@ </spatial:analyticVolume> </spatial:listOfAnalyticVolumes> </spatial:analyticGeometry> - <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:maxValue="0" spatial:minValue="0"/> </spatial:listOfSampledVolumes> </spatial:sampledFieldGeometry> - <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="false"> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> <spatial:spatialPoints spatial:arrayDataLength="0" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1"/> <spatial:listOfParametricObjects> <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-04.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-04.xml 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-04.xml 2019-12-20 20:50:59 UTC (rev 26247) @@ -30,7 +30,7 @@ <spatial:listOfGeometryDefinitions> - <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> <spatial:listOfAnalyticVolumes> <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> <math xmlns="http://www.w3.org/1998/Math/MathML"/> @@ -37,12 +37,12 @@ </spatial:analyticVolume> </spatial:listOfAnalyticVolumes> </spatial:analyticGeometry> - <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:maxValue="0" spatial:minValue="0"/> </spatial:listOfSampledVolumes> </spatial:sampledFieldGeometry> - <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="false"> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> <spatial:spatialPoints spatial:arrayDataLength="0" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1"/> <spatial:listOfParametricObjects> <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-05.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-05.xml 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-05.xml 2019-12-20 20:50:59 UTC (rev 26247) @@ -30,7 +30,7 @@ <spatial:listOfGeometryDefinitions> - <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> <spatial:listOfAnalyticVolumes> <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> <math xmlns="http://www.w3.org/1998/Math/MathML"/> @@ -37,12 +37,12 @@ </spatial:analyticVolume> </spatial:listOfAnalyticVolumes> </spatial:analyticGeometry> - <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:maxValue="0" spatial:minValue="0"/> </spatial:listOfSampledVolumes> </spatial:sampledFieldGeometry> - <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="false"> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> <spatial:spatialPoints spatial:arrayDataLength="0" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1"/> <spatial:listOfParametricObjects> <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-06.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-06.xml 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-06.xml 2019-12-20 20:50:59 UTC (rev 26247) @@ -30,7 +30,7 @@ <spatial:listOfGeometryDefinitions> - <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> <spatial:listOfAnalyticVolumes> <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> <math xmlns="http://www.w3.org/1998/Math/MathML"/> @@ -37,12 +37,12 @@ </spatial:analyticVolume> </spatial:listOfAnalyticVolumes> </spatial:analyticGeometry> - <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:maxValue="0" spatial:minValue="0"/> </spatial:listOfSampledVolumes> </spatial:sampledFieldGeometry> - <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="false"> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> <spatial:spatialPoints spatial:arrayDataLength="0" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1"/> <spatial:listOfParametricObjects> <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-07.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-07.xml 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-07.xml 2019-12-20 20:50:59 UTC (rev 26247) @@ -30,7 +30,7 @@ <spatial:listOfGeometryDefinitions> - <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> <spatial:listOfAnalyticVolumes> <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> <math xmlns="http://www.w3.org/1998/Math/MathML"/> @@ -37,12 +37,12 @@ </spatial:analyticVolume> </spatial:listOfAnalyticVolumes> </spatial:analyticGeometry> - <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:maxValue="0" spatial:minValue="0"/> </spatial:listOfSampledVolumes> </spatial:sampledFieldGeometry> - <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="false"> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> <spatial:spatialPoints spatial:arrayDataLength="0" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1"/> <spatial:listOfParametricObjects> <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-08.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-08.xml 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-08.xml 2019-12-20 20:50:59 UTC (rev 26247) @@ -30,7 +30,7 @@ <spatial:listOfGeometryDefinitions> - <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> <spatial:listOfAnalyticVolumes> <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> <math xmlns="http://www.w3.org/1998/Math/MathML"/> @@ -37,12 +37,12 @@ </spatial:analyticVolume> </spatial:listOfAnalyticVolumes> </spatial:analyticGeometry> - <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:maxValue="0" spatial:minValue="0"/> </spatial:listOfSampledVolumes> </spatial:sampledFieldGeometry> - <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="false"> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> <spatial:spatialPoints spatial:arrayDataLength="0" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1"/> <spatial:listOfParametricObjects> <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-09.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-09.xml 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-09.xml 2019-12-20 20:50:59 UTC (rev 26247) @@ -30,7 +30,7 @@ <spatial:listOfGeometryDefinitions> - <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> <spatial:listOfAnalyticVolumes> <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> <math xmlns="http://www.w3.org/1998/Math/MathML"/> @@ -37,12 +37,12 @@ </spatial:analyticVolume> </spatial:listOfAnalyticVolumes> </spatial:analyticGeometry> - <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:maxValue="0" spatial:minValue="0"/> </spatial:listOfSampledVolumes> </spatial:sampledFieldGeometry> - <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="false"> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> <spatial:spatialPoints spatial:arrayDataLength="0" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1"/> <spatial:listOfParametricObjects> <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-10.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-10.xml 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-10.xml 2019-12-20 20:50:59 UTC (rev 26247) @@ -30,7 +30,7 @@ <spatial:listOfGeometryDefinitions> - <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> <spatial:listOfAnalyticVolumes> <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> <math xmlns="http://www.w3.org/1998/Math/MathML"/> @@ -37,12 +37,12 @@ </spatial:analyticVolume> </spatial:listOfAnalyticVolumes> </spatial:analyticGeometry> - <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:maxValue="0" spatial:minValue="0"/> </spatial:listOfSampledVolumes> </spatial:sampledFieldGeometry> - <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="false"> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> <spatial:spatialPoints spatial:arrayDataLength="0" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1"/> <spatial:listOfParametricObjects> <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-01.xml 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-01.xml 2019-12-20 20:50:59 UTC (rev 26247) @@ -30,7 +30,7 @@ <spatial:listOfGeometryDefinitions> - <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> <spatial:listOfAnalyticVolumes> <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> <math xmlns="http://www.w3.org/1998/Math/MathML"/> @@ -37,12 +37,12 @@ </spatial:analyticVolume> </spatial:listOfAnalyticVolumes> </spatial:analyticGeometry> - <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:maxValue="0" spatial:minValue="0"/> </spatial:listOfSampledVolumes> </spatial:sampledFieldGeometry> - <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="false"> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> <spatial:spatialPoints spatial:arrayDataLength="0" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1"/> <spatial:listOfParametricObjects> <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-02.xml 2019-12-20 20:28:53 UTC (rev 26246) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-02.xml 2019-12-20 20:50:59 UTC (rev 26247) @@ -30,7 +30,7 @@ <spatial:listOfGeometryDefinitions> - <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> <spatial:listOfAnalyticVolumes> <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> <math xmlns="http://www.w3.org/1998/Math/MathML"/> @@ -37,12 +37,12 @@ </spatial:analyticVolume> </spatial:listOfAnalyticVolumes> </spatial:analyticGeometry> - <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:maxValue="0" spatial:minValue="0"/> </spatial:listOfSampledVolumes> </spatial:sampledFieldGeometry> - <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="false"> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> <spatial:spatialPoints spatial:arrayDataLength="0" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1"/> <spatial:listOfParametricObjects> <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-03... [truncated message content] |
From: <luc...@us...> - 2019-12-20 20:28:54
|
Revision: 26246 http://sourceforge.net/p/sbml/code/26246 Author: luciansmith Date: 2019-12-20 20:28:53 +0000 (Fri, 20 Dec 2019) Log Message: ----------- Add support and tests for spatial rule 23607. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223607-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223607-pass-00-01.xml Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-20 20:18:48 UTC (rev 26245) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-20 20:28:53 UTC (rev 26246) @@ -2509,6 +2509,27 @@ END_CONSTRAINT +// 1223607 +START_CONSTRAINT(SpatialBoundaryConditionBoundaryDomainTypeMustBeDomainType, BoundaryCondition, bc) +{ + pre(bc.isSetBoundaryDomainType()); + string domaintype = bc.getBoundaryDomainType(); + SpatialModelPlugin *mplug = (SpatialModelPlugin*)(m.getPlugin("spatial")); + pre(mplug != NULL); + Geometry* geom = mplug->getGeometry(); + pre(geom != NULL); + pre(geom->getDomainType(domaintype)==NULL); + msg = "A <boundaryCondition>"; + if (bc.isSetId()) { + msg += " with the id '" + bc.getId() + "'"; + } + msg += " has a value of '" + domaintype + "' for its 'boundaryDomainType', but the <geometry> does not contain a <domainType> with that ID."; + + inv(false); +} +END_CONSTRAINT + + // 122__ //START_CONSTRAINT(Spatial, Class, class) //{ Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-20 20:18:48 UTC (rev 26245) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-20 20:28:53 UTC (rev 26246) @@ -128,6 +128,7 @@ addConstraint(new VConstraintAnalyticVolumeSpatialAnalyticVolumeDomainTypeMustBeDomainType(*this)); addConstraint(new VConstraintParametricObjectSpatialParametricObjectDomainTypeMustBeDomainType(*this)); addConstraint(new VConstraintCSGObjectSpatialCSGObjectDomainTypeMustBeDomainType(*this)); +addConstraint(new VConstraintBoundaryConditionSpatialBoundaryConditionBoundaryDomainTypeMustBeDomainType(*this)); //Constraints defined in their own class ('global constraints') addConstraint(new SpatialCompartmentMappingUnitSizesCheck(SpatialCompartmentMappingUnitSizesSum, *this)); Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223607-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223607-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223607-fail-01-01.xml 2019-12-20 20:28:53 UTC (rev 26246) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + </spatial:geometry> + <listOfSpecies> + <species boundaryCondition="false" compartment="compartment" constant="false" hasOnlySubstanceUnits="false" id="species_1" spatial:isSpatial="false"/> + </listOfSpecies> + <listOfParameters> + <parameter constant="false" id="id_3"> + <spatial:boundaryCondition spatial:boundaryDomainType="domainNotType_1" spatial:coordinateBoundary="boundary_2" spatial:type="Neumann" spatial:variable="species_1"/> + </parameter> + </listOfParameters> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223607-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223607-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223607-pass-00-01.xml 2019-12-20 20:28:53 UTC (rev 26246) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + </spatial:geometry> + <listOfSpecies> + <species boundaryCondition="false" compartment="compartment" constant="false" hasOnlySubstanceUnits="false" id="species_1" spatial:isSpatial="false"/> + </listOfSpecies> + <listOfParameters> + <parameter constant="false" id="id_3"> + <spatial:boundaryCondition spatial:boundaryDomainType="domainType_1" spatial:coordinateBoundary="boundary_2" spatial:type="Neumann" spatial:variable="species_1"/> + </parameter> + </listOfParameters> + </model> +</sbml> + |
From: <luc...@us...> - 2019-12-20 20:18:50
|
Revision: 26245 http://sourceforge.net/p/sbml/code/26245 Author: luciansmith Date: 2019-12-20 20:18:48 +0000 (Fri, 20 Dec 2019) Log Message: ----------- Add support and tests for spatial rule 22305. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222305-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222305-pass-00-01.xml Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-20 20:14:15 UTC (rev 26244) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-20 20:18:48 UTC (rev 26245) @@ -2488,6 +2488,27 @@ END_CONSTRAINT +// 1222305 +START_CONSTRAINT(SpatialCSGObjectDomainTypeMustBeDomainType, CSGObject, csgo) +{ + pre(csgo.isSetDomainType()); + string domaintype = csgo.getDomainType(); + SpatialModelPlugin *mplug = (SpatialModelPlugin*)(m.getPlugin("spatial")); + pre(mplug != NULL); + Geometry* geom = mplug->getGeometry(); + pre(geom != NULL); + pre(geom->getDomainType(domaintype)==NULL); + msg = "A <csgObject>"; + if (csgo.isSetId()) { + msg += " with the id '" + csgo.getId() + "'"; + } + msg += " has a value of '" + domaintype + "' for its 'domainType', but the <geometry> does not contain a <domainType> with that ID."; + + inv(false); +} +END_CONSTRAINT + + // 122__ //START_CONSTRAINT(Spatial, Class, class) //{ Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-20 20:14:15 UTC (rev 26244) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-20 20:18:48 UTC (rev 26245) @@ -127,6 +127,7 @@ addConstraint(new VConstraintSampledVolumeSpatialSampledVolumeDomainTypeMustBeDomainType(*this)); addConstraint(new VConstraintAnalyticVolumeSpatialAnalyticVolumeDomainTypeMustBeDomainType(*this)); addConstraint(new VConstraintParametricObjectSpatialParametricObjectDomainTypeMustBeDomainType(*this)); +addConstraint(new VConstraintCSGObjectSpatialCSGObjectDomainTypeMustBeDomainType(*this)); //Constraints defined in their own class ('global constraints') addConstraint(new SpatialCompartmentMappingUnitSizesCheck(SpatialCompartmentMappingUnitSizesSum, *this)); Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222305-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222305-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222305-fail-01-01.xml 2019-12-20 20:18:48 UTC (rev 26245) @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:csGeometry spatial:id="csGeometryDefinition_1" spatial:isActive="true"> + <spatial:listOfCSGObjects> + <spatial:csgObject spatial:domainType="not_domainType_1" spatial:id="csgObject_1" spatial:ordinal="1"> + <spatial:csgPrimitive spatial:id="cube1" spatial:primitiveType="cube"/> + </spatial:csgObject> + </spatial:listOfCSGObjects> + </spatial:csGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222305-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222305-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222305-pass-00-01.xml 2019-12-20 20:18:48 UTC (rev 26245) @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:csGeometry spatial:id="csGeometryDefinition_1" spatial:isActive="true"> + <spatial:listOfCSGObjects> + <spatial:csgObject spatial:domainType="domainType_1" spatial:id="csgObject_1" spatial:ordinal="1"> + <spatial:csgPrimitive spatial:id="cube1" spatial:primitiveType="cube"/> + </spatial:csgObject> + </spatial:listOfCSGObjects> + </spatial:csGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + |
From: <luc...@us...> - 2019-12-20 20:14:16
|
Revision: 26244 http://sourceforge.net/p/sbml/code/26244 Author: luciansmith Date: 2019-12-20 20:14:15 +0000 (Fri, 20 Dec 2019) Log Message: ----------- Add support and tests for spatial rule 22105. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222105-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222105-pass-00-01.xml Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-20 20:08:44 UTC (rev 26243) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-20 20:14:15 UTC (rev 26244) @@ -2467,6 +2467,27 @@ END_CONSTRAINT +// 1222105 +START_CONSTRAINT(SpatialParametricObjectDomainTypeMustBeDomainType, ParametricObject, po) +{ + pre(po.isSetDomainType()); + string domaintype = po.getDomainType(); + SpatialModelPlugin *mplug = (SpatialModelPlugin*)(m.getPlugin("spatial")); + pre(mplug != NULL); + Geometry* geom = mplug->getGeometry(); + pre(geom != NULL); + pre(geom->getDomainType(domaintype)==NULL); + msg = "A <parametricObject>"; + if (po.isSetId()) { + msg += " with the id '" + po.getId() + "'"; + } + msg += " has a value of '" + domaintype + "' for its 'domainType', but the <geometry> does not contain a <domainType> with that ID."; + + inv(false); +} +END_CONSTRAINT + + // 122__ //START_CONSTRAINT(Spatial, Class, class) //{ Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-20 20:08:44 UTC (rev 26243) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-20 20:14:15 UTC (rev 26244) @@ -126,6 +126,7 @@ addConstraint(new VConstraintSampledFieldSpatialSampledFieldIntArrayDataIntegers(*this)); addConstraint(new VConstraintSampledVolumeSpatialSampledVolumeDomainTypeMustBeDomainType(*this)); addConstraint(new VConstraintAnalyticVolumeSpatialAnalyticVolumeDomainTypeMustBeDomainType(*this)); +addConstraint(new VConstraintParametricObjectSpatialParametricObjectDomainTypeMustBeDomainType(*this)); //Constraints defined in their own class ('global constraints') addConstraint(new SpatialCompartmentMappingUnitSizesCheck(SpatialCompartmentMappingUnitSizesSum, *this)); Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222105-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222105-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222105-fail-01-01.xml 2019-12-20 20:14:15 UTC (rev 26244) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="9" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 1 1</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_99_3" spatial:id="parametricObject_1" spatial:pointIndexLength="3" spatial:polygonType="triangle">0 1 2</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222105-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222105-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222105-pass-00-01.xml 2019-12-20 20:14:15 UTC (rev 26244) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="9" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 1 1</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="3" spatial:polygonType="triangle">0 1 2</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + |
From: <luc...@us...> - 2019-12-20 20:08:46
|
Revision: 26243 http://sourceforge.net/p/sbml/code/26243 Author: luciansmith Date: 2019-12-20 20:08:44 +0000 (Fri, 20 Dec 2019) Log Message: ----------- Add support and tests for spatial rule 21906. Also fix capitalization of XML elements in error messages. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/sbml/AdvectionCoefficient.cpp branches/libsbml-experimental/src/sbml/packages/spatial/sbml/AnalyticVolume.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221906-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221906-pass-00-01.xml Modified: branches/libsbml-experimental/src/sbml/packages/spatial/sbml/AdvectionCoefficient.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/sbml/AdvectionCoefficient.cpp 2019-12-20 20:04:05 UTC (rev 26242) +++ branches/libsbml-experimental/src/sbml/packages/spatial/sbml/AdvectionCoefficient.cpp 2019-12-20 20:08:44 UTC (rev 26243) @@ -732,7 +732,7 @@ { if (mVariable.empty() == true) { - logEmptyString(mVariable, level, version, "<AdvectionCoefficient>"); + logEmptyString(mVariable, level, version, "<advectionCoefficient>"); } else if (SyntaxChecker::isValidSBMLSId(mVariable) == false) { @@ -752,7 +752,7 @@ else { std::string message = "Spatial attribute 'variable' is missing from the " - "<AdvectionCoefficient> element."; + "<advectionCoefficient> element."; log->logPackageError("spatial", SpatialAdvectionCoefficientAllowedAttributes, pkgVersion, level, version, message, getLine(), getColumn()); @@ -769,7 +769,7 @@ { if (coordinate.empty() == true) { - logEmptyString(coordinate, level, version, "<AdvectionCoefficient>"); + logEmptyString(coordinate, level, version, "<advectionCoefficient>"); } else { Modified: branches/libsbml-experimental/src/sbml/packages/spatial/sbml/AnalyticVolume.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/sbml/AnalyticVolume.cpp 2019-12-20 20:04:05 UTC (rev 26242) +++ branches/libsbml-experimental/src/sbml/packages/spatial/sbml/AnalyticVolume.cpp 2019-12-20 20:08:44 UTC (rev 26243) @@ -1110,7 +1110,7 @@ { if (mId.empty() == true) { - logEmptyString(mId, level, version, "<AnalyticVolume>"); + logEmptyString(mId, level, version, "<analyticVolume>"); } else if (SyntaxChecker::isValidSBMLSId(mId) == false) { @@ -1122,7 +1122,7 @@ else { std::string message = "Spatial attribute 'id' is missing from the " - "<AnalyticVolume> element."; + "<analyticVolume> element."; log->logPackageError("spatial", SpatialAnalyticVolumeAllowedAttributes, pkgVersion, level, version, message, getLine(), getColumn()); } @@ -1137,7 +1137,7 @@ { if (mName.empty() == true) { - logEmptyString(mName, level, version, "<AnalyticVolume>"); + logEmptyString(mName, level, version, "<analyticVolume>"); } } @@ -1152,7 +1152,7 @@ { if (functionType.empty() == true) { - logEmptyString(functionType, level, version, "<AnalyticVolume>"); + logEmptyString(functionType, level, version, "<analyticVolume>"); } else { @@ -1196,7 +1196,7 @@ { log->remove(XMLAttributeTypeMismatch); std::string message = "Spatial attribute 'ordinal' from the " - "<AnalyticVolume> element must be an integer."; + "<analyticVolume> element must be an integer."; log->logPackageError("spatial", SpatialAnalyticVolumeOrdinalMustBeInteger, pkgVersion, level, version, message, getLine(), getColumn()); @@ -1213,7 +1213,7 @@ { if (mDomainType.empty() == true) { - logEmptyString(mDomainType, level, version, "<AnalyticVolume>"); + logEmptyString(mDomainType, level, version, "<analyticVolume>"); } else if (SyntaxChecker::isValidSBMLSId(mDomainType) == false) { @@ -1234,7 +1234,7 @@ else { std::string message = "Spatial attribute 'domainType' is missing from the " - "<AnalyticVolume> element."; + "<analyticVolume> element."; log->logPackageError("spatial", SpatialAnalyticVolumeAllowedAttributes, pkgVersion, level, version, message, getLine(), getColumn()); } Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-20 20:04:05 UTC (rev 26242) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-20 20:08:44 UTC (rev 26243) @@ -2446,6 +2446,27 @@ END_CONSTRAINT +// 1221906 +START_CONSTRAINT(SpatialAnalyticVolumeDomainTypeMustBeDomainType, AnalyticVolume, av) +{ + pre(av.isSetDomainType()); + string domaintype = av.getDomainType(); + SpatialModelPlugin *mplug = (SpatialModelPlugin*)(m.getPlugin("spatial")); + pre(mplug != NULL); + Geometry* geom = mplug->getGeometry(); + pre(geom != NULL); + pre(geom->getDomainType(domaintype)==NULL); + msg = "An <analyticVolume>"; + if (av.isSetId()) { + msg += " with the id '" + av.getId() + "'"; + } + msg += " has a value of '" + domaintype + "' for its 'domainType', but the <geometry> does not contain a <domainType> with that ID."; + + inv(false); +} +END_CONSTRAINT + + // 122__ //START_CONSTRAINT(Spatial, Class, class) //{ Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-20 20:04:05 UTC (rev 26242) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-20 20:08:44 UTC (rev 26243) @@ -125,6 +125,7 @@ addConstraint(new VConstraintSampledFieldSpatialSampledFieldUIntArrayDataNotNegative(*this)); addConstraint(new VConstraintSampledFieldSpatialSampledFieldIntArrayDataIntegers(*this)); addConstraint(new VConstraintSampledVolumeSpatialSampledVolumeDomainTypeMustBeDomainType(*this)); +addConstraint(new VConstraintAnalyticVolumeSpatialAnalyticVolumeDomainTypeMustBeDomainType(*this)); //Constraints defined in their own class ('global constraints') addConstraint(new SpatialCompartmentMappingUnitSizesCheck(SpatialCompartmentMappingUnitSizesSum, *this)); Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221906-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221906-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221906-fail-01-01.xml 2019-12-20 20:08:44 UTC (rev 26243) @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> + <spatial:listOfAnalyticVolumes> + <spatial:analyticVolume spatial:domainType="domainType_443" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> + <math xmlns="http://www.w3.org/1998/Math/MathML"/> + </spatial:analyticVolume> + </spatial:listOfAnalyticVolumes> + </spatial:analyticGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221906-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221906-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221906-pass-00-01.xml 2019-12-20 20:08:44 UTC (rev 26243) @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> + <spatial:listOfAnalyticVolumes> + <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> + <math xmlns="http://www.w3.org/1998/Math/MathML"/> + </spatial:analyticVolume> + </spatial:listOfAnalyticVolumes> + </spatial:analyticGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + |
From: <luc...@us...> - 2019-12-20 20:04:06
|
Revision: 26242 http://sourceforge.net/p/sbml/code/26242 Author: luciansmith Date: 2019-12-20 20:04:05 +0000 (Fri, 20 Dec 2019) Log Message: ----------- Add tests for spatial validation rules 21905 and 8. Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221905-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221905-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-pass-00-02.xml Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221905-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221905-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221905-fail-01-01.xml 2019-12-20 20:04:05 UTC (rev 26242) @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> + <spatial:listOfAnalyticVolumes> + <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="lawyered" spatial:id="analyticVolume_1" spatial:ordinal="0"> + <math xmlns="http://www.w3.org/1998/Math/MathML"/> + </spatial:analyticVolume> + </spatial:listOfAnalyticVolumes> + </spatial:analyticGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221905-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221905-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221905-pass-00-01.xml 2019-12-20 20:04:05 UTC (rev 26242) @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> + <spatial:listOfAnalyticVolumes> + <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> + <math xmlns="http://www.w3.org/1998/Math/MathML"/> + </spatial:analyticVolume> + </spatial:listOfAnalyticVolumes> + </spatial:analyticGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-fail-01-01.xml 2019-12-20 20:04:05 UTC (rev 26242) @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> + <spatial:listOfAnalyticVolumes> + <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0.6"> + <math xmlns="http://www.w3.org/1998/Math/MathML"/> + </spatial:analyticVolume> + </spatial:listOfAnalyticVolumes> + </spatial:analyticGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-fail-01-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-fail-01-02.xml 2019-12-20 20:04:05 UTC (rev 26242) @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> + <spatial:listOfAnalyticVolumes> + <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="false"> + <math xmlns="http://www.w3.org/1998/Math/MathML"/> + </spatial:analyticVolume> + </spatial:listOfAnalyticVolumes> + </spatial:analyticGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-fail-01-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-fail-01-03.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-fail-01-03.xml 2019-12-20 20:04:05 UTC (rev 26242) @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> + <spatial:listOfAnalyticVolumes> + <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="none"> + <math xmlns="http://www.w3.org/1998/Math/MathML"/> + </spatial:analyticVolume> + </spatial:listOfAnalyticVolumes> + </spatial:analyticGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-pass-00-01.xml 2019-12-20 20:04:05 UTC (rev 26242) @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> + <spatial:listOfAnalyticVolumes> + <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> + <math xmlns="http://www.w3.org/1998/Math/MathML"/> + </spatial:analyticVolume> + </spatial:listOfAnalyticVolumes> + </spatial:analyticGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-pass-00-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-pass-00-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221908-pass-00-02.xml 2019-12-20 20:04:05 UTC (rev 26242) @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="true"> + <spatial:listOfAnalyticVolumes> + <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="-20"> + <math xmlns="http://www.w3.org/1998/Math/MathML"/> + </spatial:analyticVolume> + </spatial:listOfAnalyticVolumes> + </spatial:analyticGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + |
From: <luc...@us...> - 2019-12-20 19:34:17
|
Revision: 26241 http://sourceforge.net/p/sbml/code/26241 Author: luciansmith Date: 2019-12-20 19:34:16 +0000 (Fri, 20 Dec 2019) Log Message: ----------- Add tests for spatial validation rules 21706, 7, and 8. Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221706-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221706-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221706-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221707-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221707-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221707-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221708-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221708-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221708-pass-00-01.xml Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221706-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221706-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221706-fail-01-01.xml 2019-12-20 19:34:16 UTC (rev 26241) @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> + <spatial:listOfGeometryDefinitions> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:listOfSampledVolumes> + <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:sampledValue="one half" spatial:minValue="0" spatial:maxValue="0.5"/> + </spatial:listOfSampledVolumes> + </spatial:sampledFieldGeometry> + </spatial:listOfGeometryDefinitions> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:samplesLength="3">0 0 1</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221706-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221706-fail-01-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221706-fail-01-02.xml 2019-12-20 19:34:16 UTC (rev 26241) @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> + <spatial:listOfGeometryDefinitions> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:listOfSampledVolumes> + <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:sampledValue="false" spatial:minValue="0" spatial:maxValue="0.5"/> + </spatial:listOfSampledVolumes> + </spatial:sampledFieldGeometry> + </spatial:listOfGeometryDefinitions> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:samplesLength="3">0 0 1</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221706-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221706-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221706-pass-00-01.xml 2019-12-20 19:34:16 UTC (rev 26241) @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> + <spatial:listOfGeometryDefinitions> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:listOfSampledVolumes> + <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:sampledValue="0.5"/> + </spatial:listOfSampledVolumes> + </spatial:sampledFieldGeometry> + </spatial:listOfGeometryDefinitions> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:samplesLength="3">0 0 1</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221707-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221707-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221707-fail-01-01.xml 2019-12-20 19:34:16 UTC (rev 26241) @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> + <spatial:listOfGeometryDefinitions> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:listOfSampledVolumes> + <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:sampledValue="0.5" spatial:minValue="zero"/> + </spatial:listOfSampledVolumes> + </spatial:sampledFieldGeometry> + </spatial:listOfGeometryDefinitions> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:samplesLength="3">0 0 1</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221707-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221707-fail-01-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221707-fail-01-02.xml 2019-12-20 19:34:16 UTC (rev 26241) @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> + <spatial:listOfGeometryDefinitions> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:listOfSampledVolumes> + <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:sampledValue="0.5" spatial:minValue="%%"/> + </spatial:listOfSampledVolumes> + </spatial:sampledFieldGeometry> + </spatial:listOfGeometryDefinitions> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:samplesLength="3">0 0 1</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221707-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221707-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221707-pass-00-01.xml 2019-12-20 19:34:16 UTC (rev 26241) @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> + <spatial:listOfGeometryDefinitions> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:listOfSampledVolumes> + <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:minValue="0" spatial:maxValue="0.5"/> + </spatial:listOfSampledVolumes> + </spatial:sampledFieldGeometry> + </spatial:listOfGeometryDefinitions> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:samplesLength="3">0 0 1</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221708-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221708-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221708-fail-01-01.xml 2019-12-20 19:34:16 UTC (rev 26241) @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> + <spatial:listOfGeometryDefinitions> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:listOfSampledVolumes> + <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:sampledValue="0.5" spatial:maxValue="zero"/> + </spatial:listOfSampledVolumes> + </spatial:sampledFieldGeometry> + </spatial:listOfGeometryDefinitions> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:samplesLength="3">0 0 1</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221708-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221708-fail-01-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221708-fail-01-02.xml 2019-12-20 19:34:16 UTC (rev 26241) @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> + <spatial:listOfGeometryDefinitions> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:listOfSampledVolumes> + <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:sampledValue="0.5" spatial:maxValue="$5"/> + </spatial:listOfSampledVolumes> + </spatial:sampledFieldGeometry> + </spatial:listOfGeometryDefinitions> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:samplesLength="3">0 0 1</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221708-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221708-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221708-pass-00-01.xml 2019-12-20 19:34:16 UTC (rev 26241) @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> + <spatial:listOfGeometryDefinitions> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:listOfSampledVolumes> + <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:minValue="0" spatial:maxValue="0.5"/> + </spatial:listOfSampledVolumes> + </spatial:sampledFieldGeometry> + </spatial:listOfGeometryDefinitions> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:samplesLength="3">0 0 1</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> |
From: <luc...@us...> - 2019-12-20 19:14:07
|
Revision: 26240 http://sourceforge.net/p/sbml/code/26240 Author: luciansmith Date: 2019-12-20 19:14:05 +0000 (Fri, 20 Dec 2019) Log Message: ----------- Add support and tests for spatial rule 21704. Also, fix old tests that failed it. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221501-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221501-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221501-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221502-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221502-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221502-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221503-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221503-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221504-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221504-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221505-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221505-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221506-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221506-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221507-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221507-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221507-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221507-pass-00-03.xml Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221704-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221704-pass-00-01.xml Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-20 19:14:05 UTC (rev 26240) @@ -2425,6 +2425,27 @@ END_CONSTRAINT +// 1221704 +START_CONSTRAINT(SpatialSampledVolumeDomainTypeMustBeDomainType, SampledVolume, sv) +{ + pre(sv.isSetDomainType()); + string domaintype = sv.getDomainType(); + SpatialModelPlugin *mplug = (SpatialModelPlugin*)(m.getPlugin("spatial")); + pre(mplug != NULL); + Geometry* geom = mplug->getGeometry(); + pre(geom != NULL); + pre(geom->getDomainType(domaintype)==NULL); + msg = "A <sampledVolume>"; + if (sv.isSetId()) { + msg += " with the id '" + sv.getId() + "'"; + } + msg += " has a value of '" + domaintype + "' for its 'domainType', but the <geometry> does not contain a <domainType> with that ID."; + + inv(false); +} +END_CONSTRAINT + + // 122__ //START_CONSTRAINT(Spatial, Class, class) //{ Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-20 19:14:05 UTC (rev 26240) @@ -124,6 +124,7 @@ addConstraint(new VConstraintSampledFieldSpatialSampledFieldFloatArrayDataMustMatch(*this)); addConstraint(new VConstraintSampledFieldSpatialSampledFieldUIntArrayDataNotNegative(*this)); addConstraint(new VConstraintSampledFieldSpatialSampledFieldIntArrayDataIntegers(*this)); +addConstraint(new VConstraintSampledVolumeSpatialSampledVolumeDomainTypeMustBeDomainType(*this)); //Constraints defined in their own class ('global constraints') addConstraint(new SpatialCompartmentMappingUnitSizesCheck(SpatialCompartmentMappingUnitSizesSum, *this)); Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221501-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221501-pass-00-01.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221501-pass-00-01.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221501-pass-00-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221501-pass-00-02.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221501-pass-00-02.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry metaid="someString" spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221501-pass-00-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221501-pass-00-03.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221501-pass-00-03.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry sboTerm="SBO:0000001" spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221502-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221502-pass-00-01.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221502-pass-00-01.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221502-pass-00-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221502-pass-00-02.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221502-pass-00-02.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221502-pass-00-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221502-pass-00-03.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221502-pass-00-03.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221503-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221503-fail-01-02.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221503-fail-01-02.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true"> <spatial:listOfSampledVolumes> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221503-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221503-pass-00-01.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221503-pass-00-01.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221504-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221504-fail-01-01.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221504-fail-01-01.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221504-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221504-pass-00-01.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221504-pass-00-01.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221505-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221505-fail-01-01.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221505-fail-01-01.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="someString"> <spatial:listOfSampledVolumes> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221505-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221505-pass-00-01.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221505-pass-00-01.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221506-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221506-pass-00-01.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221506-pass-00-01.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221506-pass-00-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221506-pass-00-03.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221506-pass-00-03.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221507-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221507-fail-01-01.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221507-fail-01-01.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes foo="someString"> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221507-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221507-pass-00-01.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221507-pass-00-01.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221507-pass-00-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221507-pass-00-02.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221507-pass-00-02.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="true" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes metaid="someString"> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221507-pass-00-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221507-pass-00-03.xml 2019-12-20 18:52:52 UTC (rev 26239) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221507-pass-00-03.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -8,6 +8,9 @@ <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> </spatial:coordinateComponent> </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> <spatial:listOfGeometryDefinitions> <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> <spatial:listOfSampledVolumes sboTerm="SBO:0000001"> Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221704-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221704-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221704-fail-01-01.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> + <spatial:listOfGeometryDefinitions> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:listOfSampledVolumes> + <spatial:sampledVolume spatial:domainType="domainType_56" spatial:id="sampledVolume_1" spatial:minValue="0" spatial:maxValue="0.5"/> + </spatial:listOfSampledVolumes> + </spatial:sampledFieldGeometry> + </spatial:listOfGeometryDefinitions> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:samplesLength="3">0 0 1</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221704-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221704-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221704-pass-00-01.xml 2019-12-20 19:14:05 UTC (rev 26240) @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="1"/> + </spatial:listOfDomainTypes> + <spatial:listOfGeometryDefinitions> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:listOfSampledVolumes> + <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:minValue="0" spatial:maxValue="0.5"/> + </spatial:listOfSampledVolumes> + </spatial:sampledFieldGeometry> + </spatial:listOfGeometryDefinitions> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:samplesLength="3">0 0 1</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> |
From: <luc...@us...> - 2019-12-20 18:52:56
|
Revision: 26239 http://sourceforge.net/p/sbml/code/26239 Author: luciansmith Date: 2019-12-20 18:52:52 +0000 (Fri, 20 Dec 2019) Log Message: ----------- Set eol-style on new tests. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221609-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221609-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221611-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221611-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221612-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221612-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221653-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221653-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221653-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221656-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221656-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221950-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221950-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222150-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222150-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222150-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222150-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222152-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222152-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222152-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222153-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222153-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222153-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-fail-02-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-fail-03-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222155-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222155-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222155-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222155-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222350-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222350-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222650-fail-01-01-10102.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222650-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222651-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222651-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222651-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222651-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222652-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222652-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222653-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222653-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222654-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222654-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222654-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222654-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222750-fail-01-01-10102.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222750-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222751-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222751-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222751-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222751-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222752-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222752-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222753-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222753-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222754-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222754-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222754-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222754-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222755-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222755-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222755-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222755-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222755-pass-00-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222850-fail-01-01-10102.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222850-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222851-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222851-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222851-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222851-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222852-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222852-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222853-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222853-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222854-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222854-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222854-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222854-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224050-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224050-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224050-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224052-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224052-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224052-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224052-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224052-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-pass-00-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-pass-00-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-pass-00-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224054-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224054-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224054-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-08.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-09.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-pass-00-03.xml Property Changed: ---------------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221609-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221609-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221611-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221611-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221612-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221612-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221653-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221653-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221653-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221656-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221656-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221950-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221950-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222050-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222050-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222050-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222150-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222150-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222150-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222150-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222152-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222152-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222152-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222153-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222153-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222153-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-fail-02-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-fail-03-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222155-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222155-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222155-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222155-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222350-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222350-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222650-fail-01-01-10102.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222650-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222651-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222651-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222651-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222651-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222652-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222652-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222653-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222653-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222654-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222654-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222654-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222654-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222750-fail-01-01-10102.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222750-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222751-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222751-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222751-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222751-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222752-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222752-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222753-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222753-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222754-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222754-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222754-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222754-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222755-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222755-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222755-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222755-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222755-pass-00-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222850-fail-01-01-10102.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222850-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222851-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222851-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222851-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222851-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222852-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222852-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222853-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222853-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222854-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222854-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222854-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222854-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223904-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223904-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223904-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223950-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223950-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224050-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224050-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224050-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224052-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224052-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224052-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224052-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224052-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-pass-00-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-pass-00-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224053-pass-00-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224054-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224054-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224054-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-08.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-fail-01-09.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1224055-pass-00-03.xml Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-01.xml 2019-12-20 18:50:51 UTC (rev 26238) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-01.xml 2019-12-20 18:52:52 UTC (rev 26239) @@ -1,25 +1,25 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> - <model> - <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> - <spatial:listOfCoordinateComponents> - <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> - <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> - <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> - </spatial:coordinateComponent> - <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> - <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> - <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> - </spatial:coordinateComponent> - <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> - <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> - <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> - </spatial:coordinateComponent> - </spatial:listOfCoordinateComponents> - <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="foobar" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> - </spatial:listOfSampledFields> - </spatial:geometry> - </model> -</sbml> - +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="foobar" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Property changes on: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-01.xml ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-02.xml 2019-12-20 18:50:51 UTC (rev 26238) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-02.xml 2019-12-20 18:52:52 UTC (rev 26239) @@ -1,25 +1,25 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> - <model> - <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> - <spatial:listOfCoordinateComponents> - <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> - <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> - <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> - </spatial:coordinateComponent> - <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> - <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> - <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> - </spatial:coordinateComponent> - <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> - <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> - <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> - </spatial:coordinateComponent> - </spatial:listOfCoordinateComponents> - <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="2" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> - </spatial:listOfSampledFields> - </spatial:geometry> - </model> -</sbml> - +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="2" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Property changes on: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-02.xml ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-03.xml 2019-12-20 18:50:51 UTC (rev 26238) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-03.xml 2019-12-20 18:52:52 UTC (rev 26239) @@ -1,25 +1,25 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> - <model> - <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> - <spatial:listOfCoordinateComponents> - <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> - <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> - <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> - </spatial:coordinateComponent> - <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> - <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> - <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> - </spatial:coordinateComponent> - <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> - <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> - <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> - </spatial:coordinateComponent> - </spatial:listOfCoordinateComponents> - <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="true" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> - </spatial:listOfSampledFields> - </spatial:geometry> - </model> -</sbml> - +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="true" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Property changes on: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-03.xml ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-01.xml 2019-12-20 18:50:51 UTC (rev 26238) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-01.xml 2019-12-20 18:52:52 UTC (rev 26239) @@ -1,25 +1,25 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> - <model> - <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> - <spatial:listOfCoordinateComponents> - <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> - <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> - <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> - </spatial:coordinateComponent> - <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> - <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> - <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> - </spatial:coordinateComponent> - <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> - <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> - <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> - </spatial:coordinateComponent> - </spatial:listOfCoordinateComponents> - <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> - </spatial:listOfSampledFields> - </spatial:geometry> - </model> -</sbml> - +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatia... [truncated message content] |
From: <luc...@us...> - 2019-12-20 18:50:52
|
Revision: 26238 http://sourceforge.net/p/sbml/code/26238 Author: luciansmith Date: 2019-12-20 18:50:51 +0000 (Fri, 20 Dec 2019) Log Message: ----------- Add tests for spatial validation rule 21605, 7, 9, 11, and 12. Also put checks in place for other tests so they don't double-count some errors. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221609-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221609-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221611-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221611-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221612-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221612-pass-00-01.xml Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-20 18:33:28 UTC (rev 26237) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-20 18:50:51 UTC (rev 26238) @@ -1924,6 +1924,7 @@ { pre(sp.isSetCompression()); pre(sp.getCompression() == SPATIAL_COMPRESSIONKIND_UNCOMPRESSED); + pre(sp.isSetArrayDataLength()); pre(sp.getArrayDataLength() != sp.getNumArrayDataEntries()); stringstream ss_msg; ss_msg << "A <spatialPoints>"; @@ -2064,6 +2065,7 @@ { pre(po.isSetCompression()); pre(po.getCompression() == SPATIAL_COMPRESSIONKIND_UNCOMPRESSED); + pre(po.isSetPointIndexLength()); pre(po.getPointIndexLength() != po.getNumPointIndexEntries()); stringstream ss_msg; ss_msg << "A <parametricObject>"; @@ -2306,6 +2308,7 @@ { pre(sf.isSetCompression()); pre(sf.getCompression() == SPATIAL_COMPRESSIONKIND_UNCOMPRESSED); + pre(sf.isSetSamplesLength()); SampledField* sf_nc = const_cast<SampledField*>(&sf); pre(sf_nc->getSamplesLength() != (int) sf_nc->getUncompressedLength()); stringstream ss_msg; Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-fail-01-01.xml 2019-12-20 18:50:51 UTC (rev 26238) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="three" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-fail-01-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-fail-01-02.xml 2019-12-20 18:50:51 UTC (rev 26238) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="true" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221605-pass-00-01.xml 2019-12-20 18:50:51 UTC (rev 26238) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-01.xml 2019-12-20 18:50:51 UTC (rev 26238) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="not compressed in the slightest" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-02.xml 2019-12-20 18:50:51 UTC (rev 26238) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="-50.3" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-03.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-fail-01-03.xml 2019-12-20 18:50:51 UTC (rev 26238) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="false" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221607-pass-00-01.xml 2019-12-20 18:50:51 UTC (rev 26238) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221609-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221609-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221609-fail-01-01.xml 2019-12-20 18:50:51 UTC (rev 26238) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="six">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221609-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221609-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221609-pass-00-01.xml 2019-12-20 18:50:51 UTC (rev 26238) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221611-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221611-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221611-fail-01-01.xml 2019-12-20 18:50:51 UTC (rev 26238) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="6" spatial:numSamples2="two" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221611-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221611-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221611-pass-00-01.xml 2019-12-20 18:50:51 UTC (rev 26238) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221612-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221612-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221612-fail-01-01.xml 2019-12-20 18:50:51 UTC (rev 26238) @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="one" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221612-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221612-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221612-pass-00-01.xml 2019-12-20 18:50:51 UTC (rev 26238) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + |
From: <luc...@us...> - 2019-12-20 18:33:30
|
Revision: 26237 http://sourceforge.net/p/sbml/code/26237 Author: luciansmith Date: 2019-12-20 18:33:28 +0000 (Fri, 20 Dec 2019) Log Message: ----------- Consolidate code, in case it needs to be updated later. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.cpp Modified: branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.cpp 2019-12-20 18:32:37 UTC (rev 26236) +++ branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.cpp 2019-12-20 18:33:28 UTC (rev 26237) @@ -104,16 +104,7 @@ type val; vector< type> valuesVector; - while (strStream >> val) - { - valuesVector.push_back(val); - if (strStream.peek() == ',') { - strStream.get(); - } - if (strStream.peek() == ';') { - strStream.get(); - } - } + readSamplesFromString(str, valuesVector); length = valuesVector.size(); |
From: <luc...@us...> - 2019-12-20 18:32:39
|
Revision: 26236 http://sourceforge.net/p/sbml/code/26236 Author: luciansmith Date: 2019-12-20 18:32:37 +0000 (Fri, 20 Dec 2019) Log Message: ----------- Add tests for spatial validation rule 21604. Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-07.xml Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-01.xml 2019-12-20 18:32:37 UTC (rev 26236) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="foobar" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-02.xml 2019-12-20 18:32:37 UTC (rev 26236) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="2" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-03.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-fail-01-03.xml 2019-12-20 18:32:37 UTC (rev 26236) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="true" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-01.xml 2019-12-20 18:32:37 UTC (rev 26236) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-02.xml 2019-12-20 18:32:37 UTC (rev 26236) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="float" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-03.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-03.xml 2019-12-20 18:32:37 UTC (rev 26236) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="uint" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-04.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-04.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-04.xml 2019-12-20 18:32:37 UTC (rev 26236) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="int" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-05.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-05.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-05.xml 2019-12-20 18:32:37 UTC (rev 26236) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="uint8" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-06.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-06.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-06.xml 2019-12-20 18:32:37 UTC (rev 26236) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="uint16" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-07.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-07.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221604-pass-00-07.xml 2019-12-20 18:32:37 UTC (rev 26236) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="uint32" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1 3 2; 3 2 2</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + |
From: <luc...@us...> - 2019-12-20 00:33:37
|
Revision: 26235 http://sourceforge.net/p/sbml/code/26235 Author: luciansmith Date: 2019-12-20 00:33:36 +0000 (Fri, 20 Dec 2019) Log Message: ----------- Add support and tests for spatial rule 21657. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-pass-00-01.xml Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-19 23:20:14 UTC (rev 26234) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-20 00:33:36 UTC (rev 26235) @@ -168,6 +168,7 @@ , SpatialSampledFieldSamplesLengthMustMatchCompressed = 1221654 , SpatialSampledFieldFloatArrayDataMustMatch = 1221655 , SpatialSampledFieldUIntArrayDataNotNegative = 1221656 +, SpatialSampledFieldIntArrayDataIntegers = 1221657 , SpatialSampledVolumeAllowedCoreAttributes = 1221701 , SpatialSampledVolumeAllowedCoreElements = 1221702 , SpatialSampledVolumeAllowedAttributes = 1221703 Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-19 23:20:14 UTC (rev 26234) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-20 00:33:36 UTC (rev 26235) @@ -1284,6 +1284,16 @@ } }, + // 1221657 + { SpatialSampledFieldIntArrayDataIntegers, + "The <sampledField> entries in 'uint' or 'int' must be integers.", + LIBSBML_CAT_GENERAL_CONSISTENCY, + LIBSBML_SEV_ERROR, + "If the 'spatial:dataType' attribute of a <sampledField> has the value 'uint' or 'int', all of the uncompressed entries in the ArrayData child of the <sampledField> must be integers.", + { "L3V1 Spatial V1 Section" + } + }, + // 1221701 { SpatialSampledVolumeAllowedCoreAttributes, "Core attributes allowed on <sampledVolume>.", Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-19 23:20:14 UTC (rev 26234) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-20 00:33:36 UTC (rev 26235) @@ -2389,6 +2389,39 @@ END_CONSTRAINT +// 1224057 +START_CONSTRAINT(SpatialSampledFieldIntArrayDataIntegers, SampledField, sf) +{ + bool fail = false; + pre(sf.isSetDataType()); + pre(sf.getDataType() == SPATIAL_DATAKIND_INT || sf.getDataType() == SPATIAL_DATAKIND_UINT || sf.getDataType() == SPATIAL_DATAKIND_UINT8 || sf.getDataType() == SPATIAL_DATAKIND_UINT16 || sf.getDataType() == SPATIAL_DATAKIND_UINT32); + SampledField* sf_nc = const_cast<SampledField*>(&sf); + size_t len = sf_nc->getUncompressedLength(); + double* data = new double[len]; + sf_nc->getUncompressedData(data, len); + for (size_t d = 0; d < len; d++) { + double val = data[d]; + if (trunc(val) != val) { + stringstream ss_msg; + ss_msg << "A <spatialPoints>"; + if (sf.isSetId()) + { + ss_msg << " with id '" << sf.getId() << "'"; + } + ss_msg << " has a data type of '" << sf.getDataTypeAsString(); + ss_msg << "', but has an entry with the value '" << val; + ss_msg << "', which is not an integer."; + msg = ss_msg.str(); + fail = true; + break; + } + } + delete[] data; + inv(fail == false); +} +END_CONSTRAINT + + // 122__ //START_CONSTRAINT(Spatial, Class, class) //{ Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-19 23:20:14 UTC (rev 26234) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-20 00:33:36 UTC (rev 26235) @@ -123,6 +123,7 @@ addConstraint(new VConstraintSampledFieldSpatialSampledFieldSamplesLengthMustMatchUncompressed(*this)); addConstraint(new VConstraintSampledFieldSpatialSampledFieldFloatArrayDataMustMatch(*this)); addConstraint(new VConstraintSampledFieldSpatialSampledFieldUIntArrayDataNotNegative(*this)); +addConstraint(new VConstraintSampledFieldSpatialSampledFieldIntArrayDataIntegers(*this)); //Constraints defined in their own class ('global constraints') addConstraint(new SpatialCompartmentMappingUnitSizesCheck(SpatialCompartmentMappingUnitSizesSum, *this)); Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-01.xml 2019-12-20 00:33:36 UTC (rev 26235) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="int" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:name="someString" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">0.5 0 -3; -1 0 5</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-02.xml 2019-12-20 00:33:36 UTC (rev 26235) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="int" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:name="someString" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">0 0 -3.0001; -1 0 5</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-03.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-03.xml 2019-12-20 00:33:36 UTC (rev 26235) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="uint" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:name="someString" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">0 0 3.0001; 1 0 5</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-04.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-04.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-04.xml 2019-12-20 00:33:36 UTC (rev 26235) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="uint16" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:name="someString" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">0 0 3.0001; 1 0 5</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-05.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-05.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-05.xml 2019-12-20 00:33:36 UTC (rev 26235) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="uint8" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:name="someString" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">0 0 3.0001; 1 0 5</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-06.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-06.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-fail-01-06.xml 2019-12-20 00:33:36 UTC (rev 26235) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="uint32" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:name="someString" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">0 0 3.0001; 1 0 5</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221657-pass-00-01.xml 2019-12-20 00:33:36 UTC (rev 26235) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="int" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:name="someString" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">0 0 -3; -1 0 5</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + |
From: <luc...@us...> - 2019-12-19 23:20:16
|
Revision: 26234 http://sourceforge.net/p/sbml/code/26234 Author: luciansmith Date: 2019-12-19 23:20:14 +0000 (Thu, 19 Dec 2019) Log Message: ----------- Add support and tests for spatial rule 21656, and allow commas and semicolons in sampledField lists. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221656-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221656-pass-00-01.xml Modified: branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.cpp 2019-12-19 22:40:41 UTC (rev 26233) +++ branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.cpp 2019-12-19 23:20:14 UTC (rev 26234) @@ -89,6 +89,12 @@ while (strStream >> val) { valuesVector.push_back(val); + if (strStream.peek() == ',') { + strStream.get(); + } + if (strStream.peek() == ';') { + strStream.get(); + } } } @@ -101,6 +107,12 @@ while (strStream >> val) { valuesVector.push_back(val); + if (strStream.peek() == ',') { + strStream.get(); + } + if (strStream.peek() == ';') { + strStream.get(); + } } length = valuesVector.size(); Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-19 22:40:41 UTC (rev 26233) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-19 23:20:14 UTC (rev 26234) @@ -167,6 +167,7 @@ , SpatialSampledFieldSamplesLengthMustMatchUncompressed = 1221653 , SpatialSampledFieldSamplesLengthMustMatchCompressed = 1221654 , SpatialSampledFieldFloatArrayDataMustMatch = 1221655 +, SpatialSampledFieldUIntArrayDataNotNegative = 1221656 , SpatialSampledVolumeAllowedCoreAttributes = 1221701 , SpatialSampledVolumeAllowedCoreElements = 1221702 , SpatialSampledVolumeAllowedAttributes = 1221703 Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-19 22:40:41 UTC (rev 26233) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-19 23:20:14 UTC (rev 26234) @@ -1264,7 +1264,7 @@ } }, - // 1221654 + // 1221655 { SpatialSampledFieldFloatArrayDataMustMatch, "The <sampledField> entries in 'float' must be single precision.", LIBSBML_CAT_GENERAL_CONSISTENCY, @@ -1274,6 +1274,16 @@ } }, + // 1221656 + { SpatialSampledFieldUIntArrayDataNotNegative, + "The <sampledField> entries in 'uint' must not be negative.", + LIBSBML_CAT_GENERAL_CONSISTENCY, + LIBSBML_SEV_ERROR, + "If the 'spatial:dataType' attribute of a <sampledField> has the value 'uint', none of the uncompressed entries in the ArrayData child of the <sampledField> may be negative.", + { "L3V1 Spatial V1 Section" + } + }, + // 1221701 { SpatialSampledVolumeAllowedCoreAttributes, "Core attributes allowed on <sampledVolume>.", Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-19 22:40:41 UTC (rev 26233) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-19 23:20:14 UTC (rev 26234) @@ -2356,6 +2356,39 @@ END_CONSTRAINT +// 1221656 +START_CONSTRAINT(SpatialSampledFieldUIntArrayDataNotNegative, SampledField, sf) +{ + bool fail = false; + pre(sf.isSetDataType()); + pre(sf.getDataType() == SPATIAL_DATAKIND_UINT || sf.getDataType() == SPATIAL_DATAKIND_UINT8 || sf.getDataType() == SPATIAL_DATAKIND_UINT16 || sf.getDataType() == SPATIAL_DATAKIND_UINT32); + SampledField* sf_nc = const_cast<SampledField*>(&sf); + size_t len = sf_nc->getUncompressedLength(); + double* data = new double[len]; + sf_nc->getUncompressedData(data, len); + for (size_t d = 0; d < len; d++) { + double val = data[d]; + if (val < 0) { + stringstream ss_msg; + ss_msg << "A <sampledField>"; + if (sf.isSetId()) + { + ss_msg << " with id '" << sf.getId() << "'"; + } + ss_msg << " has a data type of '" << sf.getDataTypeAsString(); + ss_msg << "', but has an entry with the value '" << val; + ss_msg << "', which is negative."; + msg = ss_msg.str(); + fail = true; + break; + } + } + delete[] data; + inv(fail == false); +} +END_CONSTRAINT + + // 122__ //START_CONSTRAINT(Spatial, Class, class) //{ Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-19 22:40:41 UTC (rev 26233) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-19 23:20:14 UTC (rev 26234) @@ -122,6 +122,7 @@ addConstraint(new VConstraintParametricObjectSpatialParametricObjectMaxTwoPointBorders(*this)); addConstraint(new VConstraintSampledFieldSpatialSampledFieldSamplesLengthMustMatchUncompressed(*this)); addConstraint(new VConstraintSampledFieldSpatialSampledFieldFloatArrayDataMustMatch(*this)); +addConstraint(new VConstraintSampledFieldSpatialSampledFieldUIntArrayDataNotNegative(*this)); //Constraints defined in their own class ('global constraints') addConstraint(new SpatialCompartmentMappingUnitSizesCheck(SpatialCompartmentMappingUnitSizesSum, *this)); Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-pass-00-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-pass-00-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-pass-00-02.xml 2019-12-19 23:20:14 UTC (rev 26234) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="float" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:name="someString" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">0 0 3; 1 0 5</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221656-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221656-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221656-fail-01-01.xml 2019-12-19 23:20:14 UTC (rev 26234) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="uint" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:name="someString" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">0 0 -3; 1 0 5</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221656-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221656-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221656-pass-00-01.xml 2019-12-19 23:20:14 UTC (rev 26234) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="uint" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:name="someString" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">0 0 3; 1 0 5</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + |
From: <luc...@us...> - 2019-12-19 22:40:43
|
Revision: 26233 http://sourceforge.net/p/sbml/code/26233 Author: luciansmith Date: 2019-12-19 22:40:41 +0000 (Thu, 19 Dec 2019) Log Message: ----------- Add support and tests for spatial rule 21655. This necessitated changing the SampledField implementation extensively, as that stored everything as ints, instead of doubles. Nothing in the spec seemed to indicate that the sampledField could only have ints, so I had to change it to store doubles everywhere instead. At that point, I could check for floats. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/extension/test/TestReadSpatialExtension.cpp branches/libsbml-experimental/src/sbml/packages/spatial/extension/test/TestWriteSpatialExtension.cpp branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.cpp branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.h branches/libsbml-experimental/src/sbml/packages/spatial/sbml/test/TestCopyAndClone.cpp branches/libsbml-experimental/src/sbml/packages/spatial/sbml/test/TestImageData.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-pass-00-01.xml Modified: branches/libsbml-experimental/src/sbml/packages/spatial/extension/test/TestReadSpatialExtension.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/extension/test/TestReadSpatialExtension.cpp 2019-12-19 20:48:17 UTC (rev 26232) +++ branches/libsbml-experimental/src/sbml/packages/spatial/extension/test/TestReadSpatialExtension.cpp 2019-12-19 22:40:41 UTC (rev 26233) @@ -26,7 +26,7 @@ /** @endcond doxygenIgnored */ -std::string dataToString(int* field, int numSamples1, int length) +std::string dataToString(double* field, int numSamples1, int length) { stringstream builder; for (int i = 0; i < length; ++i) @@ -655,13 +655,13 @@ // test new API int length1 = field->getUncompressedLength(); - int* array1 = new int[length1]; + double* array1 = new double[length1]; fail_unless(length1 == 3591); field->getUncompressed(array1); string test1 = dataToString(array1, field->getNumSamples1(), length1); fail_unless(test1 == expected); - int* result; int resultLength; + double* result; size_t resultLength; field->getUncompressedData(result, resultLength); fail_unless(resultLength == length1); @@ -674,7 +674,7 @@ // test new API int uncompressed = field->getUncompressedLength(); fail_unless(resultLength == uncompressed); - int* more = new int[uncompressed]; + double* more = new double[uncompressed]; field->getUncompressed(more); resultString = dataToString(more, field->getNumSamples1(), resultLength); fail_unless(resultString == expected); @@ -773,13 +773,13 @@ // test new API int length1 = field->getUncompressedLength(); - int* array1 = new int[length1]; + double* array1 = new double[length1]; fail_unless(length1 == 3591); field->getUncompressed(array1); string test1 = dataToString(array1, field->getNumSamples1(), length1); fail_unless(test1 == expected); - int* result; int resultLength; + double* result; size_t resultLength; field->getUncompressedData(result, resultLength); fail_unless(resultLength == length1); @@ -792,7 +792,7 @@ // test new API int uncompressed = field->getUncompressedLength(); fail_unless(resultLength == uncompressed); - int* more = new int[uncompressed]; + double* more = new double[uncompressed]; field->getUncompressed(more); resultString = dataToString(more, field->getNumSamples1(), resultLength); fail_unless(resultString == expected); Modified: branches/libsbml-experimental/src/sbml/packages/spatial/extension/test/TestWriteSpatialExtension.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/extension/test/TestWriteSpatialExtension.cpp 2019-12-19 20:48:17 UTC (rev 26232) +++ branches/libsbml-experimental/src/sbml/packages/spatial/extension/test/TestWriteSpatialExtension.cpp 2019-12-19 22:40:41 UTC (rev 26233) @@ -277,6 +277,7 @@ fail_unless(sampledField->setNumSamples1(4) == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField->setNumSamples2(4) == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField->setNumSamples3(2) == LIBSBML_OPERATION_SUCCESS); + fail_unless(sampledField->setSamplesLength(32) == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField->setDataType(SPATIAL_DATAKIND_UINT8) == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField->setInterpolationType(SPATIAL_INTERPOLATIONKIND_LINEAR) == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField->setCompression(SPATIAL_COMPRESSIONKIND_UNCOMPRESSED) == LIBSBML_OPERATION_SUCCESS); @@ -560,6 +561,7 @@ fail_unless(sampledField.setNumSamples1(4) == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField.setNumSamples2(4) == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField.setNumSamples3(2) == LIBSBML_OPERATION_SUCCESS); + fail_unless(sampledField.setSamplesLength(32) == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField.setDataType("uint8") == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField.setInterpolationType("linear") == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField.setCompression("uncompressed") == LIBSBML_OPERATION_SUCCESS); @@ -783,6 +785,7 @@ fail_unless(sampledField->setNumSamples1(4) == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField->setNumSamples2(4) == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField->setNumSamples3(2) == LIBSBML_OPERATION_SUCCESS); + fail_unless(sampledField->setSamplesLength(32) == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField->setDataType(SPATIAL_DATAKIND_UINT8) == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField->setInterpolationType(SPATIAL_INTERPOLATIONKIND_LINEAR) == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField->setCompression(SPATIAL_COMPRESSIONKIND_UNCOMPRESSED) == LIBSBML_OPERATION_SUCCESS); @@ -1030,6 +1033,7 @@ fail_unless(sampledField->setNumSamples1(4) == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField->setNumSamples2(4) == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField->setNumSamples3(2) == LIBSBML_OPERATION_SUCCESS); + fail_unless(sampledField->setSamplesLength(32) == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField->setDataType("double") == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField->setInterpolationType("linear") == LIBSBML_OPERATION_SUCCESS); fail_unless(sampledField->setCompression("uncompressed") == LIBSBML_OPERATION_SUCCESS); Modified: branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.cpp 2019-12-19 20:48:17 UTC (rev 26232) +++ branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.cpp 2019-12-19 22:40:41 UTC (rev 26233) @@ -92,7 +92,7 @@ } } -template<typename type> type* readSamplesFromString(const std::string& str, unsigned int& length) +template<typename type> type* readSamplesFromString(const std::string& str, size_t& length) { stringstream strStream(str); type val; @@ -103,12 +103,12 @@ valuesVector.push_back(val); } - length = (unsigned int)valuesVector.size(); + length = valuesVector.size(); if (length > 0) { type* data = new type[length]; - for (unsigned int i = 0; i < length; ++i) + for (size_t i = 0; i < length; ++i) { data[i] = valuesVector.at(i); } @@ -118,11 +118,11 @@ return NULL; } -template<typename type> std::string arrayToString(const type* array, unsigned int length) +template<typename type> std::string arrayToString(const type* array, size_t length) { std::stringstream str; - for (unsigned int i = 0; i < length; ++i) + for (size_t i = 0; i < length; ++i) { str << (type)array[i] << " "; } @@ -131,11 +131,11 @@ } -std::string arrayToString(const unsigned char* array, unsigned int length) +std::string arrayToString(const unsigned char* array, size_t length) { std::stringstream str; - for (unsigned int i = 0; i < length; ++i) + for (size_t i = 0; i < length; ++i) { str << (int)array[i] << " "; } @@ -144,11 +144,11 @@ } -std::string arrayToString(const double* array, unsigned int length) +std::string arrayToString(const double* array, size_t length) { std::stringstream str; - for (unsigned int i = 0; i < length; ++i) + for (size_t i = 0; i < length; ++i) { str << std::setprecision(17) << (double)array[i] << " "; } @@ -409,7 +409,7 @@ return; } - unsigned int length; + size_t length; int* samples = readSamplesFromString<int>(mSamples, length); memcpy(outArray, samples, sizeof(int) * length); @@ -443,7 +443,7 @@ return; } - unsigned int length; + size_t length; double* samples = readSamplesFromString<double>(mSamples, length); memcpy(outArray, samples, sizeof(double) * length); @@ -458,7 +458,7 @@ return; } - unsigned int length; + size_t length; float* samples = readSamplesFromString<float>(mSamples, length); memcpy(outArray, samples, sizeof(float) * length); @@ -2042,7 +2042,7 @@ * */ void -SampledField::getUncompressedData(int*& data, int& length) +SampledField::getUncompressedData(double*& data, size_t& length) { if (mUncompressedSamples == NULL) { @@ -2059,26 +2059,34 @@ { freeUncompressed(); - unsigned int length; - int* samples = readSamplesFromString<int>(mSamples, length); - if (samples == NULL) return; + size_t length; if (mCompression == SPATIAL_COMPRESSIONKIND_DEFLATED) { + int* samples = readSamplesFromString<int>(mSamples, length); + if (samples == NULL) return; char* csamples = (char*)malloc(sizeof(char) * length); for (unsigned int i = 0; i < length; ++i) + { csamples[i] = (char)samples[i]; - SampledField::uncompress_data(csamples, length, mUncompressedSamples, mUncompressedLength); + } + uncompress_data(csamples, length, mUncompressedSamples, mUncompressedLength); free(csamples); if (mUncompressedSamples == 0) - copySampleArrays(mUncompressedSamples, mUncompressedLength, samples, length); + { + assert(false); +// copySampleArrays(mUncompressedSamples, mUncompressedLength, samples, length); + } + delete[] samples; } else { + double* samples = readSamplesFromString<double>(mSamples, length); + if (samples == NULL) return; copySampleArrays(mUncompressedSamples, mUncompressedLength, samples, length); + delete[] samples; } - delete[] samples; } @@ -2088,8 +2096,8 @@ if (mCompression != SPATIAL_COMPRESSIONKIND_DEFLATED) return LIBSBML_OPERATION_SUCCESS; - unsigned int length; - int* samples = readSamplesFromString<int>(mSamples, length); + size_t length; + double* samples = readSamplesFromString<double>(mSamples, length); if (samples == NULL) return LIBSBML_OPERATION_SUCCESS; @@ -2127,7 +2135,7 @@ } void -SampledField::getUncompressed(int* outputSamples) +SampledField::getUncompressed(double* outputSamples) { if (outputSamples == NULL) return; if (mUncompressedSamples == NULL) @@ -2134,7 +2142,7 @@ uncompressLegacy(); if (mUncompressedSamples == NULL) return; - memcpy(outputSamples, mUncompressedSamples, sizeof(int) * mUncompressedLength); + memcpy(outputSamples, mUncompressedSamples, sizeof(double) * mUncompressedLength); } void @@ -2208,15 +2216,15 @@ } void -SampledField::copySampleArrays(int*& target, int& targetLength, int* source, int sourceLength) +SampledField::copySampleArrays(double*& target, size_t& targetLength, double* source, size_t sourceLength) { targetLength = sourceLength; - target = (int*)malloc(sizeof(int) * sourceLength); - memset(target, 0, sizeof(int) * sourceLength); - memcpy(target, source, sizeof(int) * sourceLength); + target = (double*)malloc(sizeof(double) * sourceLength); + memset(target, 0, sizeof(double) * sourceLength); + memcpy(target, source, sizeof(double) * sourceLength); } -void SampledField::uncompress_data(void* data, size_t length, int*& result, int& outLength) +void SampledField::uncompress_data(void* data, size_t length, double*& result, size_t& outLength) { #ifndef USE_ZLIB // throwing an exception won't help our users, better set the result array and length to NULL. @@ -2277,10 +2285,10 @@ inflateEnd(&strm); outLength = buffer.size(); - result = (int*)malloc(sizeof(int) * outLength); + result = (double*)malloc(sizeof(double) * outLength); if (result == NULL) return; - for (int i = 0; i < outLength; i++) + for (size_t i = 0; i < outLength; i++) result[i] = buffer[i]; #endif } Modified: branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.h 2019-12-19 20:48:17 UTC (rev 26232) +++ branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.h 2019-12-19 22:40:41 UTC (rev 26233) @@ -1263,13 +1263,13 @@ protected: - int* mUncompressedSamples; - int mUncompressedLength; + double* mUncompressedSamples; + size_t mUncompressedLength; - static void copySampleArrays(int* &target, int& targetLength, int* source, int sourceLength); + static void copySampleArrays(double* &target, size_t& targetLength, double* source, size_t sourceLength); static std::string uncompress_data(void *data, size_t length); static void compress_data(void* data, size_t length, int level, unsigned char*& result, int& outLength); - static void uncompress_data(void* data, size_t length, int*& result, int& outLength); + static void uncompress_data(void* data, size_t length, double*& result, size_t& outLength); public: @@ -1288,7 +1288,7 @@ * * @return void. */ - void getUncompressed(int* outputSamples); + void getUncompressed(double* outputSamples); /** * utility function freeing the uncompressed data. @@ -1332,7 +1332,7 @@ * @param length the output length of the array * */ - void getUncompressedData(int* &data, int& length); + void getUncompressedData(double* &data, size_t& length); Modified: branches/libsbml-experimental/src/sbml/packages/spatial/sbml/test/TestCopyAndClone.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/sbml/test/TestCopyAndClone.cpp 2019-12-19 20:48:17 UTC (rev 26232) +++ branches/libsbml-experimental/src/sbml/packages/spatial/sbml/test/TestCopyAndClone.cpp 2019-12-19 22:40:41 UTC (rev 26233) @@ -132,6 +132,7 @@ SampledField* o1=new SampledField(GNS); int points [] = {1,2,3}; o1->setSamples(points, 3); + o1->setSamplesLength(3); fail_unless(o1->getSamplesLength() == 3); @@ -159,7 +160,8 @@ SampledField* o1=new SampledField(GNS); int points [] = {1,2,3}; o1->setSamples(points, 3); - + o1->setSamplesLength(3); + fail_unless(o1->getSamplesLength() == 3); SampledField* o2 = new SampledField(GNS);; @@ -187,7 +189,8 @@ SampledField* o1=new SampledField(GNS); int points [] = {1,2,3}; o1->setSamples(points, 3); - + o1->setSamplesLength(3); + fail_unless(o1->getSamplesLength() == 3); SampledField* o2=o1->clone(); Modified: branches/libsbml-experimental/src/sbml/packages/spatial/sbml/test/TestImageData.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/sbml/test/TestImageData.cpp 2019-12-19 20:48:17 UTC (rev 26232) +++ branches/libsbml-experimental/src/sbml/packages/spatial/sbml/test/TestImageData.cpp 2019-12-19 22:40:41 UTC (rev 26233) @@ -136,6 +136,7 @@ int samples [] = {1,2}; G->setSamples(samples, 2); + G->setSamplesLength(2); fail_unless(G->isSetSamples() == true); fail_unless(G->isSetSamplesLength() == true); @@ -142,7 +143,7 @@ fail_unless(G->getSamplesLength() == 2); - int samplesRet [2]; + double samplesRet [2]; G->getSamples(samplesRet); fail_unless(samplesRet[0] == 1); fail_unless(samplesRet[1] == 2); @@ -162,6 +163,7 @@ int samples [] = {1,2}; G->setSamples(samples, 3); + G->setSamplesLength(3); fail_unless(G->isSetSamples() == true); fail_unless(G->isSetSamplesLength() == true); @@ -168,7 +170,7 @@ fail_unless(G->getSamplesLength() == 3); - int samplesRet [] = {0, 0, 0}; + double samplesRet [] = {0, 0, 0}; G->getSamples(samplesRet); fail_unless(samplesRet[0] == 1); fail_unless(samplesRet[1] == 2); @@ -189,6 +191,7 @@ int samples [] = {1,2}; G->setSamples(samples, 1); + G->setSamplesLength(1); fail_unless(G->isSetSamples() == true); fail_unless(G->isSetSamplesLength() == true); @@ -233,6 +236,7 @@ int points [] = {1,2,3}; G->setSamples(points, 3); + G->setSamplesLength(3); G->setDataType("uint8"); S = G->toSBML(); Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-19 20:48:17 UTC (rev 26232) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-19 22:40:41 UTC (rev 26233) @@ -166,6 +166,7 @@ , SpatialSampledFieldThreeSamplesIn3DGeometry = 1221652 , SpatialSampledFieldSamplesLengthMustMatchUncompressed = 1221653 , SpatialSampledFieldSamplesLengthMustMatchCompressed = 1221654 +, SpatialSampledFieldFloatArrayDataMustMatch = 1221655 , SpatialSampledVolumeAllowedCoreAttributes = 1221701 , SpatialSampledVolumeAllowedCoreElements = 1221702 , SpatialSampledVolumeAllowedAttributes = 1221703 Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-19 20:48:17 UTC (rev 26232) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-19 22:40:41 UTC (rev 26233) @@ -1246,7 +1246,7 @@ // 1221653 { SpatialSampledFieldSamplesLengthMustMatchUncompressed, - "The 'samplesLength' attribute must match the entries when uncompressed", + "The 'samplesLength' attribute must match the entries when uncompressed.", LIBSBML_CAT_GENERAL_CONSISTENCY, LIBSBML_SEV_ERROR, "If the 'spatial:compression' attribute of a <sampledField> has the value 'uncompressed', the 'spatial:samplesLength' attribute of the same <sampledField> must equal the number of entries in the ArrayData child of the <sampledField>.", @@ -1256,7 +1256,7 @@ // 1221654 { SpatialSampledFieldSamplesLengthMustMatchCompressed, - "The 'samplesLength' attribute must match the length of the ArrayData when compressed", + "The 'samplesLength' attribute must match the length of the ArrayData when compressed.", LIBSBML_CAT_GENERAL_CONSISTENCY, LIBSBML_SEV_ERROR, "If the 'spatial:compression' attribute of a <sampledField> has the value 'deflated', the 'spatial:samplesLength' attribute of the same <sampledField> must equal the number of non-whitespace characters of the ArrayData child of the <sampledField>.", @@ -1264,6 +1264,16 @@ } }, + // 1221654 + { SpatialSampledFieldFloatArrayDataMustMatch, + "The <sampledField> entries in 'float' must be single precision.", + LIBSBML_CAT_GENERAL_CONSISTENCY, + LIBSBML_SEV_ERROR, + "If the 'spatial:dataType' attribute of a <sampledField> has the value 'float', none of the uncompressed entries in the ArrayData child of the <sampledField> may have a value outside of the range of an IEEE 754-1985 single-precision floating point value (approximately +/-3.4028235e38, and +/-1.17549e-38).", + { "L3V1 Spatial V1 Section" + } + }, + // 1221701 { SpatialSampledVolumeAllowedCoreAttributes, "Core attributes allowed on <sampledVolume>.", Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-19 20:48:17 UTC (rev 26232) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-19 22:40:41 UTC (rev 26233) @@ -2324,6 +2324,38 @@ END_CONSTRAINT +// 1221655 +START_CONSTRAINT(SpatialSampledFieldFloatArrayDataMustMatch, SampledField, sf) +{ + bool fail = false; + pre(sf.isSetDataType()); + pre(sf.getDataType() == SPATIAL_DATAKIND_FLOAT); + SampledField* sf_nc = const_cast<SampledField*>(&sf); + size_t len = sf_nc->getUncompressedLength(); + double* data = new double[len]; + sf_nc->getUncompressedData(data, len); + for (size_t d = 0; d < len; d++) { + double val = data[d]; + if (val > 3.4028235e38 || val < -3.4028235e38 || (val > 0 && val < 1.17549e-38) || val < 0 && val > -1.17549e-38) { + stringstream ss_msg; + ss_msg << "A <spatialPoints>"; + if (sf.isSetId()) + { + ss_msg << " with id '" << sf.getId() << "'"; + } + ss_msg << " has an entry with the value '" << val; + ss_msg << "', which is outside the range of single-precision 'float' values."; + msg = ss_msg.str(); + fail = true; + break; + } + } + delete[] data; + inv(fail == false); +} +END_CONSTRAINT + + // 122__ //START_CONSTRAINT(Spatial, Class, class) //{ Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-19 20:48:17 UTC (rev 26232) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-19 22:40:41 UTC (rev 26233) @@ -121,6 +121,7 @@ addConstraint(new VConstraintParametricObjectSpatialParametricObjectFacesSameChirality(*this)); addConstraint(new VConstraintParametricObjectSpatialParametricObjectMaxTwoPointBorders(*this)); addConstraint(new VConstraintSampledFieldSpatialSampledFieldSamplesLengthMustMatchUncompressed(*this)); +addConstraint(new VConstraintSampledFieldSpatialSampledFieldFloatArrayDataMustMatch(*this)); //Constraints defined in their own class ('global constraints') addConstraint(new SpatialCompartmentMappingUnitSizesCheck(SpatialCompartmentMappingUnitSizesSum, *this)); Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-01.xml 2019-12-19 22:40:41 UTC (rev 26233) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="float" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:name="someString" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1e-40 0 3 1 0 5</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-02.xml 2019-12-19 22:40:41 UTC (rev 26233) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="float" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:name="someString" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">-1e-40 0 3 1 0 5</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-03.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-03.xml 2019-12-19 22:40:41 UTC (rev 26233) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="float" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:name="someString" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">1e40 0 3 1 0 5</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-04.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-04.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-fail-01-04.xml 2019-12-19 22:40:41 UTC (rev 26233) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="float" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:name="someString" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">-1e40 0 3 1 0 5</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221655-pass-00-01.xml 2019-12-19 22:40:41 UTC (rev 26233) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianX"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="float" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:name="someString" spatial:numSamples1="3" spatial:numSamples2="2" spatial:numSamples3="1" spatial:samplesLength="6">0 0 3 1 0 5</spatial:sampledField> + </spatial:listOfSampledFields> + </spatial:geometry> + </model> +</sbml> + |
From: <luc...@us...> - 2019-12-19 20:48:20
|
Revision: 26232 http://sourceforge.net/p/sbml/code/26232 Author: luciansmith Date: 2019-12-19 20:48:17 +0000 (Thu, 19 Dec 2019) Log Message: ----------- Add definition of spatial validation rule 22654, but no actual support yet. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-19 20:44:29 UTC (rev 26231) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-19 20:48:17 UTC (rev 26232) @@ -165,6 +165,7 @@ , SpatialSampledFieldTwoSamplesIn2DGeometry = 1221651 , SpatialSampledFieldThreeSamplesIn3DGeometry = 1221652 , SpatialSampledFieldSamplesLengthMustMatchUncompressed = 1221653 +, SpatialSampledFieldSamplesLengthMustMatchCompressed = 1221654 , SpatialSampledVolumeAllowedCoreAttributes = 1221701 , SpatialSampledVolumeAllowedCoreElements = 1221702 , SpatialSampledVolumeAllowedAttributes = 1221703 Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-19 20:44:29 UTC (rev 26231) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-19 20:48:17 UTC (rev 26232) @@ -1033,7 +1033,7 @@ // 1221505 { SpatialSampledFieldGeometrySampledFieldMustBeSampledField, - "The attribute 'sampledField' must point to SampledField object.", + "The attribute 'sampledField' must point to <sampledField> object.", LIBSBML_CAT_GENERAL_CONSISTENCY, LIBSBML_SEV_ERROR, "The value of the attribute 'spatial:sampledField' of a " @@ -1254,6 +1254,16 @@ } }, + // 1221654 + { SpatialSampledFieldSamplesLengthMustMatchCompressed, + "The 'samplesLength' attribute must match the length of the ArrayData when compressed", + LIBSBML_CAT_GENERAL_CONSISTENCY, + LIBSBML_SEV_ERROR, + "If the 'spatial:compression' attribute of a <sampledField> has the value 'deflated', the 'spatial:samplesLength' attribute of the same <sampledField> must equal the number of non-whitespace characters of the ArrayData child of the <sampledField>.", + { "L3V1 Spatial V1 Section" + } + }, + // 1221701 { SpatialSampledVolumeAllowedCoreAttributes, "Core attributes allowed on <sampledVolume>.", |
From: <luc...@us...> - 2019-12-19 20:44:33
|
Revision: 26231 http://sourceforge.net/p/sbml/code/26231 Author: luciansmith Date: 2019-12-19 20:44:29 +0000 (Thu, 19 Dec 2019) Log Message: ----------- Add support and tests for spatial rule 22904. Also fix a bajillion models that were quietly failing this before. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.cpp branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-08.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-09.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-10.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221204-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221204-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221650-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221650-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221650-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223350-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223350-fail-02-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223350-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223450-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223450-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223450-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223450-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223451-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223451-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223451-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223451-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223452-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223452-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223452-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223452-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223454-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223454-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223455-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223455-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223455-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223456-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223456-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223456-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223456-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223456-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223457-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223457-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223457-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223457-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223457-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223457-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223457-fail-01-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223457-fail-01-08.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223457-fail-01-09.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223457-fail-01-10.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223457-fail-01-11.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223457-fail-01-12.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223457-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223457-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223457-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223457-pass-00-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223457-pass-00-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223504-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223504-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223551-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223551-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223551-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223551-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223604-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223604-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-08.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-09.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-10.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-11.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-12.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-13.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-14.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-15.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-16.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-17.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-18.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-02-19.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-02-20.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-02-21.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223904-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223904-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223904-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223950-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223950-pass-00-01.xml Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221653-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221653-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221653-pass-00-01.xml Modified: branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.cpp 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.cpp 2019-12-19 20:44:29 UTC (rev 26231) @@ -174,7 +174,7 @@ , mInterpolationType(SPATIAL_INTERPOLATIONKIND_INVALID) , mCompression(SPATIAL_COMPRESSIONKIND_INVALID) , mSamples() - , mSamplesLength(0) + , mSamplesLength(SBML_INT_MAX) , mIsSetSamplesLength(false) , mUncompressedSamples(NULL) , mUncompressedLength(0) @@ -199,7 +199,7 @@ , mInterpolationType(SPATIAL_INTERPOLATIONKIND_INVALID) , mCompression(SPATIAL_COMPRESSIONKIND_INVALID) , mSamples() - , mSamplesLength(0) + , mSamplesLength(SBML_INT_MAX) , mIsSetSamplesLength(false) , mUncompressedSamples(NULL) , mUncompressedLength(0) @@ -776,8 +776,6 @@ } mSamples = arrayToString(inArray, arrayLength); - mIsSetSamplesLength = true; - mSamplesLength = arrayLength; return LIBSBML_OPERATION_SUCCESS; } @@ -790,8 +788,6 @@ } mSamples = arrayToString(inArray, arrayLength); - mIsSetSamplesLength = true; - mSamplesLength = arrayLength; return LIBSBML_OPERATION_SUCCESS; } @@ -804,8 +800,6 @@ } mSamples = arrayToString(inArray, arrayLength); - mIsSetSamplesLength = true; - mSamplesLength = arrayLength; return LIBSBML_OPERATION_SUCCESS; } @@ -820,8 +814,6 @@ } mSamples = arrayToString(inArray, arrayLength); - mIsSetSamplesLength = true; - mSamplesLength = arrayLength; return LIBSBML_OPERATION_SUCCESS; } @@ -836,8 +828,6 @@ } mSamples = arrayToString(inArray, arrayLength); - mIsSetSamplesLength = true; - mSamplesLength = arrayLength; return LIBSBML_OPERATION_SUCCESS; } @@ -851,8 +841,6 @@ int SampledField::setSamples(const std::vector<double>& samples) { mSamples = vectorToString(samples); - mIsSetSamplesLength = true; - mSamplesLength = samples.size(); return LIBSBML_OPERATION_SUCCESS; } @@ -859,8 +847,6 @@ int SampledField::setSamples(const std::vector<int>& samples) { mSamples = vectorToString(samples); - mIsSetSamplesLength = true; - mSamplesLength = samples.size(); return LIBSBML_OPERATION_SUCCESS; } @@ -867,8 +853,6 @@ int SampledField::setSamples(const std::vector<float>& samples) { mSamples = vectorToString(samples); - mIsSetSamplesLength = true; - mSamplesLength = samples.size(); return LIBSBML_OPERATION_SUCCESS; } @@ -2091,7 +2075,7 @@ } else { - copySampleArrays(mUncompressedSamples, mUncompressedLength, samples, mSamplesLength); + copySampleArrays(mUncompressedSamples, mUncompressedLength, samples, length); } delete[] samples; Modified: branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.h 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/sbml/SampledField.h 2019-12-19 20:44:29 UTC (rev 26231) @@ -1274,9 +1274,10 @@ public: /** - * Returns the "samplesLength" attribute of this SampledField. + * Returns the number of uncompressed samples of this SampledField. + * Will uncompress the samples if need be. * - * @return the "samplesLength" attribute of this SampledField. + * @return the number of uncompressed samples of this SampledField. */ unsigned int getUncompressedLength(); Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-19 20:44:29 UTC (rev 26231) @@ -164,6 +164,7 @@ , SpatialSampledFieldOneSampleIn1DGeometry = 1221650 , SpatialSampledFieldTwoSamplesIn2DGeometry = 1221651 , SpatialSampledFieldThreeSamplesIn3DGeometry = 1221652 +, SpatialSampledFieldSamplesLengthMustMatchUncompressed = 1221653 , SpatialSampledVolumeAllowedCoreAttributes = 1221701 , SpatialSampledVolumeAllowedCoreElements = 1221702 , SpatialSampledVolumeAllowedAttributes = 1221703 Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-19 20:44:29 UTC (rev 26231) @@ -1244,6 +1244,16 @@ } }, + // 1221653 + { SpatialSampledFieldSamplesLengthMustMatchUncompressed, + "The 'samplesLength' attribute must match the entries when uncompressed", + LIBSBML_CAT_GENERAL_CONSISTENCY, + LIBSBML_SEV_ERROR, + "If the 'spatial:compression' attribute of a <sampledField> has the value 'uncompressed', the 'spatial:samplesLength' attribute of the same <sampledField> must equal the number of entries in the ArrayData child of the <sampledField>.", + { "L3V1 Spatial V1 Section" + } + }, + // 1221701 { SpatialSampledVolumeAllowedCoreAttributes, "Core attributes allowed on <sampledVolume>.", Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-19 20:44:29 UTC (rev 26231) @@ -2301,13 +2301,25 @@ END_CONSTRAINT -// 1223950 -START_CONSTRAINT(SpatialOrdinalMappingOrdinalShouldBeUnique, OrdinalMapping, om) +// 1221653 +START_CONSTRAINT(SpatialSampledFieldSamplesLengthMustMatchUncompressed, SampledField, sf) { - bool fail = false; - pre(om.isSetOrdinal()); + pre(sf.isSetCompression()); + pre(sf.getCompression() == SPATIAL_COMPRESSIONKIND_UNCOMPRESSED); + SampledField* sf_nc = const_cast<SampledField*>(&sf); + pre(sf_nc->getSamplesLength() != (int) sf_nc->getUncompressedLength()); + stringstream ss_msg; + ss_msg << "A <spatialPoints>"; + if (sf.isSetId()) + { + ss_msg << " with id '" << sf.getId() << "'"; + } + ss_msg << " is set 'uncompressed' and has a 'samplesLength' of '"; + ss_msg << sf.getSamplesLength() << "', but actually contains "; + ss_msg << sf_nc->getUncompressedLength() << " entries."; + msg = ss_msg.str(); - inv(fail == false); + inv(false); } END_CONSTRAINT Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-19 20:44:29 UTC (rev 26231) @@ -120,6 +120,7 @@ addConstraint(new VConstraintParametricObjectSpatialParametricObjectIndexesMustBePoints(*this)); addConstraint(new VConstraintParametricObjectSpatialParametricObjectFacesSameChirality(*this)); addConstraint(new VConstraintParametricObjectSpatialParametricObjectMaxTwoPointBorders(*this)); +addConstraint(new VConstraintSampledFieldSpatialSampledFieldSamplesLengthMustMatchUncompressed(*this)); //Constraints defined in their own class ('global constraints') addConstraint(new SpatialCompartmentMappingUnitSizesCheck(SpatialCompartmentMappingUnitSizesSum, *this)); Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-fail-01-01.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-fail-01-01.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> <listOfCompartments> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-pass-00-01.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-pass-00-01.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> <listOfCompartments> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-01.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-01.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> <listOfCompartments> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-02.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-02.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> <listOfCompartments> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-03.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-03.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> <listOfCompartments> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-04.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-04.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-04.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> <listOfCompartments> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-05.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-05.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-05.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> <listOfCompartments> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-06.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-06.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-06.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> <listOfCompartments> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-07.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-07.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-07.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> <listOfCompartments> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-08.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-08.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-08.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> <listOfCompartments> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-09.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-09.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-09.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> <listOfCompartments> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-10.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-10.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-10.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> <listOfCompartments> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-01.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-01.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> <listOfCompartments> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-02.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-02.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> <listOfCompartments> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-03.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-03.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> <listOfCompartments> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-04.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-04.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-04.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> <listOfCompartments> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-fail-01-01.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-fail-01-01.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> </model> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-01.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-01.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> </model> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-02.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-02.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> </model> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-03.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-03.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> </model> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-01.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-01.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> </model> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-02.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-02.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -56,7 +56,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> </model> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-03.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-03.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -56,7 +56,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> </model> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-01.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-01.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> </model> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-02.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-02.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -50,7 +50,7 @@ </spatial:parametricGeometry> </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> </model> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-03.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-03.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> </model> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-pass-00-01.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-pass-00-01.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="3"/> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="0"/> </spatial:listOfSampledFields> </spatial:geometry> </model> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221204-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221204-fail-01-01.xml 2019-12-19 18:37:07 UTC (rev 26230) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221204-fail-01-01.xml 2019-12-19 20:44:29 UTC (rev 26231) @@ -55,7 +55,7 @@ </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - ... [truncated message content] |
From: <luc...@us...> - 2019-12-19 18:37:09
|
Revision: 26230 http://sourceforge.net/p/sbml/code/26230 Author: luciansmith Date: 2019-12-19 18:37:07 +0000 (Thu, 19 Dec 2019) Log Message: ----------- Add support and tests for spatial rule 21950. Also fix wording and spacing here and there. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueAnalyticVolumeOrdinalsCheck.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueAnalyticVolumeOrdinalsCheck.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221950-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221950-pass-00-01.xml Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-19 01:25:00 UTC (rev 26229) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-19 18:37:07 UTC (rev 26230) @@ -1551,7 +1551,7 @@ "The 'ordinal' attribute should be unique.", LIBSBML_CAT_GENERAL_CONSISTENCY, LIBSBML_SEV_WARNING, - "No <analyticVolume? should have a 'spatial:ordinal' attribute with the same value as a different <analyticVolume>.", + "No <analyticVolume> should have a 'spatial:ordinal' attribute with the same value as a different <analyticVolume>.", { "L3V1 Spatial V1 Section" } }, @@ -3815,7 +3815,7 @@ "The <spatialPoints> entries in 'float' must be single precision.", LIBSBML_CAT_GENERAL_CONSISTENCY, LIBSBML_SEV_ERROR, - "If the 'spatial:dataType' attribute of a <spatialPoints> has the value 'float', none of the uncompressed entries in the ArrayData child of the <spatialPoints> may have a value outside of the range of an IEEE 754-1985 single-precision floating point value (approximately +/-3.4028235e38, and +/-1.17549e?38).", + "If the 'spatial:dataType' attribute of a <spatialPoints> has the value 'float', none of the uncompressed entries in the ArrayData child of the <spatialPoints> may have a value outside of the range of an IEEE 754-1985 single-precision floating point value (approximately +/-3.4028235e38, and +/-1.17549e-38).", { "L3V1 Spatial V1 Section" } }, Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueAnalyticVolumeOrdinalsCheck.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueAnalyticVolumeOrdinalsCheck.cpp (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueAnalyticVolumeOrdinalsCheck.cpp 2019-12-19 18:37:07 UTC (rev 26230) @@ -0,0 +1,106 @@ +/** +* @cond doxygenLibsbmlInternal +* +* @file SpatialUniqueAnalyticVolumeOrdinalsCheck.cpp +* @brief Ensure that spatial compartment mappings' unit sizes sum to one. +* @author Sarah Keating, Lucian Smith +* +* <!-------------------------------------------------------------------------- +* This file is part of libSBML. Please visit http://sbml.org for more +* information about SBML, and the latest version of libSBML. +* +* Copyright (C) 2019 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. University of Heidelberg, Heidelberg, Germany +* +* Copyright (C) 2013-2018 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK +* 3. University of Heidelberg, Heidelberg, Germany +* +* Copyright (C) 2009-2013 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK +* +* Copyright (C) 2006-2008 by the California Institute of Technology, +* Pasadena, CA, USA +* +* Copyright (C) 2002-2005 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. Japan Science and Technology Agency, Japan +* +* This library is free software; you can redistribute it and/or modify it +* under the terms of the GNU Lesser General Public License as published by +* the Free Software Foundation. A copy of the license agreement is provided +* in the file named "LICENSE.txt" included with this software distribution +* and also available online as http://sbml.org/software/libsbml/license.html +* ---------------------------------------------------------------------- -->*/ + +#include "SpatialUniqueAnalyticVolumeOrdinalsCheck.h" +#include <sbml/packages/spatial/sbml/AnalyticGeometry.h> +#include <sbml/packages/spatial/sbml/AnalyticVolume.h> + +#include <set> +#include <map> + +/** @cond doxygenIgnored */ +using namespace std; +/** @endcond */ + +LIBSBML_CPP_NAMESPACE_BEGIN +#ifdef __cplusplus + + +/* +* Creates a new Constraint with the given constraint id. +*/ +SpatialUniqueAnalyticVolumeOrdinalsCheck::SpatialUniqueAnalyticVolumeOrdinalsCheck(unsigned int id, SpatialValidator & v): + TConstraint<AnalyticGeometry>(id, v) +{ +} + +/* +* Destroys this Constraint. +*/ +SpatialUniqueAnalyticVolumeOrdinalsCheck::~SpatialUniqueAnalyticVolumeOrdinalsCheck () +{ +} + + +/* +* Checks that all ids on the following Model objects are unique: +* event assignments and assignment rules. +*/ +void +SpatialUniqueAnalyticVolumeOrdinalsCheck::check_ (const Model& m, const AnalyticGeometry& object) +{ + set<int> ordinals; + for (unsigned long c = 0; c < object.getNumAnalyticVolumes(); c++) + { + const AnalyticVolume* av = object.getAnalyticVolume(c); + if (!av->isSetOrdinal()) { + continue; + } + int ordinal = av->getOrdinal(); + if (ordinals.find(ordinal) != ordinals.end()) + { + stringstream ss_msg; + ss_msg << "An <analyticVolume>"; + if (av->isSetId()) + { + ss_msg << " with the id '" << av->getId() << "'"; + } + ss_msg << " has an 'ordinal' value of '" << ordinal; + ss_msg << "', which was already used by a different <analyticVolume>."; + msg = ss_msg.str(); + logFailure(m); + } + ordinals.insert(ordinal); + } +} + + +#endif /* __cplusplus */ + +LIBSBML_CPP_NAMESPACE_END +/** @endcond */ Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueAnalyticVolumeOrdinalsCheck.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueAnalyticVolumeOrdinalsCheck.h (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueAnalyticVolumeOrdinalsCheck.h 2019-12-19 18:37:07 UTC (rev 26230) @@ -0,0 +1,69 @@ +/** +* @cond doxygenLibsbmlInternal +* +* @file SpatialUniqueAnalyticVolumeOrdinalsCheck.h +* @brief Ensure that spatial compartment mappings' unit sizes sum to one. +* @author Sarah Keating, Lucian Smith +* +* <!-------------------------------------------------------------------------- +* This file is part of libSBML. Please visit http://sbml.org for more +* information about SBML, and the latest version of libSBML. +* +* Copyright (C) 2019 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. University of Heidelberg, Heidelberg, Germany +* +* Copyright (C) 2013-2018 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK +* 3. University of Heidelberg, Heidelberg, Germany +* +* Copyright 2011-2012 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK +* +* This library is free software; you can redistribute it and/or modify it +* under the terms of the GNU Lesser General Public License as published by +* the Free Software Foundation. A copy of the license agreement is provided +* in the file named "LICENSE.txt" included with this software distribution +* and also available online as http://sbml.org/software/libsbml/license.html +* ---------------------------------------------------------------------- -->*/ + +#ifndef SpatialUniqueAnalyticVolumeOrdinalsCheck_h +#define SpatialUniqueAnalyticVolumeOrdinalsCheck_h + + +#ifdef __cplusplus + +#include <sbml/validator/VConstraint.h> +#include <sbml/packages/spatial/validator/SpatialValidator.h> + +LIBSBML_CPP_NAMESPACE_BEGIN + +class AnalyticGeometry; + +class SpatialUniqueAnalyticVolumeOrdinalsCheck: public TConstraint<AnalyticGeometry> +{ +public: + + /** + * Creates a new Constraint with the given constraint id. + */ + SpatialUniqueAnalyticVolumeOrdinalsCheck (unsigned int id, SpatialValidator& v); + + /** + * Destroys this Constraint. + */ + virtual ~SpatialUniqueAnalyticVolumeOrdinalsCheck (); + + +protected: + + virtual void check_ (const Model& m, const AnalyticGeometry& object); +}; + +LIBSBML_CPP_NAMESPACE_END + +#endif /* __cplusplus */ +#endif /* SpatialUniqueAnalyticVolumeOrdinalsCheck_h */ +/** @endcond */ Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.cpp 2019-12-19 01:25:00 UTC (rev 26229) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.cpp 2019-12-19 18:37:07 UTC (rev 26230) @@ -84,12 +84,12 @@ if (ordinals.find(ordinal) != ordinals.end()) { stringstream ss_msg; - ss_msg << "A <csgObject> "; + ss_msg << "A <csgObject>"; if (csgo->isSetId()) { - ss_msg << " with the id '" << csgo->getId() << "' "; + ss_msg << " with the id '" << csgo->getId() << "'"; } - ss_msg << "has an 'ordinal' value of '" << ordinal << "', which was already used by a different <csgObject>."; + ss_msg << " has an 'ordinal' value of '" << ordinal << "', which was already used by a different <csgObject>."; msg = ss_msg.str(); logFailure(m); } Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.cpp 2019-12-19 01:25:00 UTC (rev 26229) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.cpp 2019-12-19 18:37:07 UTC (rev 26230) @@ -84,12 +84,12 @@ if (ordinals.find(ordinal) != ordinals.end()) { stringstream ss_msg; - ss_msg << "An <ordinalMapping> "; + ss_msg << "An <ordinalMapping>"; if (om->isSetId()) { - ss_msg << " with the id '" << om->getId() << "' "; + ss_msg << " with the id '" << om->getId() << "'"; } - ss_msg << "has a 'geometryDefinition' value of '" << om->getGeometryDefinition(); + ss_msg << " has a 'geometryDefinition' value of '" << om->getGeometryDefinition(); ss_msg << "' and an 'ordinal' value of '" << ordinal; ss_msg << "', which was already used by a different <ordinalMapping>."; msg = ss_msg.str(); Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-19 01:25:00 UTC (rev 26229) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-19 18:37:07 UTC (rev 26230) @@ -46,16 +46,17 @@ #include <sbml/packages/spatial/common/SpatialExtensionTypes.h> #include <sbml/packages/spatial/sbml/Geometry.h> #include <sbml/packages/spatial/validator/SpatialCompartmentMappingUnitSizesCheck.h> +#include <sbml/packages/spatial/validator/SpatialOrdinalMappingGeometryDefinitionCheck.h> +#include <sbml/packages/spatial/validator/SpatialSampledVolumeRangeOverlapCheck.h> +#include <sbml/packages/spatial/validator/SpatialSampledVolumeValueNotInRangeCheck.h> #include <sbml/packages/spatial/validator/SpatialSpatialSymbolReferenceUniqueRefCheck.h> -#include <sbml/packages/spatial/validator/SpatialUniqueDiffusionCoefficientsCheck.h> #include <sbml/packages/spatial/validator/SpatialUniqueAdvectionCoefficientsCheck.h> +#include <sbml/packages/spatial/validator/SpatialUniqueAnalyticVolumeOrdinalsCheck.h> #include <sbml/packages/spatial/validator/SpatialUniqueBoundaryConditionsCheck.h> #include <sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.h> +#include <sbml/packages/spatial/validator/SpatialUniqueDiffusionCoefficientsCheck.h> #include <sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.h> -#include <sbml/packages/spatial/validator/SpatialOrdinalMappingGeometryDefinitionCheck.h> #include <sbml/packages/spatial/validator/SpatialUniqueSampledVolumeValueCheck.h> -#include <sbml/packages/spatial/validator/SpatialSampledVolumeValueNotInRangeCheck.h> -#include <sbml/packages/spatial/validator/SpatialSampledVolumeRangeOverlapCheck.h> #include <sbml/Species.h> #endif /* AddingConstraintsToValidator */ @@ -68,6 +69,7 @@ EXTERN_CONSTRAINT(ErrorEnumValue, SpatialSpatialSymbolReferenceUniqueRefCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueDiffusionCoefficientsCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueAdvectionCoefficientsCheck); +EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueAnalyticVolumeOrdinalsCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueBoundaryConditionsCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueCSGObjectOrdinalsCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialOrdinalMappingGeometryDefinitionCheck); Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-19 01:25:00 UTC (rev 26229) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-19 18:37:07 UTC (rev 26230) @@ -42,6 +42,7 @@ #include "sbml/packages/spatial/validator/SpatialSpatialSymbolReferenceUniqueRefCheck.h" #include "sbml/packages/spatial/validator/SpatialUniqueDiffusionCoefficientsCheck.h" #include "sbml/packages/spatial/validator/SpatialUniqueAdvectionCoefficientsCheck.h" +#include "sbml/packages/spatial/validator/SpatialUniqueAnalyticVolumeOrdinalsCheck.h" #include "sbml/packages/spatial/validator/SpatialUniqueBoundaryConditionsCheck.h" #include "sbml/packages/spatial/validator/SpatialUniqueSampledVolumeValueCheck.h" #include "sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.h" @@ -132,6 +133,7 @@ addConstraint(new SpatialUniqueCSGObjectOrdinalsCheck(SpatialCSGObjectOrdinalShouldBeUnique, *this)); addConstraint(new SpatialUniqueOrdinalMappingOrdinalsCheck(SpatialOrdinalMappingOrdinalShouldBeUnique, *this)); addConstraint(new SpatialOrdinalMappingGeometryDefinitionCheck(SpatialOrdinalMappingGeometryDefinitionMustBeGeometryDefinition, *this)); +addConstraint(new SpatialUniqueAnalyticVolumeOrdinalsCheck(SpatialAnalyticVolumeOrdinalShouldBeUnique, *this)); /** @endcond */ Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221950-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221950-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221950-fail-01-01.xml 2019-12-19 18:37:07 UTC (rev 26230) @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:listOfAnalyticVolumes> + <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> + <math xmlns="http://www.w3.org/1998/Math/MathML"/> + </spatial:analyticVolume> + <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_2" spatial:ordinal="0"> + <math xmlns="http://www.w3.org/1998/Math/MathML"/> + </spatial:analyticVolume> + </spatial:listOfAnalyticVolumes> + </spatial:analyticGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221950-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221950-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221950-pass-00-01.xml 2019-12-19 18:37:07 UTC (rev 26230) @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:listOfAnalyticVolumes> + <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> + <math xmlns="http://www.w3.org/1998/Math/MathML"/> + </spatial:analyticVolume> + <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_2" spatial:ordinal="1"> + <math xmlns="http://www.w3.org/1998/Math/MathML"/> + </spatial:analyticVolume> + </spatial:listOfAnalyticVolumes> + </spatial:analyticGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + |
From: <luc...@us...> - 2019-12-19 01:25:04
|
Revision: 26229 http://sourceforge.net/p/sbml/code/26229 Author: luciansmith Date: 2019-12-19 01:25:00 +0000 (Thu, 19 Dec 2019) Log Message: ----------- Add support and tests for spatial rule 22904. Also fix 87 models (!) that were quietly failing this before. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-08.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-09.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-10.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221203-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221204-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221204-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223304-pass-00-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223350-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223350-fail-02-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223350-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223450-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223450-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223450-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223450-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223451-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223451-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223451-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223451-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223452-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223452-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223452-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223452-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223454-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223454-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223504-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223504-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223551-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223551-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223551-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223551-pass-00-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223604-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223604-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-08.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-09.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-10.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-11.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-12.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-13.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-14.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-15.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-16.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-17.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-01-18.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-02-19.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-02-20.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-fail-02-21.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-pass-00-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223651-pass-00-03.xml Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialOrdinalMappingGeometryDefinitionCheck.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialOrdinalMappingGeometryDefinitionCheck.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223904-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223904-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223904-pass-00-01.xml Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialOrdinalMappingGeometryDefinitionCheck.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialOrdinalMappingGeometryDefinitionCheck.cpp (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialOrdinalMappingGeometryDefinitionCheck.cpp 2019-12-19 01:25:00 UTC (rev 26229) @@ -0,0 +1,103 @@ +/** +* @cond doxygenLibsbmlInternal +* +* @file SpatialOrdinalMappingGeometryDefinitionCheck.cpp +* @brief Ensure that spatial compartment mappings' unit sizes sum to one. +* @author Sarah Keating, Lucian Smith +* +* <!-------------------------------------------------------------------------- +* This file is part of libSBML. Please visit http://sbml.org for more +* information about SBML, and the latest version of libSBML. +* +* Copyright (C) 2019 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. University of Heidelberg, Heidelberg, Germany +* +* Copyright (C) 2013-2018 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK +* 3. University of Heidelberg, Heidelberg, Germany +* +* Copyright (C) 2009-2013 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK +* +* Copyright (C) 2006-2008 by the California Institute of Technology, +* Pasadena, CA, USA +* +* Copyright (C) 2002-2005 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. Japan Science and Technology Agency, Japan +* +* This library is free software; you can redistribute it and/or modify it +* under the terms of the GNU Lesser General Public License as published by +* the Free Software Foundation. A copy of the license agreement is provided +* in the file named "LICENSE.txt" included with this software distribution +* and also available online as http://sbml.org/software/libsbml/license.html +* ---------------------------------------------------------------------- -->*/ + +#include "SpatialOrdinalMappingGeometryDefinitionCheck.h" +#include <sbml/packages/spatial/sbml/MixedGeometry.h> + +#include <set> +#include <map> + +/** @cond doxygenIgnored */ +using namespace std; +/** @endcond */ + +LIBSBML_CPP_NAMESPACE_BEGIN +#ifdef __cplusplus + + +/* +* Creates a new Constraint with the given constraint id. +*/ +SpatialOrdinalMappingGeometryDefinitionCheck::SpatialOrdinalMappingGeometryDefinitionCheck(unsigned int id, SpatialValidator & v): + TConstraint<MixedGeometry>(id, v) +{ +} + +/* +* Destroys this Constraint. +*/ +SpatialOrdinalMappingGeometryDefinitionCheck::~SpatialOrdinalMappingGeometryDefinitionCheck () +{ +} + + +/* +* Checks that all ids on the following Model objects are unique: +* event assignments and assignment rules. +*/ +void +SpatialOrdinalMappingGeometryDefinitionCheck::check_ (const Model& m, const MixedGeometry& object) +{ + for (unsigned long c = 0; c < object.getNumOrdinalMappings(); c++) + { + const OrdinalMapping* om = object.getOrdinalMapping(c); + if (!om->isSetGeometryDefinition()) { + continue; + } + string gdef = om->getGeometryDefinition(); + if (object.getGeometryDefinition(gdef) == NULL) + { + stringstream ss_msg; + ss_msg << "An <ordinalMapping> "; + if (om->isSetId()) + { + ss_msg << " with the id '" << om->getId() << "' "; + } + ss_msg << "has a 'geometryDefinition' value of '" << om->getGeometryDefinition(); + ss_msg << "', but no such geometry definition is present in its parent <mixedGeometry>."; + msg = ss_msg.str(); + logFailure(m); + } + } +} + + +#endif /* __cplusplus */ + +LIBSBML_CPP_NAMESPACE_END +/** @endcond */ Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialOrdinalMappingGeometryDefinitionCheck.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialOrdinalMappingGeometryDefinitionCheck.h (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialOrdinalMappingGeometryDefinitionCheck.h 2019-12-19 01:25:00 UTC (rev 26229) @@ -0,0 +1,69 @@ +/** +* @cond doxygenLibsbmlInternal +* +* @file SpatialOrdinalMappingGeometryDefinitionCheck.h +* @brief Ensure that spatial compartment mappings' unit sizes sum to one. +* @author Sarah Keating, Lucian Smith +* +* <!-------------------------------------------------------------------------- +* This file is part of libSBML. Please visit http://sbml.org for more +* information about SBML, and the latest version of libSBML. +* +* Copyright (C) 2019 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. University of Heidelberg, Heidelberg, Germany +* +* Copyright (C) 2013-2018 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK +* 3. University of Heidelberg, Heidelberg, Germany +* +* Copyright 2011-2012 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK +* +* This library is free software; you can redistribute it and/or modify it +* under the terms of the GNU Lesser General Public License as published by +* the Free Software Foundation. A copy of the license agreement is provided +* in the file named "LICENSE.txt" included with this software distribution +* and also available online as http://sbml.org/software/libsbml/license.html +* ---------------------------------------------------------------------- -->*/ + +#ifndef SpatialOrdinalMappingGeometryDefinitionCheck_h +#define SpatialOrdinalMappingGeometryDefinitionCheck_h + + +#ifdef __cplusplus + +#include <sbml/validator/VConstraint.h> +#include <sbml/packages/spatial/validator/SpatialValidator.h> + +LIBSBML_CPP_NAMESPACE_BEGIN + +class MixedGeometry; + +class SpatialOrdinalMappingGeometryDefinitionCheck: public TConstraint<MixedGeometry> +{ +public: + + /** + * Creates a new Constraint with the given constraint id. + */ + SpatialOrdinalMappingGeometryDefinitionCheck (unsigned int id, SpatialValidator& v); + + /** + * Destroys this Constraint. + */ + virtual ~SpatialOrdinalMappingGeometryDefinitionCheck (); + + +protected: + + virtual void check_ (const Model& m, const MixedGeometry& object); +}; + +LIBSBML_CPP_NAMESPACE_END + +#endif /* __cplusplus */ +#endif /* SpatialOrdinalMappingGeometryDefinitionCheck_h */ +/** @endcond */ Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-19 01:25:00 UTC (rev 26229) @@ -52,6 +52,7 @@ #include <sbml/packages/spatial/validator/SpatialUniqueBoundaryConditionsCheck.h> #include <sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.h> #include <sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.h> +#include <sbml/packages/spatial/validator/SpatialOrdinalMappingGeometryDefinitionCheck.h> #include <sbml/packages/spatial/validator/SpatialUniqueSampledVolumeValueCheck.h> #include <sbml/packages/spatial/validator/SpatialSampledVolumeValueNotInRangeCheck.h> #include <sbml/packages/spatial/validator/SpatialSampledVolumeRangeOverlapCheck.h> @@ -69,6 +70,7 @@ EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueAdvectionCoefficientsCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueBoundaryConditionsCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueCSGObjectOrdinalsCheck); +EXTERN_CONSTRAINT(ErrorEnumValue, SpatialOrdinalMappingGeometryDefinitionCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueOrdinalMappingOrdinalsCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueSampledVolumeValueCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialSampledVolumeValueNotInRangeCheck); Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-19 01:25:00 UTC (rev 26229) @@ -45,6 +45,7 @@ #include "sbml/packages/spatial/validator/SpatialUniqueBoundaryConditionsCheck.h" #include "sbml/packages/spatial/validator/SpatialUniqueSampledVolumeValueCheck.h" #include "sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.h" +#include "sbml/packages/spatial/validator/SpatialOrdinalMappingGeometryDefinitionCheck.h" #include "sbml/packages/spatial/validator/SpatialSampledVolumeValueNotInRangeCheck.h" #include "sbml/packages/spatial/validator/SpatialSampledVolumeRangeOverlapCheck.h" #include "sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.h" @@ -130,6 +131,7 @@ addConstraint(new SpatialSampledVolumeRangeOverlapCheck(SpatialSampledVolumeRangesCantOverlap, *this)); addConstraint(new SpatialUniqueCSGObjectOrdinalsCheck(SpatialCSGObjectOrdinalShouldBeUnique, *this)); addConstraint(new SpatialUniqueOrdinalMappingOrdinalsCheck(SpatialOrdinalMappingOrdinalShouldBeUnique, *this)); +addConstraint(new SpatialOrdinalMappingGeometryDefinitionCheck(SpatialOrdinalMappingGeometryDefinitionMustBeGeometryDefinition, *this)); /** @endcond */ Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-fail-01-01.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-fail-01-01.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-pass-00-01.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220301-pass-00-01.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-01.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-01.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-02.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-02.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-03.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-03.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-04.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-04.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-04.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-05.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-05.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-05.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-06.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-06.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-06.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-07.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-07.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-07.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-08.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-08.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-08.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-09.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-09.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-09.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-10.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-10.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-fail-01-10.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-01.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-01.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-02.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-02.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-03.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-03.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-04.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-04.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1220501-pass-00-04.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-fail-01-01.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-fail-01-01.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-01.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-01.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-02.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-02.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-03.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221201-pass-00-03.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-01.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-01.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -48,11 +48,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="3" spatial:numSamples2="1" spatial:numSamples3="1" spatial:samplesLength="3"/> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-02.xml 2019-12-19 00:48:24 UTC (rev 26228) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1221202-pass-00-02.xml 2019-12-19 01:25:00 UTC (rev 26229) @@ -49,11 +49,11 @@ <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="0" spatial:polygonType="triangle"/> </spatial:listOfParametricObjects> </spatial:parametricGeometry> - <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> - <spatial:listOfOrdinalMappings> - <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_4" spatial:ordinal="0"/> - </spatial:listOfOrdinalMappings> - </spatial:mixedGeometry> + + + + + </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor"... [truncated message content] |
From: <luc...@us...> - 2019-12-19 00:48:26
|
Revision: 26228 http://sourceforge.net/p/sbml/code/26228 Author: luciansmith Date: 2019-12-19 00:48:24 +0000 (Thu, 19 Dec 2019) Log Message: ----------- Add support and tests for spatial rule 22950. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223950-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223950-pass-00-01.xml Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.cpp (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.cpp 2019-12-19 00:48:24 UTC (rev 26228) @@ -0,0 +1,106 @@ +/** +* @cond doxygenLibsbmlInternal +* +* @file SpatialUniqueOrdinalMappingOrdinalsCheck.cpp +* @brief Ensure that spatial compartment mappings' unit sizes sum to one. +* @author Sarah Keating, Lucian Smith +* +* <!-------------------------------------------------------------------------- +* This file is part of libSBML. Please visit http://sbml.org for more +* information about SBML, and the latest version of libSBML. +* +* Copyright (C) 2019 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. University of Heidelberg, Heidelberg, Germany +* +* Copyright (C) 2013-2018 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK +* 3. University of Heidelberg, Heidelberg, Germany +* +* Copyright (C) 2009-2013 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK +* +* Copyright (C) 2006-2008 by the California Institute of Technology, +* Pasadena, CA, USA +* +* Copyright (C) 2002-2005 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. Japan Science and Technology Agency, Japan +* +* This library is free software; you can redistribute it and/or modify it +* under the terms of the GNU Lesser General Public License as published by +* the Free Software Foundation. A copy of the license agreement is provided +* in the file named "LICENSE.txt" included with this software distribution +* and also available online as http://sbml.org/software/libsbml/license.html +* ---------------------------------------------------------------------- -->*/ + +#include "SpatialUniqueOrdinalMappingOrdinalsCheck.h" +#include <sbml/packages/spatial/sbml/MixedGeometry.h> + +#include <set> +#include <map> + +/** @cond doxygenIgnored */ +using namespace std; +/** @endcond */ + +LIBSBML_CPP_NAMESPACE_BEGIN +#ifdef __cplusplus + + +/* +* Creates a new Constraint with the given constraint id. +*/ +SpatialUniqueOrdinalMappingOrdinalsCheck::SpatialUniqueOrdinalMappingOrdinalsCheck(unsigned int id, SpatialValidator & v): + TConstraint<MixedGeometry>(id, v) +{ +} + +/* +* Destroys this Constraint. +*/ +SpatialUniqueOrdinalMappingOrdinalsCheck::~SpatialUniqueOrdinalMappingOrdinalsCheck () +{ +} + + +/* +* Checks that all ids on the following Model objects are unique: +* event assignments and assignment rules. +*/ +void +SpatialUniqueOrdinalMappingOrdinalsCheck::check_ (const Model& m, const MixedGeometry& object) +{ + set<int> ordinals; + for (unsigned long c = 0; c < object.getNumOrdinalMappings(); c++) + { + const OrdinalMapping* om = object.getOrdinalMapping(c); + if (!om->isSetOrdinal()) { + continue; + } + int ordinal = om->getOrdinal(); + if (ordinals.find(ordinal) != ordinals.end()) + { + stringstream ss_msg; + ss_msg << "An <ordinalMapping> "; + if (om->isSetId()) + { + ss_msg << " with the id '" << om->getId() << "' "; + } + ss_msg << "has a 'geometryDefinition' value of '" << om->getGeometryDefinition(); + ss_msg << "' and an 'ordinal' value of '" << ordinal; + ss_msg << "', which was already used by a different <ordinalMapping>."; + msg = ss_msg.str(); + logFailure(m); + } + ordinals.insert(ordinal); + } +} + + +#endif /* __cplusplus */ + +LIBSBML_CPP_NAMESPACE_END +/** @endcond */ Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.h (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.h 2019-12-19 00:48:24 UTC (rev 26228) @@ -0,0 +1,69 @@ +/** +* @cond doxygenLibsbmlInternal +* +* @file SpatialUniqueOrdinalMappingOrdinalsCheck.h +* @brief Ensure that spatial compartment mappings' unit sizes sum to one. +* @author Sarah Keating, Lucian Smith +* +* <!-------------------------------------------------------------------------- +* This file is part of libSBML. Please visit http://sbml.org for more +* information about SBML, and the latest version of libSBML. +* +* Copyright (C) 2019 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. University of Heidelberg, Heidelberg, Germany +* +* Copyright (C) 2013-2018 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK +* 3. University of Heidelberg, Heidelberg, Germany +* +* Copyright 2011-2012 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK +* +* This library is free software; you can redistribute it and/or modify it +* under the terms of the GNU Lesser General Public License as published by +* the Free Software Foundation. A copy of the license agreement is provided +* in the file named "LICENSE.txt" included with this software distribution +* and also available online as http://sbml.org/software/libsbml/license.html +* ---------------------------------------------------------------------- -->*/ + +#ifndef SpatialUniqueOrdinalMappingOrdinalsCheck_h +#define SpatialUniqueOrdinalMappingOrdinalsCheck_h + + +#ifdef __cplusplus + +#include <sbml/validator/VConstraint.h> +#include <sbml/packages/spatial/validator/SpatialValidator.h> + +LIBSBML_CPP_NAMESPACE_BEGIN + +class MixedGeometry; + +class SpatialUniqueOrdinalMappingOrdinalsCheck: public TConstraint<MixedGeometry> +{ +public: + + /** + * Creates a new Constraint with the given constraint id. + */ + SpatialUniqueOrdinalMappingOrdinalsCheck (unsigned int id, SpatialValidator& v); + + /** + * Destroys this Constraint. + */ + virtual ~SpatialUniqueOrdinalMappingOrdinalsCheck (); + + +protected: + + virtual void check_ (const Model& m, const MixedGeometry& object); +}; + +LIBSBML_CPP_NAMESPACE_END + +#endif /* __cplusplus */ +#endif /* SpatialUniqueOrdinalMappingOrdinalsCheck_h */ +/** @endcond */ Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-19 00:02:23 UTC (rev 26227) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-19 00:48:24 UTC (rev 26228) @@ -51,6 +51,7 @@ #include <sbml/packages/spatial/validator/SpatialUniqueAdvectionCoefficientsCheck.h> #include <sbml/packages/spatial/validator/SpatialUniqueBoundaryConditionsCheck.h> #include <sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.h> +#include <sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.h> #include <sbml/packages/spatial/validator/SpatialUniqueSampledVolumeValueCheck.h> #include <sbml/packages/spatial/validator/SpatialSampledVolumeValueNotInRangeCheck.h> #include <sbml/packages/spatial/validator/SpatialSampledVolumeRangeOverlapCheck.h> @@ -68,6 +69,7 @@ EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueAdvectionCoefficientsCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueBoundaryConditionsCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueCSGObjectOrdinalsCheck); +EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueOrdinalMappingOrdinalsCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueSampledVolumeValueCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialSampledVolumeValueNotInRangeCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialSampledVolumeRangeOverlapCheck); Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-19 00:02:23 UTC (rev 26227) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-19 00:48:24 UTC (rev 26228) @@ -44,6 +44,7 @@ #include "sbml/packages/spatial/validator/SpatialUniqueAdvectionCoefficientsCheck.h" #include "sbml/packages/spatial/validator/SpatialUniqueBoundaryConditionsCheck.h" #include "sbml/packages/spatial/validator/SpatialUniqueSampledVolumeValueCheck.h" +#include "sbml/packages/spatial/validator/SpatialUniqueOrdinalMappingOrdinalsCheck.h" #include "sbml/packages/spatial/validator/SpatialSampledVolumeValueNotInRangeCheck.h" #include "sbml/packages/spatial/validator/SpatialSampledVolumeRangeOverlapCheck.h" #include "sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.h" @@ -128,6 +129,7 @@ addConstraint(new SpatialSampledVolumeValueNotInRangeCheck(SpatialSampledVolumeValuesNotInOtherRange, *this)); addConstraint(new SpatialSampledVolumeRangeOverlapCheck(SpatialSampledVolumeRangesCantOverlap, *this)); addConstraint(new SpatialUniqueCSGObjectOrdinalsCheck(SpatialCSGObjectOrdinalShouldBeUnique, *this)); +addConstraint(new SpatialUniqueOrdinalMappingOrdinalsCheck(SpatialOrdinalMappingOrdinalShouldBeUnique, *this)); /** @endcond */ Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223950-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223950-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223950-fail-01-01.xml 2019-12-19 00:48:24 UTC (rev 26228) @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> + <spatial:listOfGeometryDefinitions> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:listOfAnalyticVolumes> + <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> + <math xmlns="http://www.w3.org/1998/Math/MathML"/> + </spatial:analyticVolume> + </spatial:listOfAnalyticVolumes> + </spatial:analyticGeometry> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:listOfSampledVolumes> + <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:maxValue="0" spatial:minValue="0"/> + </spatial:listOfSampledVolumes> + </spatial:sampledFieldGeometry> + </spatial:listOfGeometryDefinitions> + <spatial:listOfOrdinalMappings> + <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_1" spatial:ordinal="0"/> + <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_2" spatial:ordinal="0"/> + </spatial:listOfOrdinalMappings> + </spatial:mixedGeometry> + </spatial:listOfGeometryDefinitions> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + </spatial:listOfSampledFields> + </spatial:geometry> + <listOfCompartments> + <compartment constant="false" id="compartment"> + <spatial:compartmentMapping spatial:domainType="domainType_1" spatial:id="compartmentMapping_1" spatial:unitSize="1"/> + </compartment> + </listOfCompartments> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223950-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223950-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1223950-pass-00-01.xml 2019-12-19 00:48:24 UTC (rev 26228) @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:mixedGeometry spatial:id="geometryDefinition_4" spatial:isActive="false"> + <spatial:listOfGeometryDefinitions> + <spatial:analyticGeometry spatial:id="geometryDefinition_1" spatial:isActive="false"> + <spatial:listOfAnalyticVolumes> + <spatial:analyticVolume spatial:domainType="domainType_1" spatial:functionType="layered" spatial:id="analyticVolume_1" spatial:ordinal="0"> + <math xmlns="http://www.w3.org/1998/Math/MathML"/> + </spatial:analyticVolume> + </spatial:listOfAnalyticVolumes> + </spatial:analyticGeometry> + <spatial:sampledFieldGeometry spatial:id="geometryDefinition_2" spatial:isActive="false" spatial:sampledField="sampledField_1"> + <spatial:listOfSampledVolumes> + <spatial:sampledVolume spatial:domainType="domainType_1" spatial:id="sampledVolume_1" spatial:maxValue="0" spatial:minValue="0"/> + </spatial:listOfSampledVolumes> + </spatial:sampledFieldGeometry> + </spatial:listOfGeometryDefinitions> + <spatial:listOfOrdinalMappings> + <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_1" spatial:ordinal="0"/> + <spatial:ordinalMapping spatial:geometryDefinition="geometryDefinition_2" spatial:ordinal="1"/> + </spatial:listOfOrdinalMappings> + </spatial:mixedGeometry> + </spatial:listOfGeometryDefinitions> + <spatial:listOfSampledFields> + <spatial:sampledField spatial:compression="uncompressed" spatial:dataType="double" spatial:id="sampledField_1" spatial:interpolationType="nearestNeighbor" spatial:numSamples1="0" spatial:numSamples2="0" spatial:numSamples3="0" spatial:samplesLength="3"/> + </spatial:listOfSampledFields> + </spatial:geometry> + <listOfCompartments> + <compartment constant="false" id="compartment"> + <spatial:compartmentMapping spatial:domainType="domainType_1" spatial:id="compartmentMapping_1" spatial:unitSize="1"/> + </compartment> + </listOfCompartments> + </model> +</sbml> + |
From: <luc...@us...> - 2019-12-19 00:02:24
|
Revision: 26227 http://sourceforge.net/p/sbml/code/26227 Author: luciansmith Date: 2019-12-19 00:02:23 +0000 (Thu, 19 Dec 2019) Log Message: ----------- Add support and tests for spatial rule 22350. Also fix wording; add text for rule 23950. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222350-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222350-pass-00-01.xml Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-18 22:19:19 UTC (rev 26226) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-19 00:02:23 UTC (rev 26227) @@ -374,6 +374,7 @@ , SpatialOrdinalMappingAllowedAttributes = 1223903 , SpatialOrdinalMappingGeometryDefinitionMustBeGeometryDefinition= 1223904 , SpatialOrdinalMappingOrdinalMustBeInteger = 1223905 +, SpatialOrdinalMappingOrdinalShouldBeUnique = 1223950 , SpatialSpatialPointsAllowedCoreAttributes = 1224001 , SpatialSpatialPointsAllowedCoreElements = 1224002 , SpatialSpatialPointsAllowedAttributes = 1224003 Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-18 22:19:19 UTC (rev 26226) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-19 00:02:23 UTC (rev 26227) @@ -3087,7 +3087,7 @@ // 1223551 { SpatialAdvectionCoefficientsMustBeUnique, - "The 'coordinate' attribute must be CoordinateKindEnum.", + "The 'coordinate' and 'variable' attributes must be unique.", LIBSBML_CAT_GENERAL_CONSISTENCY, LIBSBML_SEV_ERROR, "No two <advectionCoefficient> elements in the same <model> may have the same values for the attributes 'species:variable' and 'species:coordinate'. Only one advection coefficient may be defined per species per axis.", @@ -3655,7 +3655,7 @@ LIBSBML_SEV_ERROR, "The value of the attribute 'spatial:geometryDefinition' of an " "<ordinalMapping> object must be the identifier of an existing " - "<geometryDefinition> object defined in the enclosing <model> object.", + "<geometryDefinition> object defined in parent <mixedGeometry> object.", { "L3V1 Spatial V1 Section" } }, @@ -3671,6 +3671,16 @@ } }, + // 1223950 + { SpatialOrdinalMappingOrdinalShouldBeUnique, + "The 'ordinal' attribute should be unique.", + LIBSBML_CAT_GENERAL_CONSISTENCY, + LIBSBML_SEV_WARNING, + "No <ordinalMapping> should have a 'spatial:ordinal' attribute with the same value as a different <ordinalMapping> child of the same <mixedGeometry>.", + { "L3V1 Spatial V1 Section" + } + }, + // 1224001 { SpatialSpatialPointsAllowedCoreAttributes, "Core attributes allowed on <spatialPoints>.", Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.cpp (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.cpp 2019-12-19 00:02:23 UTC (rev 26227) @@ -0,0 +1,104 @@ +/** +* @cond doxygenLibsbmlInternal +* +* @file SpatialUniqueCSGObjectOrdinalsCheck.cpp +* @brief Ensure that spatial compartment mappings' unit sizes sum to one. +* @author Sarah Keating, Lucian Smith +* +* <!-------------------------------------------------------------------------- +* This file is part of libSBML. Please visit http://sbml.org for more +* information about SBML, and the latest version of libSBML. +* +* Copyright (C) 2019 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. University of Heidelberg, Heidelberg, Germany +* +* Copyright (C) 2013-2018 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK +* 3. University of Heidelberg, Heidelberg, Germany +* +* Copyright (C) 2009-2013 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK +* +* Copyright (C) 2006-2008 by the California Institute of Technology, +* Pasadena, CA, USA +* +* Copyright (C) 2002-2005 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. Japan Science and Technology Agency, Japan +* +* This library is free software; you can redistribute it and/or modify it +* under the terms of the GNU Lesser General Public License as published by +* the Free Software Foundation. A copy of the license agreement is provided +* in the file named "LICENSE.txt" included with this software distribution +* and also available online as http://sbml.org/software/libsbml/license.html +* ---------------------------------------------------------------------- -->*/ + +#include "SpatialUniqueCSGObjectOrdinalsCheck.h" +#include <sbml/packages/spatial/sbml/CSGeometry.h> + +#include <set> +#include <map> + +/** @cond doxygenIgnored */ +using namespace std; +/** @endcond */ + +LIBSBML_CPP_NAMESPACE_BEGIN +#ifdef __cplusplus + + +/* +* Creates a new Constraint with the given constraint id. +*/ +SpatialUniqueCSGObjectOrdinalsCheck::SpatialUniqueCSGObjectOrdinalsCheck(unsigned int id, SpatialValidator & v): + TConstraint<CSGeometry>(id, v) +{ +} + +/* +* Destroys this Constraint. +*/ +SpatialUniqueCSGObjectOrdinalsCheck::~SpatialUniqueCSGObjectOrdinalsCheck () +{ +} + + +/* +* Checks that all ids on the following Model objects are unique: +* event assignments and assignment rules. +*/ +void +SpatialUniqueCSGObjectOrdinalsCheck::check_ (const Model& m, const CSGeometry& object) +{ + set<int> ordinals; + for (unsigned long c = 0; c < object.getNumCSGObjects(); c++) + { + const CSGObject* csgo = object.getCSGObject(c); + if (!csgo->isSetOrdinal()) { + continue; + } + int ordinal = csgo->getOrdinal(); + if (ordinals.find(ordinal) != ordinals.end()) + { + stringstream ss_msg; + ss_msg << "A <csgObject> "; + if (csgo->isSetId()) + { + ss_msg << " with the id '" << csgo->getId() << "' "; + } + ss_msg << "has an 'ordinal' value of '" << ordinal << "', which was already used by a different <csgObject>."; + msg = ss_msg.str(); + logFailure(m); + } + ordinals.insert(ordinal); + } +} + + +#endif /* __cplusplus */ + +LIBSBML_CPP_NAMESPACE_END +/** @endcond */ Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.h (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.h 2019-12-19 00:02:23 UTC (rev 26227) @@ -0,0 +1,69 @@ +/** +* @cond doxygenLibsbmlInternal +* +* @file SpatialUniqueCSGObjectOrdinalsCheck.h +* @brief Ensure that spatial compartment mappings' unit sizes sum to one. +* @author Sarah Keating, Lucian Smith +* +* <!-------------------------------------------------------------------------- +* This file is part of libSBML. Please visit http://sbml.org for more +* information about SBML, and the latest version of libSBML. +* +* Copyright (C) 2019 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. University of Heidelberg, Heidelberg, Germany +* +* Copyright (C) 2013-2018 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK +* 3. University of Heidelberg, Heidelberg, Germany +* +* Copyright 2011-2012 jointly by the following organizations: +* 1. California Institute of Technology, Pasadena, CA, USA +* 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK +* +* This library is free software; you can redistribute it and/or modify it +* under the terms of the GNU Lesser General Public License as published by +* the Free Software Foundation. A copy of the license agreement is provided +* in the file named "LICENSE.txt" included with this software distribution +* and also available online as http://sbml.org/software/libsbml/license.html +* ---------------------------------------------------------------------- -->*/ + +#ifndef SpatialUniqueCSGObjectOrdinalsCheck_h +#define SpatialUniqueCSGObjectOrdinalsCheck_h + + +#ifdef __cplusplus + +#include <sbml/validator/VConstraint.h> +#include <sbml/packages/spatial/validator/SpatialValidator.h> + +LIBSBML_CPP_NAMESPACE_BEGIN + +class CSGeometry; + +class SpatialUniqueCSGObjectOrdinalsCheck: public TConstraint<CSGeometry> +{ +public: + + /** + * Creates a new Constraint with the given constraint id. + */ + SpatialUniqueCSGObjectOrdinalsCheck (unsigned int id, SpatialValidator& v); + + /** + * Destroys this Constraint. + */ + virtual ~SpatialUniqueCSGObjectOrdinalsCheck (); + + +protected: + + virtual void check_ (const Model& m, const CSGeometry& object); +}; + +LIBSBML_CPP_NAMESPACE_END + +#endif /* __cplusplus */ +#endif /* SpatialUniqueCSGObjectOrdinalsCheck_h */ +/** @endcond */ Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-18 22:19:19 UTC (rev 26226) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-19 00:02:23 UTC (rev 26227) @@ -50,6 +50,7 @@ #include <sbml/packages/spatial/validator/SpatialUniqueDiffusionCoefficientsCheck.h> #include <sbml/packages/spatial/validator/SpatialUniqueAdvectionCoefficientsCheck.h> #include <sbml/packages/spatial/validator/SpatialUniqueBoundaryConditionsCheck.h> +#include <sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.h> #include <sbml/packages/spatial/validator/SpatialUniqueSampledVolumeValueCheck.h> #include <sbml/packages/spatial/validator/SpatialSampledVolumeValueNotInRangeCheck.h> #include <sbml/packages/spatial/validator/SpatialSampledVolumeRangeOverlapCheck.h> @@ -66,6 +67,7 @@ EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueDiffusionCoefficientsCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueAdvectionCoefficientsCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueBoundaryConditionsCheck); +EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueCSGObjectOrdinalsCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialUniqueSampledVolumeValueCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialSampledVolumeValueNotInRangeCheck); EXTERN_CONSTRAINT(ErrorEnumValue, SpatialSampledVolumeRangeOverlapCheck); @@ -2293,6 +2295,17 @@ END_CONSTRAINT +// 1223950 +START_CONSTRAINT(SpatialOrdinalMappingOrdinalShouldBeUnique, OrdinalMapping, om) +{ + bool fail = false; + pre(om.isSetOrdinal()); + + inv(fail == false); +} +END_CONSTRAINT + + // 122__ //START_CONSTRAINT(Spatial, Class, class) //{ Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-18 22:19:19 UTC (rev 26226) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-19 00:02:23 UTC (rev 26227) @@ -46,6 +46,7 @@ #include "sbml/packages/spatial/validator/SpatialUniqueSampledVolumeValueCheck.h" #include "sbml/packages/spatial/validator/SpatialSampledVolumeValueNotInRangeCheck.h" #include "sbml/packages/spatial/validator/SpatialSampledVolumeRangeOverlapCheck.h" +#include "sbml/packages/spatial/validator/SpatialUniqueCSGObjectOrdinalsCheck.h" //Constraints declared in SpatialConsistencyConstraints.cpp addConstraint(new VConstraintDomainSpatialDomainDomainTypeMustBeDomainType(*this)); @@ -126,6 +127,7 @@ addConstraint(new SpatialUniqueSampledVolumeValueCheck(SpatialSampledVolumeValuesMustDiffer, *this)); addConstraint(new SpatialSampledVolumeValueNotInRangeCheck(SpatialSampledVolumeValuesNotInOtherRange, *this)); addConstraint(new SpatialSampledVolumeRangeOverlapCheck(SpatialSampledVolumeRangesCantOverlap, *this)); +addConstraint(new SpatialUniqueCSGObjectOrdinalsCheck(SpatialCSGObjectOrdinalShouldBeUnique, *this)); /** @endcond */ Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222350-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222350-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222350-fail-01-01.xml 2019-12-19 00:02:23 UTC (rev 26227) @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:csGeometry spatial:id="csGeometryDefinition_1" spatial:isActive="true"> + <spatial:listOfCSGObjects> + <spatial:csgObject spatial:domainType="domainType_1" spatial:id="csgObject_1" spatial:ordinal="0"> + <spatial:csgTranslation spatial:translateX="0.2" spatial:translateY="0.3" spatial:translateZ="0.4"> + <spatial:csgPrimitive spatial:id="sphere1" spatial:primitiveType="sphere"/> + </spatial:csgTranslation> + </spatial:csgObject> + <spatial:csgObject spatial:domainType="domainType_1" spatial:id="csgObject_1" spatial:ordinal="0"> + <spatial:csgPrimitive spatial:id="cube1" spatial:primitiveType="cube"/> + </spatial:csgObject> + </spatial:listOfCSGObjects> + </spatial:csGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222350-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222350-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222350-pass-00-01.xml 2019-12-19 00:02:23 UTC (rev 26227) @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:csGeometry spatial:id="csGeometryDefinition_1" spatial:isActive="true"> + <spatial:listOfCSGObjects> + <spatial:csgObject spatial:domainType="domainType_1" spatial:id="csgObject_1" spatial:ordinal="0"> + <spatial:csgTranslation spatial:translateX="0.2" spatial:translateY="0.3" spatial:translateZ="0.4"> + <spatial:csgPrimitive spatial:id="sphere1" spatial:primitiveType="sphere"/> + </spatial:csgTranslation> + </spatial:csgObject> + <spatial:csgObject spatial:domainType="domainType_1" spatial:id="csgObject_1" spatial:ordinal="1"> + <spatial:csgPrimitive spatial:id="cube1" spatial:primitiveType="cube"/> + </spatial:csgObject> + </spatial:listOfCSGObjects> + </spatial:csGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + |
From: <luc...@us...> - 2019-12-18 22:19:21
|
Revision: 26226 http://sourceforge.net/p/sbml/code/26226 Author: luciansmith Date: 2019-12-18 22:19:19 +0000 (Wed, 18 Dec 2019) Log Message: ----------- Comment out proposed spatial rule 22158. I can imagine scenarios where it wasn't valid anyway, and it's quite computationally expensive to check. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-18 21:51:41 UTC (rev 26225) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-18 22:19:19 UTC (rev 26226) @@ -215,7 +215,7 @@ , SpatialParametricObjectIndexesMustBePoints = 1222155 , SpatialParametricObjectFacesSameChirality = 1222156 , SpatialParametricObjectMaxTwoPointBorders = 1222157 -, SpatialParametricObjectMaxOnePointJunctions = 1222158 +//, SpatialParametricObjectMaxOnePointJunctions = 1222158 , SpatialCSGeometryAllowedCoreAttributes = 1222201 , SpatialCSGeometryAllowedCoreElements = 1222202 , SpatialCSGeometryAllowedElements = 1222203 Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-18 21:51:41 UTC (rev 26225) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-18 22:19:19 UTC (rev 26226) @@ -1832,15 +1832,15 @@ } }, - // 1222158 - { SpatialParametricObjectMaxOnePointJunctions, - "No three faces in a <parametricObject> may share more than one junction.", - LIBSBML_CAT_GENERAL_CONSISTENCY, - LIBSBML_SEV_ERROR, - "No three faces defined in the ArrayData child of a <parametricObject> may share more than one coordinate.", - { "L3V1 Spatial V1 Section" - } - }, + //// 1222158 + //{ SpatialParametricObjectMaxOnePointJunctions, + // "No three faces in a <parametricObject> may share more than one junction.", + // LIBSBML_CAT_GENERAL_CONSISTENCY, + // LIBSBML_SEV_ERROR, + // "No three faces defined in the ArrayData child of a <parametricObject> may share more than one coordinate.", + // { "L3V1 Spatial V1 Section" + // } + //}, // 1222201 { SpatialCSGeometryAllowedCoreAttributes, |
From: <luc...@us...> - 2019-12-18 21:51:43
|
Revision: 26225 http://sourceforge.net/p/sbml/code/26225 Author: luciansmith Date: 2019-12-18 21:51:41 +0000 (Wed, 18 Dec 2019) Log Message: ----------- Add support and tests for spatial rule 22157. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-pass-00-02.xml Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-18 21:20:20 UTC (rev 26224) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-18 21:51:41 UTC (rev 26225) @@ -2210,6 +2210,89 @@ END_CONSTRAINT +// 122157 +START_CONSTRAINT(SpatialParametricObjectMaxTwoPointBorders, ParametricObject, po) +{ + bool fail = false; + pre(po.isSetPolygonType()); + int groupsize; + size_t len = po.getNumPointIndexEntries(); + if (po.getPolygonType() == SPATIAL_POLYGONKIND_QUADRILATERAL) + { + groupsize = 4; + pre(len % 4 == 0); + } + else + { + groupsize = 3; + pre(len % 3 == 0); + } + set<set<int> > triples; + + int* data = new int[len]; + po.getPointIndex(data); + for (size_t d = 0; d < len; d += groupsize) + { + vector<set<int> > localtriples; + set<int> triple; + triple.insert(data[d]); + triple.insert(data[d + 1]); + triple.insert(data[d + 2]); + localtriples.push_back(triple); + if (groupsize == 4) + { + triple.clear(); + triple.insert(data[d + 1]); + triple.insert(data[d + 2]); + triple.insert(data[d + 3]); + localtriples.push_back(triple); + + triple.clear(); + triple.insert(data[d]); + triple.insert(data[d + 2]); + triple.insert(data[d + 3]); + localtriples.push_back(triple); + + triple.clear(); + triple.insert(data[d]); + triple.insert(data[d + 1]); + triple.insert(data[d + 3]); + localtriples.push_back(triple); + } + + for (size_t lt = 0; lt < localtriples.size(); lt++) + { + triple = localtriples[lt]; + if (triples.find(triple) != triples.end()) + { + stringstream ss_msg; + ss_msg << "A <parametricObject>"; + if (po.isSetId()) + { + ss_msg << " with id '" << po.getId() << "'"; + } + ss_msg << " has three points ( "; + for (set<int>::iterator ti = triple.begin(); ti != triple.end(); ti++) + { + ss_msg << *ti; + ss_msg << " "; + } + ss_msg << ") in two different faces."; + msg = ss_msg.str(); + fail = true; + break; + } + triples.insert(triple); + } + if (fail) { + break; + } + } + inv(fail == false); +} +END_CONSTRAINT + + // 122__ //START_CONSTRAINT(Spatial, Class, class) //{ Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-18 21:20:20 UTC (rev 26224) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-18 21:51:41 UTC (rev 26225) @@ -115,6 +115,7 @@ addConstraint(new VConstraintParametricObjectSpatialParametricObjectFourPointsForQuadrilaterals(*this)); addConstraint(new VConstraintParametricObjectSpatialParametricObjectIndexesMustBePoints(*this)); addConstraint(new VConstraintParametricObjectSpatialParametricObjectFacesSameChirality(*this)); +addConstraint(new VConstraintParametricObjectSpatialParametricObjectMaxTwoPointBorders(*this)); //Constraints defined in their own class ('global constraints') addConstraint(new SpatialCompartmentMappingUnitSizesCheck(SpatialCompartmentMappingUnitSizesSum, *this)); Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-01.xml 2019-12-18 21:51:41 UTC (rev 26225) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="27" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0, 0 1 1, 1 0 1, 1 1 0, 1 1 1, 0.5 0.5 0.5</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="24" spatial:polygonType="quadrilateral">0 1 2 3; 0 4 5 1; 1 5 6 2; 2 6 7 3; 3 7 4 0; 3 8 7 6</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-02.xml 2019-12-18 21:51:41 UTC (rev 26225) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="27" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0, 0 1 1, 1 0 1, 1 1 0, 1 1 1, 0.5 0.5 0.5</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="24" spatial:polygonType="quadrilateral">0 1 2 3; 0 4 5 1; 1 5 6 2; 2 6 7 3; 3 7 4 0; 8 7 6 3</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-03.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-03.xml 2019-12-18 21:51:41 UTC (rev 26225) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="27" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0, 0 1 1, 1 0 1, 1 1 0, 1 1 1, 0.5 0.5 0.5</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="24" spatial:polygonType="quadrilateral">0 1 2 3; 0 4 5 1; 1 5 6 2; 2 6 7 3; 3 7 4 0; 7 6 3 8</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-04.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-04.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-04.xml 2019-12-18 21:51:41 UTC (rev 26225) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="27" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0, 0 1 1, 1 0 1, 1 1 0, 1 1 1, 0.5 0.5 0.5</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="24" spatial:polygonType="quadrilateral">0 1 2 3; 0 4 5 1; 1 5 6 2; 2 6 7 3; 3 7 4 0; 6 3 8 7</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-05.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-05.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-05.xml 2019-12-18 21:51:41 UTC (rev 26225) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="12" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="6" spatial:polygonType="triangle">0 1 2; 2 1 0</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-06.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-06.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-06.xml 2019-12-18 21:51:41 UTC (rev 26225) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="12" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="6" spatial:polygonType="triangle">0 1 2; 1 0 2</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-07.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-07.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-fail-01-07.xml 2019-12-18 21:51:41 UTC (rev 26225) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="12" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="6" spatial:polygonType="triangle">0 1 2; 0 2 1</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-pass-00-01.xml 2019-12-18 21:51:41 UTC (rev 26225) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="24" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0, 0 1 1, 1 0 1, 1 1 0, 1 1 1</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="24" spatial:polygonType="quadrilateral">0 1 2 3; 0 4 5 1; 1 5 6 2; 2 6 7 3; 3 7 4 0; 7 6 5 4</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-pass-00-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-pass-00-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222157-pass-00-02.xml 2019-12-18 21:51:41 UTC (rev 26225) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="12" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="12" spatial:polygonType="triangle">0 1 2; 2 1 3; 3 1 0; 3 0 2</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + |
From: <luc...@us...> - 2019-12-18 21:20:21
|
Revision: 26224 http://sourceforge.net/p/sbml/code/26224 Author: luciansmith Date: 2019-12-18 21:20:20 +0000 (Wed, 18 Dec 2019) Log Message: ----------- Add support and tests for spatial rule 22156. Also fix earlier tests so they don't fail it. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-fail-03-04.xml Added Paths: ----------- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-02.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-03.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-04.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-05.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-06.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-07.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-pass-00-01.xml branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-pass-00-02.xml Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-18 19:18:02 UTC (rev 26223) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-18 21:20:20 UTC (rev 26224) @@ -213,6 +213,9 @@ , SpatialParametricObjectFourPointsForQuadrilaterals = 1222153 , SpatialParametricObjectIndexesMustBePositiveIntegers = 1222154 , SpatialParametricObjectIndexesMustBePoints = 1222155 +, SpatialParametricObjectFacesSameChirality = 1222156 +, SpatialParametricObjectMaxTwoPointBorders = 1222157 +, SpatialParametricObjectMaxOnePointJunctions = 1222158 , SpatialCSGeometryAllowedCoreAttributes = 1222201 , SpatialCSGeometryAllowedCoreElements = 1222202 , SpatialCSGeometryAllowedElements = 1222203 Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-18 19:18:02 UTC (rev 26223) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-18 21:20:20 UTC (rev 26224) @@ -1812,6 +1812,36 @@ } }, + // 1222156 + { SpatialParametricObjectFacesSameChirality, + "Every face in a <parametricObject> should be the same chirality.", + LIBSBML_CAT_GENERAL_CONSISTENCY, + LIBSBML_SEV_WARNING, + "Every face defined in the ArrayData child of a <parametricObject> should be consistently defined in a clockwise or counter-clockwise fashion across all faces in the same <parametricObject>.", + { "L3V1 Spatial V1 Section" + } + }, + + // 1222157 + { SpatialParametricObjectMaxTwoPointBorders, + "No two faces in a <parametricObject> may share more than one border.", + LIBSBML_CAT_GENERAL_CONSISTENCY, + LIBSBML_SEV_ERROR, + "No two faces defined in the ArrayData child of a <parametricObject> may share more than two coordinates.", + { "L3V1 Spatial V1 Section" + } + }, + + // 1222158 + { SpatialParametricObjectMaxOnePointJunctions, + "No three faces in a <parametricObject> may share more than one junction.", + LIBSBML_CAT_GENERAL_CONSISTENCY, + LIBSBML_SEV_ERROR, + "No three faces defined in the ArrayData child of a <parametricObject> may share more than one coordinate.", + { "L3V1 Spatial V1 Section" + } + }, + // 1222201 { SpatialCSGeometryAllowedCoreAttributes, "Core attributes allowed on <csGeometry>.", Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-18 19:18:02 UTC (rev 26223) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-18 21:20:20 UTC (rev 26224) @@ -2159,6 +2159,57 @@ END_CONSTRAINT +// 122156 +START_CONSTRAINT(SpatialParametricObjectFacesSameChirality, ParametricObject, po) +{ + bool fail = false; + pre(po.isSetPolygonType()); + int groupsize; + size_t len = po.getNumPointIndexEntries(); + if (po.getPolygonType() == SPATIAL_POLYGONKIND_QUADRILATERAL) + { + groupsize = 4; + pre(len % 4 == 0); + } + else + { + groupsize = 3; + pre(len % 3 == 0); + } + set<pair<int, int> > borders; + + int* data = new int[len]; + po.getPointIndex(data); + for (size_t d = 0; d < len; d++) + { + pair<int, int> border; + if ((d + 1) % groupsize == 0) { + border = make_pair(data[d], data[d - groupsize + 1]); + } + else { + border = make_pair(data[d], data[d + 1]); + } + if (borders.find(border) != borders.end()) + { + stringstream ss_msg; + ss_msg << "A <parametricObject>"; + if (po.isSetId()) + { + ss_msg << " with id '" << po.getId() << "'"; + } + ss_msg << " has a shared border (" << border.first; + ss_msg << ", " << border.second << ") in the same order in two shapes. This means that one of them is clockwise and the other is counter-clockwise."; + msg = ss_msg.str(); + fail = true; + break; + } + borders.insert(border); + } + inv(fail == false); +} +END_CONSTRAINT + + // 122__ //START_CONSTRAINT(Spatial, Class, class) //{ Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-18 19:18:02 UTC (rev 26223) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-18 21:20:20 UTC (rev 26224) @@ -114,6 +114,7 @@ addConstraint(new VConstraintParametricObjectSpatialParametricObjectThreePointsForTriangles(*this)); addConstraint(new VConstraintParametricObjectSpatialParametricObjectFourPointsForQuadrilaterals(*this)); addConstraint(new VConstraintParametricObjectSpatialParametricObjectIndexesMustBePoints(*this)); +addConstraint(new VConstraintParametricObjectSpatialParametricObjectFacesSameChirality(*this)); //Constraints defined in their own class ('global constraints') addConstraint(new SpatialCompartmentMappingUnitSizesCheck(SpatialCompartmentMappingUnitSizesSum, *this)); Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-fail-01-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-fail-01-03.xml 2019-12-18 19:18:02 UTC (rev 26223) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-fail-01-03.xml 2019-12-18 21:20:20 UTC (rev 26224) @@ -30,7 +30,7 @@ <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> <spatial:spatialPoints spatial:arrayDataLength="24" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0, 0 1 1, 1 0 1, 1 1 0, 1 1 1</spatial:spatialPoints> <spatial:listOfParametricObjects> - <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="24" spatial:polygonType="quadrilateral">0 1 2 3; 0 4 5 1; 1 5 0.6 2; 2 6 7 3; 3 7 4 0; 4 7 6 5</spatial:parametricObject> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="24" spatial:polygonType="quadrilateral">0 1 2 3; 0 4 5 1; 0.6 5 6 2; 2 6 7 3; 3 7 4 0; 4 7 6 5</spatial:parametricObject> </spatial:listOfParametricObjects> </spatial:parametricGeometry> </spatial:listOfGeometryDefinitions> Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-fail-03-04.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-fail-03-04.xml 2019-12-18 19:18:02 UTC (rev 26223) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222154-fail-03-04.xml 2019-12-18 21:20:20 UTC (rev 26224) @@ -30,7 +30,7 @@ <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> <spatial:spatialPoints spatial:arrayDataLength="24" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0, 0 1 1, 1 0 1, 1 1 0, 1 1 1</spatial:spatialPoints> <spatial:listOfParametricObjects> - <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="24" spatial:polygonType="quadrilateral">0 1 2 3; 0 4 5 1; 1 5 0.6 2; 2 6 7 3; 3 6.9 4 0; -0.001 7 6 5</spatial:parametricObject> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="24" spatial:polygonType="quadrilateral">0 1 2 3; 0 4 5 1; 0.6 5 6 2; 2 6 7 3; 3 6.9 4 -0.001; 7 6 5 4</spatial:parametricObject> </spatial:listOfParametricObjects> </spatial:parametricGeometry> </spatial:listOfGeometryDefinitions> Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-01.xml 2019-12-18 21:20:20 UTC (rev 26224) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="24" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0, 0 1 1, 1 0 1, 1 1 0, 1 1 1</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="24" spatial:polygonType="quadrilateral">0 1 2 3; 0 4 5 1; 2 6 5 1; 2 6 7 3; 3 7 4 0; 7 6 5 4</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-02.xml 2019-12-18 21:20:20 UTC (rev 26224) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="12" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="12" spatial:polygonType="triangle">0 1 2; 2 1 3; 0 1 3; 3 0 2</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-03.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-03.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-03.xml 2019-12-18 21:20:20 UTC (rev 26224) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="12" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="12" spatial:polygonType="triangle">0 1 2; 1 3 0; 2 1 3; 3 0 2</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-04.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-04.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-04.xml 2019-12-18 21:20:20 UTC (rev 26224) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="12" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="12" spatial:polygonType="triangle">0 1 2; 2 1 3; 3 0 1; 3 0 2</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-05.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-05.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-05.xml 2019-12-18 21:20:20 UTC (rev 26224) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="24" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0, 0 1 1, 1 0 1, 1 1 0, 1 1 1</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="24" spatial:polygonType="quadrilateral">0 1 2 3; 0 4 5 1; 6 5 1 2; 2 6 7 3; 3 7 4 0; 7 6 5 4</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-06.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-06.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-06.xml 2019-12-18 21:20:20 UTC (rev 26224) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="24" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0, 0 1 1, 1 0 1, 1 1 0, 1 1 1</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="24" spatial:polygonType="quadrilateral">0 1 2 3; 0 4 5 1; 5 1 2 6; 2 6 7 3; 3 7 4 0; 7 6 5 4</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-07.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-07.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-fail-01-07.xml 2019-12-18 21:20:20 UTC (rev 26224) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="24" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0, 0 1 1, 1 0 1, 1 1 0, 1 1 1</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="24" spatial:polygonType="quadrilateral">0 4 5 1; 1 2 6 5; 2 6 7 3; 3 7 4 0; 7 6 5 4; 0 1 2 3</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-pass-00-01.xml 2019-12-18 21:20:20 UTC (rev 26224) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="24" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0, 0 1 1, 1 0 1, 1 1 0, 1 1 1</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="24" spatial:polygonType="quadrilateral">0 1 2 3; 0 4 5 1; 1 5 6 2; 2 6 7 3; 3 7 4 0; 7 6 5 4</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + Added: branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-pass-00-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-pass-00-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222156-pass-00-02.xml 2019-12-18 21:20:20 UTC (rev 26224) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml level="3" spatial:required="true" version="1" xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:spatial="http://www.sbml.org/sbml/level3/version1/spatial/version1"> + <model> + <spatial:geometry spatial:coordinateSystem="cartesian" spatial:id="geometry_1"> + <spatial:listOfCoordinateComponents> + <spatial:coordinateComponent spatial:id="coordinateComponent_1" spatial:type="cartesianX" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_1" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_2" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_2" spatial:type="cartesianY" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_3" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_4" spatial:value="1"/> + </spatial:coordinateComponent> + <spatial:coordinateComponent spatial:id="coordinateComponent_3" spatial:type="cartesianZ" spatial:unit="dimensionless"> + <spatial:boundaryMin spatial:id="boundary_5" spatial:value="0"/> + <spatial:boundaryMax spatial:id="boundary_6" spatial:value="1"/> + </spatial:coordinateComponent> + </spatial:listOfCoordinateComponents> + <spatial:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="3"/> + </spatial:listOfDomainTypes> + <spatial:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="0" spatial:coord2="0" spatial:coord3="0"/> + </spatial:listOfInteriorPoints> + </spatial:domain> + </spatial:listOfDomains> + <spatial:listOfGeometryDefinitions> + <spatial:parametricGeometry spatial:id="geometryDefinition_3" spatial:isActive="true"> + <spatial:spatialPoints spatial:arrayDataLength="12" spatial:compression="uncompressed" spatial:dataType="double" spatial:id="spatialPoints_1">0 0 0, 0 1 0, 0 0 1, 1 0 0</spatial:spatialPoints> + <spatial:listOfParametricObjects> + <spatial:parametricObject spatial:compression="uncompressed" spatial:dataType="double" spatial:domainType="domainType_1" spatial:id="parametricObject_1" spatial:pointIndexLength="12" spatial:polygonType="triangle">0 1 2; 2 1 3; 3 1 0; 3 0 2</spatial:parametricObject> + </spatial:listOfParametricObjects> + </spatial:parametricGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + |
From: <luc...@us...> - 2019-12-18 19:18:03
|
Revision: 26223 http://sourceforge.net/p/sbml/code/26223 Author: luciansmith Date: 2019-12-18 19:18:02 +0000 (Wed, 18 Dec 2019) Log Message: ----------- Since the image is being sampled with 'sampledValue', the off-lattice points should be 'nearestNeighbor' to ensure uniform coverage. Modified Paths: -------------- branches/libsbml-experimental/src/sbml/packages/spatial/extension/test/test-data/ImageTest3.xml Modified: branches/libsbml-experimental/src/sbml/packages/spatial/extension/test/test-data/ImageTest3.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/extension/test/test-data/ImageTest3.xml 2019-12-18 19:11:13 UTC (rev 26222) +++ branches/libsbml-experimental/src/sbml/packages/spatial/extension/test/test-data/ImageTest3.xml 2019-12-18 19:18:02 UTC (rev 26223) @@ -252,7 +252,7 @@ </spatial:sampledFieldGeometry> </spatial:listOfGeometryDefinitions> <spatial:listOfSampledFields> - <spatial:sampledField spatial:samplesLength="3591" spatial:interpolationType="linear" spatial:id="img_20120725_161513" spatial:compression="deflated" spatial:dataType="uint8" spatial:numSamples1="57" spatial:numSamples2="63" spatial:numSamples3="1"> + <spatial:sampledField spatial:samplesLength="3591" spatial:interpolationType="nearestNeighbor" spatial:id="img_20120725_161513" spatial:compression="deflated" spatial:dataType="uint8" spatial:numSamples1="57" spatial:numSamples2="63" spatial:numSamples3="1"> 120 -100 -19 -105 75 14 -128 32 12 68 -47 -5 31 90 35 10 -58 80 62 15 41 -112 48 11 86 -68 -48 -23 52 16 -116 -95 -38 -104 82 -32 30 86 18 20 -72 -109 -84 4 -81 -61 1 120 -105 93 -18 49 2 -118 26 15 -92 30 113 87 -11 -63 -103 114 -92 -91 -22 119 21 -125 51 -59 -79 64 -7 94 -11 -78 91 -4 -58 -36 71 -57 22 -11 42 -83 10 20 7 -46 -51 87 24 76 113 -113 -71 1 64 -20 113 -59 -47 2 -20 16 7 61 17 123 -44 7 103 26 114 14 82 -113 -51 -70 -6 63 -120 61 118 -120 35 -109 116 107 17 -8 21 -2 -53 -103 3 63 -99 18 -53 </spatial:sampledField> </spatial:listOfSampledFields> |