From: <luc...@us...> - 2019-12-17 00:11:35
|
Revision: 26206 http://sourceforge.net/p/sbml/code/26206 Author: luciansmith Date: 2019-12-17 00:11:33 +0000 (Tue, 17 Dec 2019) Log Message: ----------- Add support and tests for spatial rules 22850-22854. 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/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 Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-16 23:17:21 UTC (rev 26205) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLError.h 2019-12-17 00:11:33 UTC (rev 26206) @@ -255,6 +255,10 @@ , SpatialCSGScaleScaleYMustBeDouble = 1222805 , SpatialCSGScaleScaleZMustBeDouble = 1222806 , SpatialCSGScaleAllowedElements = 1222850 +, SpatialCSGScaleScaleYRequiredIn2D = 1222851 +, SpatialCSGScaleScaleZRequiredIn3D = 1222852 +, SpatialCSGScaleNoScaleYIn1D = 1222853 +, SpatialCSGScaleNoScaleZIn2D = 1222854 , SpatialCSGHomogeneousTransformationAllowedCoreAttributes = 1222901 , SpatialCSGHomogeneousTransformationAllowedCoreElements = 1222902 , SpatialCSGHomogeneousTransformationAllowedElements = 1222903 Modified: branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-16 23:17:21 UTC (rev 26205) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/SpatialSBMLErrorTable.h 2019-12-17 00:11:33 UTC (rev 26206) @@ -2301,6 +2301,46 @@ } }, + // 1222751 + { SpatialCSGScaleScaleYRequiredIn2D, + "A <csgScale> must have 'scaleY' in 2D or 3D geometries.", + LIBSBML_CAT_GENERAL_CONSISTENCY, + LIBSBML_SEV_ERROR, + "The attribute 'spatial:scaleY' on a <csgScale> is required if the <geometry> of the model has a <coordinateComponent> child of type 'cartesianY'.", + { "L3V1 Spatial V1 Section" + } + }, + + // 1222752 + { SpatialCSGScaleScaleZRequiredIn3D, + "A <csgScale> must have 'scaleZ' in 3D geometries.", + LIBSBML_CAT_GENERAL_CONSISTENCY, + LIBSBML_SEV_ERROR, + "The attribute 'spatial:scaleZ' on a <csgScale> is required if the <geometry> of the model has a <coordinateComponent> child of type 'cartesianZ'.", + { "L3V1 Spatial V1 Section" + } + }, + + // 1222753 + { SpatialCSGScaleNoScaleYIn1D, + "A <csgScale> must not have 'scaleY' in 1D geometries.", + LIBSBML_CAT_GENERAL_CONSISTENCY, + LIBSBML_SEV_ERROR, + "The attribute 'spatial:scaleY' on a <csgScale> must not be defined if the <geometry> of the model has no <coordinateComponent> child of type 'cartesianY'.", + { "L3V1 Spatial V1 Section" + } + }, + + // 1222754 + { SpatialCSGScaleNoScaleZIn2D, + "A <csgScale> must not have 'scaleZ' in 1D or 2D geometries.", + LIBSBML_CAT_GENERAL_CONSISTENCY, + LIBSBML_SEV_ERROR, + "The attribute 'spatial:scaleZ' on a <csgScale> must not be defined if the <geometry> of the model has no <coordinateComponent> child of type 'cartesian'.", + { "L3V1 Spatial V1 Section" + } + }, + // 1222901 { SpatialCSGHomogeneousTransformationAllowedCoreAttributes, "Core attributes allowed on <csgHomogeneousTransformation>.", 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-16 23:17:21 UTC (rev 26205) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraints.cpp 2019-12-17 00:11:33 UTC (rev 26206) @@ -1665,7 +1665,7 @@ END_CONSTRAINT -// 1222651 +// 1222751 START_CONSTRAINT(SpatialCSGRotationRotateYRequiredIn2D, CSGRotation, rotation) { bool fail = false; @@ -1690,7 +1690,7 @@ END_CONSTRAINT -// 1222652 +// 1222752 START_CONSTRAINT(SpatialCSGRotationRotateZRequiredIn3D, CSGRotation, rotation) { bool fail = false; @@ -1715,7 +1715,7 @@ END_CONSTRAINT -// 1222653 +// 1222753 START_CONSTRAINT(SpatialCSGRotationNoRotateYIn1D, CSGRotation, rotation) { pre(rotation.isSetRotateY()); @@ -1736,7 +1736,7 @@ END_CONSTRAINT -// 1222654 +// 1222754 START_CONSTRAINT(SpatialCSGRotationNoRotateZIn2D, CSGRotation, rotation) { pre(rotation.isSetRotateZ()); @@ -1757,7 +1757,7 @@ END_CONSTRAINT -// 1222655 +// 1222755 START_CONSTRAINT(SpatialCSGRotationNoOriginIn3D, CSGRotation, rotation) { pre(rotation.isSetRotateX()); @@ -1781,6 +1781,98 @@ END_CONSTRAINT +// 1222851 +START_CONSTRAINT(SpatialCSGScaleScaleYRequiredIn2D, CSGScale, scale) +{ + bool fail = false; + pre(!scale.isSetScaleY()); + SpatialModelPlugin *plug = (SpatialModelPlugin*)(m.getPlugin("spatial")); + pre(plug != NULL); + pre(plug->isSetGeometry()); + const Geometry* geometry = plug->getGeometry(); + for (unsigned long cc = 0; cc < geometry->getNumCoordinateComponents(); cc++) { + if (geometry->getCoordinateComponent(cc)->getType() == SPATIAL_COORDINATEKIND_CARTESIAN_Y) { + msg = "A <csgTranslation>"; + if (scale.isSetId()) { + msg += " with the id '" + scale.getId() + "'"; + } + msg += " has no 'scaleY' value, but the <geometry> has a <coordinateComponent> child of type 'cartesianY'."; + fail = true; + break; + } + } + inv(fail == false); +} +END_CONSTRAINT + + +// 1222852 +START_CONSTRAINT(SpatialCSGScaleScaleZRequiredIn3D, CSGScale, scale) +{ + bool fail = false; + pre(!scale.isSetScaleZ()); + SpatialModelPlugin *plug = (SpatialModelPlugin*)(m.getPlugin("spatial")); + pre(plug != NULL); + pre(plug->isSetGeometry()); + const Geometry* geometry = plug->getGeometry(); + for (unsigned long cc = 0; cc < geometry->getNumCoordinateComponents(); cc++) { + if (geometry->getCoordinateComponent(cc)->getType() == SPATIAL_COORDINATEKIND_CARTESIAN_Z) { + msg = "A <csgTranslation>"; + if (scale.isSetId()) { + msg += " with the id '" + scale.getId() + "'"; + } + msg += " has no 'scaleZ' value, but the <geometry> has a <coordinateComponent> child of type 'cartesianZ'."; + fail = true; + break; + } + } + inv(fail == false); +} +END_CONSTRAINT + + +// 1222853 +START_CONSTRAINT(SpatialCSGScaleNoScaleYIn1D, CSGScale, scale) +{ + pre(scale.isSetScaleY()); + SpatialModelPlugin *plug = (SpatialModelPlugin*)(m.getPlugin("spatial")); + pre(plug != NULL); + pre(plug->isSetGeometry()); + const Geometry* geometry = plug->getGeometry(); + for (unsigned long cc = 0; cc < geometry->getNumCoordinateComponents(); cc++) { + pre(geometry->getCoordinateComponent(cc)->getType() != SPATIAL_COORDINATEKIND_CARTESIAN_Y); + } + msg = "A <csgTranslation>"; + if (scale.isSetId()) { + msg += " with the id '" + scale.getId() + "'"; + } + msg += " has a 'scaleY' value, but the <geometry> has no <coordinateComponent> child of type 'cartesianY'."; + inv(false); +} +END_CONSTRAINT + + +// 1222854 +START_CONSTRAINT(SpatialCSGScaleNoScaleZIn2D, CSGScale, scale) +{ + pre(scale.isSetScaleZ()); + SpatialModelPlugin *plug = (SpatialModelPlugin*)(m.getPlugin("spatial")); + pre(plug != NULL); + pre(plug->isSetGeometry()); + const Geometry* geometry = plug->getGeometry(); + for (unsigned long cc = 0; cc < geometry->getNumCoordinateComponents(); cc++) { + pre(geometry->getCoordinateComponent(cc)->getType() != SPATIAL_COORDINATEKIND_CARTESIAN_Z); + } + msg = "A <csgTranslation>"; + if (scale.isSetId()) { + msg += " with the id '" + scale.getId() + "'"; + } + msg += " has a 'scaleZ' value, but the <geometry> has no <coordinateComponent> child of type 'cartesianZ'."; + 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-16 23:17:21 UTC (rev 26205) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/constraints/SpatialConsistencyConstraintsDeclared.cxx 2019-12-17 00:11:33 UTC (rev 26206) @@ -99,6 +99,10 @@ addConstraint(new VConstraintCSGRotationSpatialCSGRotationNoRotateYIn1D(*this)); addConstraint(new VConstraintCSGRotationSpatialCSGRotationNoRotateZIn2D(*this)); addConstraint(new VConstraintCSGRotationSpatialCSGRotationNoOriginIn3D(*this)); +addConstraint(new VConstraintCSGScaleSpatialCSGScaleScaleYRequiredIn2D(*this)); +addConstraint(new VConstraintCSGScaleSpatialCSGScaleScaleZRequiredIn3D(*this)); +addConstraint(new VConstraintCSGScaleSpatialCSGScaleNoScaleYIn1D(*this)); +addConstraint(new VConstraintCSGScaleSpatialCSGScaleNoScaleZIn2D(*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/1222850-fail-01-01-10102.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222850-fail-01-01-10102.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222850-fail-01-01-10102.xml 2019-12-17 00:11:33 UTC (rev 26206) @@ -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:csGeometry spatial:id="csGeometryDefinition_1" spatial:isActive="true"> + <spatial:listOfCSGObjects> + <spatial:csgObject spatial:domainType="domainType_1" spatial:id="csgObject_1" spatial:ordinal="0"> + <spatial:csgScale spatial:scaleX="0.2" spatial:scaleY="0.3" spatial:scaleZ="0.4"> + <spatial:csgPrimitive spatial:id="sphere1" spatial:primitiveType="sphere"/> + <spatial:csgPrimitive spatial:id="sphere2" spatial:primitiveType="sphere"/> + </spatial:csgScale> + </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/1222850-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222850-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222850-pass-00-01.xml 2019-12-17 00:11:33 UTC (rev 26206) @@ -0,0 +1,43 @@ +<?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:csgScale spatial:scaleX="0.2" spatial:scaleY="0.3" spatial:scaleZ="0.4"> + <spatial:csgPrimitive spatial:id="sphere1" spatial:primitiveType="sphere"/> + </spatial:csgScale> + </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/1222851-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222851-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222851-fail-01-01.xml 2019-12-17 00:11:33 UTC (rev 26206) @@ -0,0 +1,43 @@ +<?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:csgScale spatial:scaleX="0.2" spatial:scaleZ="0.4"> + <spatial:csgPrimitive spatial:id="sphere1" spatial:primitiveType="sphere"/> + </spatial:csgScale> + </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/1222851-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222851-fail-01-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222851-fail-01-02.xml 2019-12-17 00:11:33 UTC (rev 26206) @@ -0,0 +1,39 @@ +<?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:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="2"/> + </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: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:csgScale spatial:scaleX="0.2"> + <spatial:csgPrimitive spatial:id="circle1" spatial:primitiveType="circle"/> + </spatial:csgScale> + </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/1222851-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222851-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222851-pass-00-01.xml 2019-12-17 00:11:33 UTC (rev 26206) @@ -0,0 +1,43 @@ +<?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:csgScale spatial:scaleX="0.2" spatial:scaleY="0.3" spatial:scaleZ="0.4"> + <spatial:csgPrimitive spatial:id="sphere1" spatial:primitiveType="sphere"/> + </spatial:csgScale> + </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/1222851-pass-00-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222851-pass-00-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222851-pass-00-02.xml 2019-12-17 00:11:33 UTC (rev 26206) @@ -0,0 +1,39 @@ +<?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:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="2"/> + </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: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:csgScale spatial:scaleX="0.2" spatial:scaleY="0.3"> + <spatial:csgPrimitive spatial:id="circle1" spatial:primitiveType="circle"/> + </spatial:csgScale> + </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/1222852-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222852-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222852-fail-01-01.xml 2019-12-17 00:11:33 UTC (rev 26206) @@ -0,0 +1,43 @@ +<?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:csgScale spatial:scaleX="0.2" spatial:scaleY="0.3"> + <spatial:csgPrimitive spatial:id="sphere1" spatial:primitiveType="sphere"/> + </spatial:csgScale> + </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/1222852-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222852-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222852-pass-00-01.xml 2019-12-17 00:11:33 UTC (rev 26206) @@ -0,0 +1,43 @@ +<?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:csgScale spatial:scaleX="0.2" spatial:scaleY="0.3" spatial:scaleZ="0.4"> + <spatial:csgPrimitive spatial:id="sphere1" spatial:primitiveType="sphere"/> + </spatial:csgScale> + </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/1222853-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222853-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222853-fail-01-01.xml 2019-12-17 00:11:33 UTC (rev 26206) @@ -0,0 +1,35 @@ +<?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:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="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:csgScale spatial:scaleX="0.2" spatial:scaleY="0.3"> + <spatial:csgSetOperator spatial:id="nothing" spatial:operationType="union"/> + </spatial:csgScale> + </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/1222853-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222853-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222853-pass-00-01.xml 2019-12-17 00:11:33 UTC (rev 26206) @@ -0,0 +1,35 @@ +<?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:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="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:csgScale spatial:scaleX="0.2"> + <spatial:csgSetOperator spatial:id="nothing" spatial:operationType="union"/> + </spatial:csgScale> + </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/1222854-fail-01-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222854-fail-01-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222854-fail-01-01.xml 2019-12-17 00:11:33 UTC (rev 26206) @@ -0,0 +1,35 @@ +<?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:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="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:csgScale spatial:scaleX="0.2" spatial:scaleZ="0.2"> + <spatial:csgSetOperator spatial:id="nothing" spatial:operationType="union"/> + </spatial:csgScale> + </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/1222854-fail-01-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222854-fail-01-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222854-fail-01-02.xml 2019-12-17 00:11:33 UTC (rev 26206) @@ -0,0 +1,39 @@ +<?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:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="2"/> + </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: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:csgScale spatial:scaleX="0.2" spatial:scaleY="0.3" spatial:scaleZ="0.4"> + <spatial:csgPrimitive spatial:id="circle1" spatial:primitiveType="circle"/> + </spatial:csgScale> + </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/1222854-pass-00-01.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222854-pass-00-01.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222854-pass-00-01.xml 2019-12-17 00:11:33 UTC (rev 26206) @@ -0,0 +1,35 @@ +<?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:listOfDomains> + <spatial:domain spatial:domainType="domainType_1" spatial:id="domain_1"> + <spatial:listOfInteriorPoints> + <spatial:interiorPoint spatial:coord1="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:csgScale spatial:scaleX="0.2"> + <spatial:csgSetOperator spatial:id="nothing" spatial:operationType="union"/> + </spatial:csgScale> + </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/1222854-pass-00-02.xml =================================================================== --- branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222854-pass-00-02.xml (rev 0) +++ branches/libsbml-experimental/src/sbml/packages/spatial/validator/test/test-data/general-constraints/1222854-pass-00-02.xml 2019-12-17 00:11:33 UTC (rev 26206) @@ -0,0 +1,39 @@ +<?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:listOfDomainTypes> + <spatial:domainType spatial:id="domainType_1" spatial:spatialDimensions="2"/> + </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: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:csgScale spatial:scaleX="0.2" spatial:scaleY="0.3"> + <spatial:csgPrimitive spatial:id="circle1" spatial:primitiveType="circle"/> + </spatial:csgScale> + </spatial:csgObject> + </spatial:listOfCSGObjects> + </spatial:csGeometry> + </spatial:listOfGeometryDefinitions> + </spatial:geometry> + </model> +</sbml> + |