org.eclipse.dawnsci.nexus.NXshape Maven / Gradle / Ivy
/*-
*******************************************************************************
* 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.
*******************************************************************************/
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
*
*/
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
*
*
Enumeration:
* - nxflat
* - nxcylinder
* - nxbox
* - nxsphere
* - nxcone
* - nxelliptical
* - nxtoroidal
* - nxparabolic
* - nxpolynomial
*
*
* @return the value.
*/
public IDataset getShape();
/**
* general shape of a component
*
*
Enumeration:
* - nxflat
* - nxcylinder
* - nxbox
* - nxsphere
* - nxcone
* - nxelliptical
* - nxtoroidal
* - nxparabolic
* - nxpolynomial
*
*
* @param shape the shape
*/
public DataNode setShape(IDataset shape);
/**
* general shape of a component
*
*
Enumeration:
* - nxflat
* - nxcylinder
* - nxbox
* - nxsphere
* - nxcone
* - nxelliptical
* - nxtoroidal
* - nxparabolic
* - nxpolynomial
*
*
* @return the value.
*/
public String getShapeScalar();
/**
* general shape of a component
*
*
Enumeration:
* - nxflat
* - nxcylinder
* - nxbox
* - nxsphere
* - nxcone
* - nxelliptical
* - nxtoroidal
* - nxparabolic
* - nxpolynomial
*
*
* @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
*
* Type: NX_FLOAT
* Units: NX_LENGTH
* Dimensions: 1: numobj; 2: nshapepar;
*
*
* @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
*
* Type: NX_FLOAT
* Units: NX_LENGTH
* Dimensions: 1: numobj; 2: nshapepar;
*
*
* @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
*
* Type: NX_FLOAT
* Units: NX_LENGTH
* Dimensions: 1: numobj; 2: nshapepar;
*
*
* @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
*
* Type: NX_FLOAT
* Units: NX_LENGTH
* Dimensions: 1: numobj; 2: nshapepar;
*
*
* @param size the size
*/
public DataNode setSizeScalar(Double size);
/**
*
*
Enumeration:
* - concave
* - convex
*
*
* @return the value.
*/
public IDataset getDirection();
/**
*
*
Enumeration:
* - concave
* - convex
*
*
* @param direction the direction
*/
public DataNode setDirection(IDataset direction);
/**
*
*
Enumeration:
* - concave
* - convex
*
*
* @return the value.
*/
public String getDirectionScalar();
/**
*
*
Enumeration:
* - concave
* - convex
*
*
* @param direction the direction
*/
public DataNode setDirectionScalar(String direction);
}