Class SoUnits

  • All Implemented Interfaces:
    SafeDisposable

    public class SoUnits
    extends SoTransformation
    Node that scales to convert units of length. This node defines a uniform 3D scale about the origin relative to the previously defined units. The default units for all data are meters. Adding a units node with the value INCHES will have the same effect as adding an SoScale node with the scaleFactor of (.0254, .0254, .0254). Any subsequent SoUnits node will take the previous units into account. When building a composite object out of a bunch of pieces, it would be a good practice to add an SoUnits node at the beginning of each of the pieces, under an SoSeparator node, to make sure all the pieces fit together with the same scale.

    File format/default:

    Units {

      units METERS
    }

    Action behavior:

    SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction, SoRayPickAction
    Accumulates the scale that is the ratio of the size from the previous unit to the current unit into the current transformation. Sets: SoModelMatrixElement, SoUnitsElement

    SoGetMatrixAction
    Returns the matrix corresponding to the units scaling.

    See Also:
    SoScale, SoTransform
    • Constructor Detail

      • SoUnits

        public SoUnits()
        Creates a unit conversion node with default settings.