Skip to content

Commit

Permalink
move new definitions to application and base_classes
Browse files Browse the repository at this point in the history
# Conflicts:
#	applications/NXellipsometry.nxdl.xml
#	applications/NXmpes_arpes.nxdl.xml
#	applications/NXoptical_spectroscopy.nxdl.xml
#	applications/NXraman.nxdl.xml
#	applications/NXxps.nxdl.xml
#	applications/xps/xps_cs.png
#	base_classes/NXactivity.nxdl.xml
#	base_classes/NXactuator.nxdl.xml
#	base_classes/NXapm_charge_state_analysis.nxdl.xml
#	base_classes/NXapm_hit_finding.nxdl.xml
#	base_classes/NXapm_msr.nxdl.xml
#	base_classes/NXapm_ranging.nxdl.xml
#	base_classes/NXapm_reconstruction.nxdl.xml
#	base_classes/NXapm_sim.nxdl.xml
#	base_classes/NXapm_volt_and_bowl.nxdl.xml
#	base_classes/NXbeam_device.nxdl.xml
#	base_classes/NXbeam_transfer_matrix_table.nxdl.xml
#	base_classes/NXcg_cylinder_set.nxdl.xml
#	base_classes/NXcg_ellipsoid_set.nxdl.xml
#	base_classes/NXcg_face_list_data_structure.nxdl.xml
#	base_classes/NXcg_hexahedron_set.nxdl.xml
#	base_classes/NXcg_parallelogram_set.nxdl.xml
#	base_classes/NXcg_point_set.nxdl.xml
#	base_classes/NXcg_polygon_set.nxdl.xml
#	base_classes/NXcg_polyhedron_set.nxdl.xml
#	base_classes/NXcg_primitive_set.nxdl.xml
#	base_classes/NXcg_sphere_set.nxdl.xml
#	base_classes/NXcg_tetrahedron_set.nxdl.xml
#	base_classes/NXcg_triangle_set.nxdl.xml
#	base_classes/NXchemical_process.nxdl.xml
#	base_classes/NXcircuit.nxdl.xml
#	base_classes/NXcollectioncolumn.nxdl.xml
#	base_classes/NXcomponent.nxdl.xml
#	base_classes/NXdata_mpes.nxdl.xml
#	base_classes/NXdata_mpes_detector.nxdl.xml
#	base_classes/NXelectron_level.nxdl.xml
#	base_classes/NXem_eds.nxdl.xml
#	base_classes/NXevent_data_apm.nxdl.xml
#	base_classes/NXevent_data_apm_set.nxdl.xml
#	base_classes/NXfit.nxdl.xml
#	base_classes/NXfit_background.nxdl.xml
#	base_classes/NXfit_function.nxdl.xml
#	base_classes/NXfit_parameter.nxdl.xml
#	base_classes/NXhistory.nxdl.xml
#	base_classes/NXidentifier.nxdl.xml
#	base_classes/NXmanipulator.nxdl.xml
#	base_classes/NXopt_window.nxdl.xml
#	base_classes/NXphysical_process.nxdl.xml
#	base_classes/NXprocess_mpes.nxdl.xml
#	base_classes/NXprogram.nxdl.xml
#	base_classes/NXregistration.nxdl.xml
#	base_classes/NXresolution.nxdl.xml
#	base_classes/NXrotation_set.nxdl.xml
#	base_classes/NXsample_component_set.nxdl.xml
#	base_classes/NXserialized.nxdl.xml
#	base_classes/NXsingle_crystal.nxdl.xml
#	base_classes/NXspindispersion.nxdl.xml
#	base_classes/NXsubstance.nxdl.xml
#	base_classes/NXunit_cell.nxdl.xml
#	contributed_definitions/NXactivity.nxdl.xml
#	contributed_definitions/NXadc.nxdl.xml
#	contributed_definitions/NXaperture_em.nxdl.xml
#	contributed_definitions/NXapm_sim.nxdl.xml
#	contributed_definitions/NXcs_cpu_obj.nxdl.xml
#	contributed_definitions/NXcs_cpu_sys.nxdl.xml
#	contributed_definitions/NXcs_mm_obj.nxdl.xml
#	contributed_definitions/NXem_ebsd_crystal_structure_model.nxdl.xml
#	contributed_definitions/NXfit_function.nxdl.xml
#	contributed_definitions/NXfit_parameter.nxdl.xml
#	contributed_definitions/NXidentifier.nxdl.xml
#	contributed_definitions/NXms_ipf_set.nxdl.xml
#	contributed_definitions/NXms_snapshot.nxdl.xml
#	contributed_definitions/NXprogram.nxdl.xml
#	contributed_definitions/NXregistration.nxdl.xml
#	contributed_definitions/NXunit_cell.nxdl.xml
#	contributed_definitions/nyaml/NXcg_primitive_set.yaml
#	contributed_definitions/nyaml/NXcoordinate_system.yaml
#	contributed_definitions/nyaml/NXcrystal_structure.yaml
#	contributed_definitions/nyaml/NXem_correlation.yaml
#	contributed_definitions/nyaml/NXem_eds.yaml
#	contributed_definitions/nyaml/NXem_eels.yaml
#	contributed_definitions/nyaml/NXem_img.yaml
#	contributed_definitions/nyaml/NXem_method.yaml
#	contributed_definitions/nyaml/NXem_msr.yaml
#	contributed_definitions/nyaml/NXem_sim.yaml
#	contributed_definitions/nyaml/NXroi.yaml
  • Loading branch information
