/*- ******************************************************************************* * Copyright (c) 2015 Diamond Light Source Ltd. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * This file was auto-generated from the NXDL XML definition. * Generated at: 2016-09-28T15:24:07.968+01:00 *******************************************************************************/ package org.eclipse.dawnsci.nexus; import org.eclipse.dawnsci.analysis.api.tree.DataNode; import org.eclipse.january.dataset.IDataset; /** * legacy class - (used by :ref:`NXgeometry`) - the shape and size of a component. * This is the description of the general shape and size of a * component, which may be made up of ``numobj`` separate * elements - it is used by the :ref:`NXgeometry` class * * @version 1.0 */ public interface NXshape extends NXobject { public static final String NX_SHAPE = "shape"; public static final String NX_SIZE = "size"; public static final String NX_DIRECTION = "direction"; /** * general shape of a component * <p> * <p><b>Enumeration:</b><ul> * <li><b>nxflat</b> </li> * <li><b>nxcylinder</b> </li> * <li><b>nxbox</b> </li> * <li><b>nxsphere</b> </li> * <li><b>nxcone</b> </li> * <li><b>nxelliptical</b> </li> * <li><b>nxtoroidal</b> </li> * <li><b>nxparabolic</b> </li> * <li><b>nxpolynomial</b> </li></ul></p> * </p> * * @return the value. */ public IDataset getShape(); /** * general shape of a component * <p> * <p><b>Enumeration:</b><ul> * <li><b>nxflat</b> </li> * <li><b>nxcylinder</b> </li> * <li><b>nxbox</b> </li> * <li><b>nxsphere</b> </li> * <li><b>nxcone</b> </li> * <li><b>nxelliptical</b> </li> * <li><b>nxtoroidal</b> </li> * <li><b>nxparabolic</b> </li> * <li><b>nxpolynomial</b> </li></ul></p> * </p> * * @param shape the shape */ public DataNode setShape(IDataset shape); /** * general shape of a component * <p> * <p><b>Enumeration:</b><ul> * <li><b>nxflat</b> </li> * <li><b>nxcylinder</b> </li> * <li><b>nxbox</b> </li> * <li><b>nxsphere</b> </li> * <li><b>nxcone</b> </li> * <li><b>nxelliptical</b> </li> * <li><b>nxtoroidal</b> </li> * <li><b>nxparabolic</b> </li> * <li><b>nxpolynomial</b> </li></ul></p> * </p> * * @return the value. */ public String getShapeScalar(); /** * general shape of a component * <p> * <p><b>Enumeration:</b><ul> * <li><b>nxflat</b> </li> * <li><b>nxcylinder</b> </li> * <li><b>nxbox</b> </li> * <li><b>nxsphere</b> </li> * <li><b>nxcone</b> </li> * <li><b>nxelliptical</b> </li> * <li><b>nxtoroidal</b> </li> * <li><b>nxparabolic</b> </li> * <li><b>nxpolynomial</b> </li></ul></p> * </p> * * @param shape the shape */ public DataNode setShapeScalar(String shape); /** * physical extent of the object along its local axes (after NXorientation) * with the center of mass at the local origin (after NXtranslation). * The meaning and location of these axes will vary according to the value * of the "shape" variable. * ``nshapepar`` defines how many parameters: * - For "nxcylinder" type the parameters are (diameter,height) and a three value orientation vector of the cylinder. * - For the "nxbox" type the parameters are (length,width,height). * - For the "nxsphere" type the parameters are (diameter). * - For nxcone cone half aperture * - For nxelliptical, semi-major axis, semi-minor-axis, angle of major axis and pole * - For nxtoroidal, major radius, minor radius * - For nxparabolic, parabolic parameter a * - For nxpolynomial, an array of polynom coefficients, the dimension of the array * encodes the degree of the polynom * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_LENGTH * <b>Dimensions:</b> 1: numobj; 2: nshapepar; * </p> * * @return the value. */ public IDataset getSize(); /** * physical extent of the object along its local axes (after NXorientation) * with the center of mass at the local origin (after NXtranslation). * The meaning and location of these axes will vary according to the value * of the "shape" variable. * ``nshapepar`` defines how many parameters: * - For "nxcylinder" type the parameters are (diameter,height) and a three value orientation vector of the cylinder. * - For the "nxbox" type the parameters are (length,width,height). * - For the "nxsphere" type the parameters are (diameter). * - For nxcone cone half aperture * - For nxelliptical, semi-major axis, semi-minor-axis, angle of major axis and pole * - For nxtoroidal, major radius, minor radius * - For nxparabolic, parabolic parameter a * - For nxpolynomial, an array of polynom coefficients, the dimension of the array * encodes the degree of the polynom * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_LENGTH * <b>Dimensions:</b> 1: numobj; 2: nshapepar; * </p> * * @param size the size */ public DataNode setSize(IDataset size); /** * physical extent of the object along its local axes (after NXorientation) * with the center of mass at the local origin (after NXtranslation). * The meaning and location of these axes will vary according to the value * of the "shape" variable. * ``nshapepar`` defines how many parameters: * - For "nxcylinder" type the parameters are (diameter,height) and a three value orientation vector of the cylinder. * - For the "nxbox" type the parameters are (length,width,height). * - For the "nxsphere" type the parameters are (diameter). * - For nxcone cone half aperture * - For nxelliptical, semi-major axis, semi-minor-axis, angle of major axis and pole * - For nxtoroidal, major radius, minor radius * - For nxparabolic, parabolic parameter a * - For nxpolynomial, an array of polynom coefficients, the dimension of the array * encodes the degree of the polynom * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_LENGTH * <b>Dimensions:</b> 1: numobj; 2: nshapepar; * </p> * * @return the value. */ public Double getSizeScalar(); /** * physical extent of the object along its local axes (after NXorientation) * with the center of mass at the local origin (after NXtranslation). * The meaning and location of these axes will vary according to the value * of the "shape" variable. * ``nshapepar`` defines how many parameters: * - For "nxcylinder" type the parameters are (diameter,height) and a three value orientation vector of the cylinder. * - For the "nxbox" type the parameters are (length,width,height). * - For the "nxsphere" type the parameters are (diameter). * - For nxcone cone half aperture * - For nxelliptical, semi-major axis, semi-minor-axis, angle of major axis and pole * - For nxtoroidal, major radius, minor radius * - For nxparabolic, parabolic parameter a * - For nxpolynomial, an array of polynom coefficients, the dimension of the array * encodes the degree of the polynom * <p> * <b>Type:</b> NX_FLOAT * <b>Units:</b> NX_LENGTH * <b>Dimensions:</b> 1: numobj; 2: nshapepar; * </p> * * @param size the size */ public DataNode setSizeScalar(Double size); /** * <p> * <p><b>Enumeration:</b><ul> * <li><b>concave</b> </li> * <li><b>convex</b> </li></ul></p> * </p> * * @return the value. */ public IDataset getDirection(); /** * <p> * <p><b>Enumeration:</b><ul> * <li><b>concave</b> </li> * <li><b>convex</b> </li></ul></p> * </p> * * @param direction the direction */ public DataNode setDirection(IDataset direction); /** * <p> * <p><b>Enumeration:</b><ul> * <li><b>concave</b> </li> * <li><b>convex</b> </li></ul></p> * </p> * * @return the value. */ public String getDirectionScalar(); /** * <p> * <p><b>Enumeration:</b><ul> * <li><b>concave</b> </li> * <li><b>convex</b> </li></ul></p> * </p> * * @param direction the direction */ public DataNode setDirectionScalar(String direction); }