Scroll to navigation

SoUnits(3IV)() 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