public class SoRotateProcessing2d extends SoImageVizEngine
SoRotateProcessing2d image filter
The SoRotateProcessing2d filter performs a rotation of an image by a user-defined angle
and an origin
. The new coordinates
can be expressed as a function of the old coordinates
:
where
are the coordinates of the center of the rotation. Or in a matrix notation:
Once again, destination pixels may be outside the image, and normally these pixels are ignored. Furthermore, the
coordinates obtained are not always integers, even though an image is a discrete space. The figure below illustrates the grid of the resultant image, the point
being a pixel in this image. The points are generated from the rotation of the original image and do not fit on the grid.
To calculate the intensity of each pixel
, two methods are possible:
would be given the intensity of
If
denotes the distance
,
is defined as:
e.g.
.
The choice of the
's ensures that the interpolated value is equal to
if
matches
. This method gives better results but requires more computation time.
NOTE: In SoRotateProcessing2d filter, the image is perceived as a cylinder, where the information outside the image area wraps around and is placed in the blank part.
File format/default:
RotateProcessing2d {
| inImage | NULL |
| rotationCenter | 0 0 |
| rotationAngle | 10.0f |
| precisionMode | NEARBY_PIXEL |
Library references: rotate
| Modifier and Type | Class and Description |
|---|---|
static class |
SoRotateProcessing2d.PrecisionModes
Method used to calculate the intensity of each result pixel.
|
SoImageVizEngine.ComputeModes, SoImageVizEngine.EventArg, SoImageVizEngine.Neighborhood3dsInventor.ConstructorCommand| Modifier and Type | Field and Description |
|---|---|
SoSFImageDataAdapter |
inImage
The input image.
|
static int |
INTERPOLATION
Deprecated.
Use
SoRotateProcessing2d.PrecisionModes.INTERPOLATION instead. |
static int |
NEARBY_PIXEL
Deprecated.
Use
SoRotateProcessing2d.PrecisionModes.NEARBY_PIXEL instead. |
SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter> |
outImage
The output image.
|
SoSFEnum<SoRotateProcessing2d.PrecisionModes> |
precisionMode
Select the interpolation mode.
|
SoSFFloat |
rotationAngle
The angle of the rotation in degrees (not radians).
|
SoSFVec2i32 |
rotationCenter
The rotation center coordinates.
|
CONNECTIVITY_18, CONNECTIVITY_26, CONNECTIVITY_6, MODE_2D, MODE_3D, MODE_AUTO, onBegin, onEnd, onProgressVERBOSE_LEVEL, ZeroHandle| Constructor and Description |
|---|
SoRotateProcessing2d()
Constructor.
|
abortEvaluate, isEvaluating, startEvaluate, waitEvaluatecopy, getByName, getOutput, getOutputNamecopyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, set, setToDefaultsdispose, getEXTERNPROTO, getName, getPROTO, isDisposable, isSynchronizable, setName, setSynchronizable, touchgetAddress, getNativeResourceHandle, startInternalThreads, stopInternalThreads@Deprecated public static final int NEARBY_PIXEL
SoRotateProcessing2d.PrecisionModes.NEARBY_PIXEL instead.@Deprecated public static final int INTERPOLATION
SoRotateProcessing2d.PrecisionModes.INTERPOLATION instead.public final SoSFImageDataAdapter inImage
public final SoSFVec2i32 rotationCenter
SbVec2i32(0,0).public final SoSFFloat rotationAngle
public final SoSFEnum<SoRotateProcessing2d.PrecisionModes> precisionMode
public final SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter> outImage
Generated on July 23, 2025, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com