Class SoTransformProjection

  • All Implemented Interfaces:
    SafeDisposable

    public class SoTransformProjection
    extends SoProjection
    Scale/recenter projection node. This property node is a specific SoProjection which applies a scale and recenter to a geometry.

    The computation is done on the CPU before the transfer to OpenGL. The main purpose of this feature is to transform the vertex coordinates before sending them to OpenGL in order to avoid single precision issues, especially with the depth buffer.

    Essentially this is a convenience node that automatically creates an SbTransformProjection and calls the setProjection() method for you.

    The result of a bounding box action is the coordinates of the bounding box after the projection because we need this version of the bounding box for rendering/clipping.

    See SoProjection for important limitations of projection nodes.

    File format/default:

    TransformProjection {

      parameters ""
      matrix identity
      isOn true
      floatParameters 1
      projTypeId 0

      scaleFactor 1.0
      centerPosition 0.0 0.0 0.0
    }

    See Also:
    SbTransformProjection, SoProjection, SoGeoProjection
    • Field Detail

      • scaleFactor

        public final SoSFFloat scaleFactor
        Scale factor applied to the geometry.
        Note: Each coordinate is multiplied by this value.
      • centerPosition

        public final SoSFVec3f centerPosition
        Translation applied to the geometry.
        Note: This value is subtracted from each coordinate.
    • Constructor Detail

      • SoTransformProjection

        public SoTransformProjection()
        Constructor.