lukaspie committed Dec 11, 2024
1 parent 59cee3e commit 4874ed1
Show file tree
Hide file tree
Showing 83 changed files with 1,061 additions and 4,610 deletions.
File renamed without changes.
File renamed without changes.
File renamed without changes.
144 changes: 82 additions & 62 deletions base_classes/NXcg_cylinder_set.nxdl.xml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="nxdlformat.xsl"?>
<!--
# NeXus - Neutron and X-ray Common Data Format
#
#
# Copyright (C) 2014-2024 NeXus International Advisory Committee (NIAC)
#
#
# 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; either
Expand All @@ -21,119 +21,139 @@
#
# For further information, see http://www.nexusformat.org
-->
<!--
redundant as there is NXcsg, NXquadric, NXsolid_geometry with which
<!--redundant as there is NXcsg, NXquadric, NXsolid_geometry with which
cylinder could be constructed, but NXcylinder is easier to understand-->
<definition xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" category="base" type="group" name="NXcg_cylinder_set" extends="NXcg_primitive_set" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd">
<definition xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" category="base" name="NXcg_cylinder_set" extends="NXobject" type="group" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd">
<symbols>
<doc>
The symbols used in the schema to specify e.g. dimensions of arrays.
</doc>
<symbol name="d">
<doc>
The dimensionality of the space in which the members are assumed embedded.
</doc>
</symbol>
<symbol name="c">
<doc>
The cardinality of the set, i.e. the number of members.
The cardinality of the set, i.e. the number of cylinders or cones.
</doc>
</symbol>
</symbols>
<doc>
Computational geometry description of a set of cylinders.
Computational geometry description of a set of cylinders in Euclidean space.

The radius can either be defined in the radii field or by filling both
the upper_cap_radii or lower_cap_radii field. The latter field case can
thus be used to represent truncated cones.
The members of the set can have different size. For each member the position
of the center and the height is mandatory. The radius can either be defined
in the radius field or by filling both the upper and the lower radius field.
The latter case can be used to represent truncated cones.
</doc>
<field name="height" type="NX_NUMBER" units="NX_LENGTH">
<field name="dimensionality" type="NX_POSINT" units="NX_UNITLESS">
<enumeration>
<item value="3"/>
</enumeration>
</field>
<field name="cardinality" type="NX_POSINT" units="NX_UNITLESS"/>
<field name="identifier_offset" type="NX_INT" units="NX_UNITLESS">
<doc>
A direction vector which is parallel to the cylinder/cone axis
and whose magnitude is the height of the cylinder/cone.
Integer which specifies the first index to be used for distinguishing
identifiers for cylinders. Identifiers are defined either implicitly
or explicitly. For implicit indexing the identifiers are defined on the
interval [identifier_offset, identifier_offset+c-1].
For explicit indexing the identifier array has to be defined.

