From bed251eca50c44965f519b283dd160820212b67b Mon Sep 17 00:00:00 2001 From: mkuehbach Date: Mon, 13 Jan 2025 10:19:44 +0100 Subject: [PATCH 01/13] Added references and relaxed constraint that only NXquadric or NXoff_geometry can be used to define geometries as instances --- contributed_definitions/NXsolid_geometry.nxdl.xml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/contributed_definitions/NXsolid_geometry.nxdl.xml b/contributed_definitions/NXsolid_geometry.nxdl.xml index fb5751f268..c787cbf73a 100644 --- a/contributed_definitions/NXsolid_geometry.nxdl.xml +++ b/contributed_definitions/NXsolid_geometry.nxdl.xml @@ -30,7 +30,11 @@ xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd" > - the head node for constructively defined geometry + The head node for constructively defined geometry. + + * `S. Ghali `_ + * `D. H. Laidlaw `_ + + - The geometries defined, made up of instances of :ref:`NXquadric` and :ref:`NXoff_geometry`. + The geometries defined, made up of e.g. instances of :ref:`NXquadric`, :ref:`NXoff_geometry`, + or instances of other base classes that define geometries. From 1c0ff04c0016f588cf98e325b7f36423fec9b623 Mon Sep 17 00:00:00 2001 From: mkuehbach Date: Mon, 13 Jan 2025 10:27:57 +0100 Subject: [PATCH 02/13] Renamed parameters to parameter as typically field names should stick to singular --- contributed_definitions/NXquadric.nxdl.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contributed_definitions/NXquadric.nxdl.xml b/contributed_definitions/NXquadric.nxdl.xml index b7a07611c8..88fe88a4e6 100644 --- a/contributed_definitions/NXquadric.nxdl.xml +++ b/contributed_definitions/NXquadric.nxdl.xml @@ -29,9 +29,9 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd" > - definition of a quadric surface. + Definition of a quadric surface. From 2e82e6beec4246b21061746f6d4cd03f9fcf5565 Mon Sep 17 00:00:00 2001 From: mkuehbach Date: Mon, 13 Jan 2025 10:28:40 +0100 Subject: [PATCH 03/13] Promoted NXquadric to proper base class --- {contributed_definitions => base_classes}/NXquadric.nxdl.xml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {contributed_definitions => base_classes}/NXquadric.nxdl.xml (100%) diff --git a/contributed_definitions/NXquadric.nxdl.xml b/base_classes/NXquadric.nxdl.xml similarity index 100% rename from contributed_definitions/NXquadric.nxdl.xml rename to base_classes/NXquadric.nxdl.xml From d277fe516a8e42606c637848a6f3a4e6e1645614 Mon Sep 17 00:00:00 2001 From: mkuehbach Date: Mon, 13 Jan 2025 10:30:04 +0100 Subject: [PATCH 04/13] Promoted dependent base class to a proper base class --- .../NXsolid_geometry.nxdl.xml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {contributed_definitions => base_classes}/NXsolid_geometry.nxdl.xml (100%) diff --git a/contributed_definitions/NXsolid_geometry.nxdl.xml b/base_classes/NXsolid_geometry.nxdl.xml similarity index 100% rename from contributed_definitions/NXsolid_geometry.nxdl.xml rename to base_classes/NXsolid_geometry.nxdl.xml From ac1b09c55f2f7b5166cbf8020c25e2076a9076a7 Mon Sep 17 00:00:00 2001 From: mkuehbach Date: Mon, 13 Jan 2025 10:42:06 +0100 Subject: [PATCH 05/13] Relaxed constraints to allow also other geometries as instance data --- contributed_definitions/NXcsg.nxdl.xml | 27 ++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/contributed_definitions/NXcsg.nxdl.xml b/contributed_definitions/NXcsg.nxdl.xml index 941620273b..eab8459bc7 100644 --- a/contributed_definitions/NXcsg.nxdl.xml +++ b/contributed_definitions/NXcsg.nxdl.xml @@ -30,13 +30,13 @@ xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd" > - Constructive Solid Geometry base class, using :ref:`NXquadric` and :ref:`NXoff_geometry` + Constructive Solid Geometry base class One of the standard construction solid geometry set operations, - or if the CSG is a pointer to the geometry provided by an - :ref:`NXquadric` or an :ref:`NXoff_geometry`. Takes values: + or statement IS_QUADRIC or IS_MESH if the CSG is a pointer to an + instance of a geometry class. Takes values: @@ -53,8 +53,8 @@ minOccurs="0" maxOccurs="1"> - The first operand of constructive solid geometry - operation. Compulsory if 'operation' is UNION, INTERSECTION, + The first operand of constructive solid geometry operation. + Compulsory if 'operation' is UNION, INTERSECTION, DIFFERENCE or COMPLEMENT. @@ -64,8 +64,8 @@ minOccurs="0" maxOccurs="1"> - The second operand of constructive solid geometry - operation. Compulsory if 'operation' is UNION, INTERSECTION or + The second operand of constructive solid geometry operation. + Compulsory if 'operation' is UNION, INTERSECTION or DIFFERENCE. @@ -75,11 +75,14 @@ minOccurs="0" maxOccurs="1"> - Path to a field that is either an :ref:`NXquadric` (if - 'operation' = IS_QUADRIC) or an :ref:`NXoff_geometry` (if - 'operation' = IS_MESH) that defines the surface making up the - constructive solid geometry component. Compulsory if 'operation' - is IS_QUADRIC or IS_MESH. + Path to a field that is an instance of one of several possible geometry + classes: Specifically, :ref:`NXquadric` if 'operation' is IS_QUADRIC, + :ref:`NXoff_geometry`, or other primitive based base classes + if 'operation' is IS_MESH. + + The instance defines the surface making up the constructive solid + geometry component. This field is compulsory if 'operation' is + IS_QUADRIC or IS_MESH. From 858bb6971744d981c20bb8c1221cae13419a5060 Mon Sep 17 00:00:00 2001 From: mkuehbach Date: Mon, 13 Jan 2025 10:42:40 +0100 Subject: [PATCH 06/13] Promoted NXcsg to a proper base class --- {contributed_definitions => base_classes}/NXcsg.nxdl.xml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {contributed_definitions => base_classes}/NXcsg.nxdl.xml (100%) diff --git a/contributed_definitions/NXcsg.nxdl.xml b/base_classes/NXcsg.nxdl.xml similarity index 100% rename from contributed_definitions/NXcsg.nxdl.xml rename to base_classes/NXcsg.nxdl.xml From 6eadccc05613e5d4e5f93c29e4ad466e1274a2f0 Mon Sep 17 00:00:00 2001 From: mkuehbach Date: Mon, 13 Jan 2025 10:46:45 +0100 Subject: [PATCH 07/13] Linting --- .../NXsolid_geometry.nxdl.xml | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 contributed_definitions/NXsolid_geometry.nxdl.xml diff --git a/contributed_definitions/NXsolid_geometry.nxdl.xml b/contributed_definitions/NXsolid_geometry.nxdl.xml new file mode 100644 index 0000000000..913f29a2ee --- /dev/null +++ b/contributed_definitions/NXsolid_geometry.nxdl.xml @@ -0,0 +1,62 @@ + + + + + + The head node for constructively defined geometry. + + * `S. Ghali <https://doi.org/10.1007/978-1-84800-115-2>`_ + * `D. H. Laidlaw <https://doi.org/10.1145/15886.15904>`_ + + + + + Instances of :ref:`NXquadric` making up elements of the geometry. + + + + + Instances of :ref:`NXoff_geometry` making up elements of the geometry. + + + + + + The geometries defined, made up of e.g. instances of :ref:`NXquadric`, :ref:`NXoff_geometry`, + or instances of other base classes that define geometries. + + + From 60e2b16b058d08097c199c4ce262d450ed3a8bfb Mon Sep 17 00:00:00 2001 From: mkuehbach Date: Mon, 13 Jan 2025 10:57:30 +0100 Subject: [PATCH 08/13] Trying to figure out how to add urls properly --- contributed_definitions/NXsolid_geometry.nxdl.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contributed_definitions/NXsolid_geometry.nxdl.xml b/contributed_definitions/NXsolid_geometry.nxdl.xml index 913f29a2ee..154a9fe4ed 100644 --- a/contributed_definitions/NXsolid_geometry.nxdl.xml +++ b/contributed_definitions/NXsolid_geometry.nxdl.xml @@ -32,9 +32,9 @@ The head node for constructively defined geometry. - * `S. Ghali <https://doi.org/10.1007/978-1-84800-115-2>`_ - * `D. H. Laidlaw <https://doi.org/10.1145/15886.15904>`_ - + See https://doi.org/10.1007/978-1-84800-115-2 and https://doi.org/10.1145/15886.15904 + for an introduction into the topic of modeling shapes with constructively + solid geometry (CSG). Date: Mon, 13 Jan 2025 11:03:35 +0100 Subject: [PATCH 09/13] Fixed test --- base_classes/NXsolid_geometry.nxdl.xml | 6 ++++-- contributed_definitions/NXsolid_geometry.nxdl.xml | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/base_classes/NXsolid_geometry.nxdl.xml b/base_classes/NXsolid_geometry.nxdl.xml index c787cbf73a..d0cb5bea9b 100644 --- a/base_classes/NXsolid_geometry.nxdl.xml +++ b/base_classes/NXsolid_geometry.nxdl.xml @@ -32,9 +32,11 @@ The head node for constructively defined geometry. - * `S. Ghali `_ - * `D. H. Laidlaw `_ + * `S. Ghebi <https://doi.org/10.1007/978-1-84800-115-2>`_ + * `L. H. Laidlaw <https://doi.org/10.1145/15886.15904>`_ + for an introduction into the topic of modeling shapes with constructively + solid geometry (CSG). The head node for constructively defined geometry. - See https://doi.org/10.1007/978-1-84800-115-2 and https://doi.org/10.1145/15886.15904 + * `S. Ghebi <https://doi.org/10.1007/978-1-84800-115-2>`_ + * `L. H. Laidlaw <https://doi.org/10.1145/15886.15904>`_ + for an introduction into the topic of modeling shapes with constructively solid geometry (CSG). From c5c3d31e8eaa8b13a3a5d7bd084bcd0202f002f4 Mon Sep 17 00:00:00 2001 From: mkuehbach Date: Mon, 13 Jan 2025 11:08:30 +0100 Subject: [PATCH 10/13] Removed the old NXsolid_geometry as it this issue proposes to promote that class to a base class --- .../NXsolid_geometry.nxdl.xml | 64 ------------------- 1 file changed, 64 deletions(-) delete mode 100644 contributed_definitions/NXsolid_geometry.nxdl.xml diff --git a/contributed_definitions/NXsolid_geometry.nxdl.xml b/contributed_definitions/NXsolid_geometry.nxdl.xml deleted file mode 100644 index d0cb5bea9b..0000000000 --- a/contributed_definitions/NXsolid_geometry.nxdl.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - The head node for constructively defined geometry. - - * `S. Ghebi <https://doi.org/10.1007/978-1-84800-115-2>`_ - * `L. H. Laidlaw <https://doi.org/10.1145/15886.15904>`_ - - for an introduction into the topic of modeling shapes with constructively - solid geometry (CSG). - - - - Instances of :ref:`NXquadric` making up elements of the geometry. - - - - - Instances of :ref:`NXoff_geometry` making up elements of the geometry. - - - - - - The geometries defined, made up of e.g. instances of :ref:`NXquadric`, :ref:`NXoff_geometry`, - or instances of other base classes that define geometries. - - - From 6af5a369178bd07aa6ddaa54c1e66ece60422405 Mon Sep 17 00:00:00 2001 From: mkuehbach Date: Fri, 17 Jan 2025 14:52:23 +0100 Subject: [PATCH 11/13] Addressed @PeterC-DLS comments --- base_classes/NXcsg.nxdl.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/base_classes/NXcsg.nxdl.xml b/base_classes/NXcsg.nxdl.xml index eab8459bc7..45ca439f09 100644 --- a/base_classes/NXcsg.nxdl.xml +++ b/base_classes/NXcsg.nxdl.xml @@ -30,7 +30,10 @@ xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd" > - Constructive Solid Geometry base class + Constructive Solid Geometry (CSG) base class. + + Offers concepts for combining the definitions of leaf and + branching nodes of a CSG tree. From 0fad89e68c28b7ba5ffca4b5652f854c2ad88bce Mon Sep 17 00:00:00 2001 From: mkuehbach Date: Tue, 4 Feb 2025 09:09:15 +0100 Subject: [PATCH 12/13] Reset parameters how it was --- base_classes/NXquadric.nxdl.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base_classes/NXquadric.nxdl.xml b/base_classes/NXquadric.nxdl.xml index 88fe88a4e6..2408178f5a 100644 --- a/base_classes/NXquadric.nxdl.xml +++ b/base_classes/NXquadric.nxdl.xml @@ -31,7 +31,7 @@ > Definition of a quadric surface. From 36a27680ea2dfb15d53cb78af582735e2f566813 Mon Sep 17 00:00:00 2001 From: mkuehbach Date: Tue, 4 Feb 2025 09:33:12 +0100 Subject: [PATCH 13/13] Fixed typo --- base_classes/NXsolid_geometry.nxdl.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base_classes/NXsolid_geometry.nxdl.xml b/base_classes/NXsolid_geometry.nxdl.xml index d0cb5bea9b..749ad0723f 100644 --- a/base_classes/NXsolid_geometry.nxdl.xml +++ b/base_classes/NXsolid_geometry.nxdl.xml @@ -35,7 +35,7 @@ * `S. Ghebi <https://doi.org/10.1007/978-1-84800-115-2>`_ * `L. H. Laidlaw <https://doi.org/10.1145/15886.15904>`_ - for an introduction into the topic of modeling shapes with constructively + for an introduction into the topic of modeling shapes with constructive solid geometry (CSG).