org.eclipse.dawnsci.nexus.NXorientation 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 java.util.Map;
import org.eclipse.dawnsci.analysis.api.tree.DataNode;
import org.eclipse.january.dataset.IDataset;
/**
* legacy class - recommend to use :ref:`NXtransformations` now
* Description for a general orientation of a component - used by :ref:`NXgeometry`
*
*/
public interface NXorientation extends NXobject {
public static final String NX_VALUE = "value";
/**
* Link to another object if we are using relative positioning, else absent
*
* @return the value.
*/
public NXgeometry getGeometry();
/**
* Link to another object if we are using relative positioning, else absent
*
* @param geometry the geometry
*/
public void setGeometry(NXgeometry geometry);
/**
* Get a NXgeometry node by name:
*
* -
* Link to another object if we are using relative positioning, else absent
*
*
* @param name the name of the node.
* @return a map from node names to the NXgeometry for that node.
*/
public NXgeometry getGeometry(String name);
/**
* Set a NXgeometry node by name:
*
* -
* Link to another object if we are using relative positioning, else absent
*
*
* @param name the name of the node
* @param geometry the value to set
*/
public void setGeometry(String name, NXgeometry geometry);
/**
* Get all NXgeometry nodes:
*
* -
* Link to another object if we are using relative positioning, else absent
*
*
* @return a map from node names to the NXgeometry for that node.
*/
public Map getAllGeometry();
/**
* Set multiple child nodes of a particular type.
*
* -
* Link to another object if we are using relative positioning, else absent
*
*
* @param geometry the child nodes to add
*/
public void setAllGeometry(Map geometry);
/**
* The orientation information is stored as direction cosines. The direction cosines will
* be between the local coordinate directions and the reference directions (to origin or
* relative NXgeometry). Calling the local unit vectors (x',y',z') and the reference unit
* vectors (x,y,z) the six numbers will be [x' dot x, x' dot y, x' dot z, y' dot x, y' dot
* y, y' dot z] where "dot" is the scalar dot product (cosine of the angle between the unit
* vectors). The unit vectors in both the local and reference coordinates are right-handed
* and orthonormal.
* The pair of groups NXtranslation and NXorientation together
* describe the position of a component.
*
* Type: NX_FLOAT
* Units: NX_UNITLESS
* Dimensions: 1: numobj; 2: 6;
*
*
* @return the value.
*/
public IDataset getValue();
/**
* The orientation information is stored as direction cosines. The direction cosines will
* be between the local coordinate directions and the reference directions (to origin or
* relative NXgeometry). Calling the local unit vectors (x',y',z') and the reference unit
* vectors (x,y,z) the six numbers will be [x' dot x, x' dot y, x' dot z, y' dot x, y' dot
* y, y' dot z] where "dot" is the scalar dot product (cosine of the angle between the unit
* vectors). The unit vectors in both the local and reference coordinates are right-handed
* and orthonormal.
* The pair of groups NXtranslation and NXorientation together
* describe the position of a component.
*
* Type: NX_FLOAT
* Units: NX_UNITLESS
* Dimensions: 1: numobj; 2: 6;
*
*
* @param value the value
*/
public DataNode setValue(IDataset value);
/**
* The orientation information is stored as direction cosines. The direction cosines will
* be between the local coordinate directions and the reference directions (to origin or
* relative NXgeometry). Calling the local unit vectors (x',y',z') and the reference unit
* vectors (x,y,z) the six numbers will be [x' dot x, x' dot y, x' dot z, y' dot x, y' dot
* y, y' dot z] where "dot" is the scalar dot product (cosine of the angle between the unit
* vectors). The unit vectors in both the local and reference coordinates are right-handed
* and orthonormal.
* The pair of groups NXtranslation and NXorientation together
* describe the position of a component.
*
* Type: NX_FLOAT
* Units: NX_UNITLESS
* Dimensions: 1: numobj; 2: 6;
*
*
* @return the value.
*/
public Double getValueScalar();
/**
* The orientation information is stored as direction cosines. The direction cosines will
* be between the local coordinate directions and the reference directions (to origin or
* relative NXgeometry). Calling the local unit vectors (x',y',z') and the reference unit
* vectors (x,y,z) the six numbers will be [x' dot x, x' dot y, x' dot z, y' dot x, y' dot
* y, y' dot z] where "dot" is the scalar dot product (cosine of the angle between the unit
* vectors). The unit vectors in both the local and reference coordinates are right-handed
* and orthonormal.
* The pair of groups NXtranslation and NXorientation together
* describe the position of a component.
*
* Type: NX_FLOAT
* Units: NX_UNITLESS
* Dimensions: 1: numobj; 2: 6;
*
*
* @param value the value
*/
public DataNode setValueScalar(Double value);
}