The identifier_offset field can for example be used to communicate if the
identifiers are expected to start from 1 (referred to as Fortran-/Matlab-)
or from 0 (referred to as C-, Python-style index notation) respectively.
</doc>
<dimensions>
</field>
<field name="identifier" type="NX_INT">
<doc>
Integer used to distinguish members for explicit indexing.
</doc>
<dimensions rank="1">
<dim index="1" value="c"/>
<dim index="2" value="d"/>
</dimensions>
</field>
<!--observe that although we claim that d is the dimensionality we have
currently no strategy to tell it must not be d but the actual value
equally so the symbol c, currently all we say that in the specialization
defined here the fields radii, upper_cap_radius, and others are all having
value arguments of the same shape, i.e. these are arrays of rank one with some length c!
behind the dimensionality field defined either in the here defined specialization
of NXcg_primitive_set or otherwise that variable is undefined
alternatively one could store the center of the lower and upper cap but
these are then no longer necessarily on the same axis
maybe a future feature for representing skewed cylinder, but then
one should really better use NXquadric...-->
<field name="radius" type="NX_NUMBER" units="NX_LENGTH">
<field name="center" type="NX_NUMBER" units="NX_LENGTH">
<doc>
Radius of the cylinder if all have the same radius.
The geometric center of each member.
</doc>
<dimensions rank="2">
<dim index="1" value="c"/>
<dim index="2" value="3"/>
</dimensions>
</field>
<field name="radii" type="NX_NUMBER" units="NX_LENGTH">
<field name="height" type="NX_NUMBER" units="NX_LENGTH">
<doc>
Radii of the cylinder.
A direction vector which is parallel to the cylinder/cone axis and
whose magnitude is the height of the cylinder/cone.
</doc>
<dimensions>
<dimensions rank="2">
<dim index="1" value="c"/>
<dim index="2" value="3"/>
</dimensions>
</field>
<!--alternatively one could store the center of the lower and upper cap but
these are then no longer necessarily on the same axis
maybe a future feature for representing skewed cylinder, but then
one should really better use NXquadric...-->
<field name="radii" type="NX_NUMBER" units="NX_LENGTH">
<dimensions rank="1">
<dim index="1" value="c"/>
</dimensions>
</field>
<field name="upper_cap_radii" type="NX_NUMBER" units="NX_LENGTH">
<field name="upper_cap_radius" type="NX_NUMBER" units="NX_LENGTH">
<doc>
Radii of the upper circular cap.

This field, combined with lower_cap_radius can be used to describe
(eventually truncated) circular cones.
The radius of the upper circular cap.
This field, combined with lower_cap_radius can be used to
describe (eventually truncated) circular cones.
</doc>
<dimensions>
<dimensions rank="1">
<dim index="1" value="c"/>
</dimensions>
</field>
<field name="lower_cap_radii" type="NX_NUMBER" units="NX_LENGTH">
<field name="lower_cap_radius" type="NX_NUMBER" units="NX_LENGTH">
<doc>
Radii of the upper circular cap.

This field, combined with upper_cap_radius can be used to describe
(eventually truncated) circular cones.
The radius of the upper circular cap.
This field, combined with lower_cap_radius can be used to
describe (eventually truncated) circular cones.
</doc>
<dimensions>
<dimensions rank="1">
<dim index="1" value="c"/>
</dimensions>
</field>
<group type="NXtransformations">
<doc>
Reference to or definition of a coordinate system with
which the positions and directions are interpretable.
</doc>
</group>
<!--properties of the cylinder-->
<field name="lateral_surface_area" type="NX_NUMBER" units="NX_AREA">
<field name="volume" type="NX_NUMBER" units="NX_VOLUME">
<doc>
Lateral surface area
Interior volume of each cylinder
</doc>
<dimensions>
<dimensions rank="1">
<dim index="1" value="c"/>
</dimensions>
</field>
<field name="upper_cap_surface_area" type="NX_NUMBER" units="NX_AREA">
<field name="lateral_surface_area" type="NX_NUMBER" units="NX_AREA">
<doc>
Area of the upper cap of each cylinder.
Lateral surface area
</doc>
<dimensions>
<dimensions rank="1">
<dim index="1" value="c"/>
</dimensions>
</field>
<field name="lower_cap_surface_area" type="NX_NUMBER" units="NX_AREA">
<field name="cap_surface_area" type="NX_NUMBER" units="NX_AREA">
<doc>
Area of the lower cap of each cylinder.
Area of the upper and the lower cap of each cylinder respectively.
</doc>
<dimensions>
<dimensions rank="2">
<dim index="1" value="c"/>
<dim index="2" value="2"/>
</dimensions>
</field>
<field name="total_surface_area" type="NX_NUMBER" units="NX_AREA">
<field name="surface_area" type="NX_NUMBER" units="NX_AREA">
<doc>
Sum of upper and lower cap areas and lateral surface area
of each cylinder.
Cap and lateral surface area for each cylinder.
</doc>
<dimensions>
<dimensions rank="1">
<dim index="1" value="c"/>
</dimensions>
</field>
Expand Down
100 changes: 85 additions & 15 deletions base_classes/NXcg_ellipsoid_set.nxdl.xml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="nxdlformat.xsl"?>
<!--
# NeXus - Neutron and X-ray Common Data Format
#
#
# Copyright (C) 2014-2024 NeXus International Advisory Committee (NIAC)
#
#
# 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; either
Expand All @@ -21,45 +21,115 @@
#
# For further information, see http://www.nexusformat.org
-->
<!--
redundant as there is NXcsg, and NXquadric but easier to understand-->
<definition xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" category="base" type="group" name="NXcg_ellipsoid_set" extends="NXcg_primitive_set" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd">
<!--redundant as there is NXcsg, and NXquadric but easier to understand-->
<definition xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" category="base" name="NXcg_ellipsoid_set" extends="NXobject" type="group" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd">
<symbols>
<doc>
The symbols used in the schema to specify e.g. dimensions of arrays.
</doc>
<symbol name="d">
<doc>
The dimensionality of the space in which the members are assumed embedded.
The dimensionality, which has to be at least 2.
</doc>
</symbol>
<symbol name="c">
<doc>
The cardinality of the set, i.e. the number of members.
The cardinality of the set, i.e. the number of ellipses, or ellipsoids.
</doc>
</symbol>
</symbols>
<doc>
Computational geometry description of a set of ellipsoids.
Computational geometry description of a set of ellipsoids in Euclidean space.

