SoUnits(3IV)

NAME
SoUnits — node that scales to convert units of length

INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoTransformation > SoUnits

SYNOPSIS
#include <Inventor/nodes/SoUnits.h>

enum Units {
SoUnits::METERS
SoUnits::CENTIMETERS
SoUnits::MILLIMETERS
SoUnits::MICROMETERS
SoUnits::MICRONS
SoUnits::NANOMETERS
SoUnits::ANGSTROMS
SoUnits::KILOMETERS
SoUnits::FEET
SoUnits::INCHES
SoUnits::POINTS
SoUnits::YARDS
SoUnits::MILES
SoUnits::NAUTICAL_MILES
}

Fields from class SoUnits:

SoSFEnum
units

Methods from class SoUnits:

SoUnits()
static SoType
getClassTypeId()

Methods from class SoNode:

void
setOverride(SbBool state)
SbBool
isOverride() const
SoNode *
copy(SbBool copyConnections = FALSE) const
virtual SbBool
affectsState() const
static SoNode *
getByName(const SbName &name)
static int
getByName(const SbName &name, SoNodeList &list)

Methods from class SoFieldContainer:

void
setToDefaults()
SbBool
hasDefaultValues() const
SbBool
fieldsAreEqual(const SoFieldContainer *fc) const
void
copyFieldValues(const SoFieldContainer *fc, SbBool copyConnections = FALSE)
SbBool
set(const char *fieldDataString)
void
get(SbString &fieldDataString)
virtual int
getFields(SoFieldList &resultList) const
virtual SoField *
getField(const SbName &fieldName) const
SbBool
getFieldName(const SoField *field, SbName &fieldName) const
SbBool
isNotifyEnabled() const
SbBool
enableNotify(SbBool flag)

Methods from class SoBase:

void
ref()
void
unref() const
void
unrefNoDelete() const
void
touch()
virtual SoType
getTypeId() const
SbBool
isOfType(SoType type) const
virtual void
setName(const SbName &name)
virtual SbName
getName() const

DESCRIPTION
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.

FIELDS
SoSFEnum
units
Defines the current unit.

METHODS

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

static SoType
getClassTypeId()
Returns type identifier for this class.

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.

SoGetMatrixAction
Returns the matrix corresponding to the units scaling.

FILE FORMAT/DEFAULTS
Units {
units	METERS
}

SEE ALSO
SoScale, SoTransform