Individual ellipsoids can have different half axes.
</doc>
<field name="half_axes_radius" type="NX_NUMBER" units="NX_LENGTH">
<field name="dimensionality" type="NX_POSINT" units="NX_UNITLESS"/>
<field name="cardinality" type="NX_POSINT" units="NX_UNITLESS"/>
<field name="identifier_offset" type="NX_INT" units="NX_UNITLESS">
<doc>
Radius of the half axes.
Integer which specifies the first index to be used for distinguishing
identifiers for ellipsoids. Identifiers are defined either implicitly
or explicitly. For implicit indexing the identifiers are defined on the
interval [identifier_offset, identifier_offset+c-1].
For explicit indexing the identifier array has to be defined.

Use if all ellipsoids in the set have the same half-axes.
The identifier_offset field can for example be used to communicate if the
identifiers are expected to start from 1 (referred to as Fortran-/Matlab-)
or from 0 (referred to as C-, Python-style index notation) respectively.
</doc>
</field>
<field name="identifier" type="NX_INT" units="NX_UNITLESS">
<doc>
Integer used to distinguish ellipsoids for explicit indexing.
</doc>
<dimensions rank="1">
<dim index="1" value="c"/>
</dimensions>
</field>
<field name="center" type="NX_NUMBER" units="NX_LENGTH">
<doc>
Geometric center of the ellipsoids. This can be the center of mass.
Dimensionality and cardinality of the point and ellipsoid set have to match.
The identifier_offset and identifier field of NXcg_point_set do not need
to be used as they should be same as the identifier_offset and the
identifier for the ellipsoids.
</doc>
<dimensions rank="2">
<dim index="1" value="c"/>
<dim index="2" value="d"/>
</dimensions>
</field>
<field name="half_axes_radius" type="NX_NUMBER" units="NX_LENGTH">
<doc>
If all ellipsoids in the set have the same half-axes.
</doc>
<dimensions>
<dimensions rank="1">
<dim index="1" value="d"/>
</dimensions>
</field>
<field name="half_axes_radii" type="NX_NUMBER" units="NX_LENGTH">
<doc>
Half-axes radii of each ellipsoid.
In the case that ellipsoids have different radii use this field
instead of half_axes_radius.
</doc>
<dimensions>
<dimensions rank="2">
<dim index="1" value="c"/>
<dim index="2" value="d"/>
</dimensions>
</field>
<group type="NXtransformations">
<doc>
Reference to or definition of a coordinate system with
which the positions and directions are interpretable.
</doc>
</group>
<!--properties of ellipsoids-->
<field name="is_closed" type="NX_BOOLEAN">
<doc>
Are the ellipsoids closed or hollow?
</doc>
<dimensions rank="1">
<dim index="1" value="c"/>
</dimensions>
</field>
<field name="volume" type="NX_NUMBER" units="NX_ANY">
<dimensions rank="1">
<dim index="1" value="c"/>
</dimensions>
</field>
<field name="surface_area" type="NX_NUMBER" units="NX_ANY">
<dimensions rank="1">
<dim index="1" value="c"/>
</dimensions>
</field>
<!--NXcg_orientation_set-->
<field name="orientation" type="NX_NUMBER" units="NX_DIMENSIONLESS">
<doc>
Direction unit vector which points along the largest half-axes.
</doc>
<dimensions rank="2">
<dim index="1" value="c"/>
<dim index="2" value="d"/>
</dimensions>
</field>
</definition>
Loading

0 comments on commit 4874ed1

Please sign in to comment.