Click or drag to resize
SoSFImage3 Class

Field containing a 3D image.

Inheritance Hierarchy
SystemObject
  OIV.InventorSoNetBase
    OIV.Inventor.FieldsSoField
      OIV.Inventor.FieldsSoSField
        OIV.Inventor.FieldsSoSFImage3

Namespace: OIV.Inventor.Fields
Assembly: OIV.Inventor (in OIV.Inventor.dll) Version: 2024.1.0.0 (2024.1.0)
Syntax
public class SoSFImage3 : SoSField

The SoSFImage3 type exposes the following members.

Constructors
  NameDescription
Public methodSoSFImage3

Default constructor.

Top
Methods
  NameDescription
Public methodAppendConnection(SoEngineOutput)

Appends this field to the list of connections from another engineOutput.

(Inherited from SoField.)
Public methodAppendConnection(SoField)

Appends this field to the list of connections from another field.

(Inherited from SoField.)
Public methodConnectFrom(SoEngineOutput)

Connects this field from an engine output.

(Inherited from SoField.)
Public methodConnectFrom(SoField)

Connects this field to another field.

(Inherited from SoField.)
Public methodCopyFrom

Copy from another field of same type.

Public methodDisconnect

Disconnect the field from whatever it was connected to.

(Inherited from SoField.)
Public methodDisconnect(SoEngineOutput)

Disconnect the field from the requested engineOutput.

(Inherited from SoField.)
Public methodDisconnect(SoField)

Disconnect the field from the requested field.

(Inherited from SoField.)
Public methodEnableConnection

Field connections may be enabled and disabled.

(Inherited from SoField.)
Public methodEquals
Public methodFinishEditing

These methods can be used to efficiently edit the values in an image field.

Public methodGet

Returns the value of the field in the Open Inventor file format, even if the field has its default value.

(Inherited from SoField.)
Public methodGetBufferObject

Public methodGetBufferObject(SbVec3s, Int32)

Returns the pixels in the image as a buffer object.

Public methodGetBufferObject(SbVec3i32, Int32, SoSFImageDataTypes)

Returns the pixels in the image as a buffer object.

Public methodGetConnectedEngine

Returns true if this field is being written into by an engine, and returns the engine output it is connected to in engineOutput.

(Inherited from SoField.)
Public methodGetConnectedField

Returns true if this field is being written into by another field, and returns the field it is connected to in writingField.

(Inherited from SoField.)
Public methodGetConnections

Returns a list of the connections to this field.

(Inherited from SoField.)
Public methodGetContainer

Returns the object that contains this field.

(Inherited from SoField.)
Public methodGetForwardConnections

Adds references to all of the fields that this field is writing into (either fields in nodes, global fields or engine inputs) to the given field list, and returns the number of forward connections.

(Inherited from SoField.)
Public methodGetHashCode
Overrides GetHashCode().
(Inherited from SoNetBase.)
Public methodGetNumComponents

Returns the number of components in each pixels of the image.

Public methodGetNumConnections

Returns the number of connections to this field.

(Inherited from SoField.)
Public methodGetSubTexture(Int32, SbVec3s, SbVec3s)

Returns a buffer to a given subTexture set by setSubValue, setSubValues, or a OIV.Inventor.Fields.SoSFImage3.StartEditing(OIV.Inventor.SbVec3i32@, System.Int32@, OIV.Inventor.Fields.SoSFImage.DataTypes@)/finishEditing() pair.

Public methodGetSubTexture(Int32, SbVec3i32, SbVec3i32, SoSFImageDataTypes)

Returns a buffer to a given subTexture set by setSubValue, setSubValues, or a OIV.Inventor.Fields.SoSFImage3.StartEditing(OIV.Inventor.SbVec3i32@, System.Int32@, OIV.Inventor.Fields.SoSFImage.DataTypes@)/finishEditing() pair.

Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetValue(SbVec3s, Int32)

Returns the pixels in the image as an array of unsigned chars.

Public methodGetValue(SbVec3i32, Int32, SoSFImageDataTypes)

Returns the pixels in the image as an array of values of type <dataType>.

Public methodGetValueSize

Gets the size of the value.

(Inherited from SoField.)
Public methodHasSubTextures

Returns true if subTextures have been defined or false if none have been defined.

Public methodIsConnected

Returns true if the field is connected to anything.

(Inherited from SoField.)
Public methodIsConnectedFromEngine

Returns true if the field is connected to an engine's output.

(Inherited from SoField.)
Public methodIsConnectedFromField

Returns true if the field is connected to another field.

(Inherited from SoField.)
Public methodIsConnectedFromVRMLInterp

Returns true if the field is connected to a VRML interpOutput.

(Inherited from SoField.)
Public methodIsConnectionEnabled

Returns false if connections to this field are disabled.

(Inherited from SoField.)
Public methodIsDefault

Gets the state of default flag of the field.

(Inherited from SoField.)
Public methodIsIgnored

Gets the ignore flag for this field.

(Inherited from SoField.)
Public methodIsNeverWrite

As this field may have to handle large amounts of data and its representation in an .iv file is not very efficient, it is often a good idea not to allow that data to be written out when required by a write action.

Public methodSet

Sets the field to the given value, which is an ASCII string in the Open Inventor file format.

(Inherited from SoField.)
Public methodSetIgnored

Sets the ignore flag for this field.

(Inherited from SoField.)
Public methodSetNeverWrite

As this field may have to handle large amounts of data and its representation in an .iv file is not very efficient, it is often a good idea not to allow that data to be written out when required by a write action.

Public methodSetSubValue(SbVec3i32, SbVec3i32, Byte)
Public methodSetSubValue(SbVec3i32, SbVec3i32, Int16)
Public methodSetSubValue(SbVec3i32, SbVec3i32, Int32)
Public methodSetSubValue(SbVec3i32, SbVec3i32, SByte)
Public methodSetSubValue(SbVec3i32, SbVec3i32, Single)
Public methodSetSubValue(SbVec3i32, SbVec3i32, UInt16)
Public methodSetSubValue(SbVec3i32, SbVec3i32, UInt32)
Public methodSetSubValue(SbVec3s, SbVec3s, Byte)
Public methodSetSubValue(SbVec3i32, SbVec3i32, Byte, SoSFImage3CopyPolicies)
Public methodSetSubValue(SbVec3i32, SbVec3i32, Int16, SoSFImage3CopyPolicies)
Public methodSetSubValue(SbVec3i32, SbVec3i32, Int32, SoSFImage3CopyPolicies)
Public methodSetSubValue(SbVec3i32, SbVec3i32, SByte, SoSFImage3CopyPolicies)
Public methodSetSubValue(SbVec3i32, SbVec3i32, Single, SoSFImage3CopyPolicies)
Public methodSetSubValue(SbVec3i32, SbVec3i32, UInt16, SoSFImage3CopyPolicies)
Public methodSetSubValue(SbVec3i32, SbVec3i32, UInt32, SoSFImage3CopyPolicies)
Public methodSetSubValue(SbVec3s, SbVec3s, Byte, SoSFImage3CopyPolicies)
Public methodSetSubValues(SbVec3i32, SbVec3i32, Byte)
Public methodSetSubValues(SbVec3i32, SbVec3i32, Int16)
Public methodSetSubValues(SbVec3i32, SbVec3i32, Int32)
Public methodSetSubValues(SbVec3i32, SbVec3i32, SByte)
Public methodSetSubValues(SbVec3i32, SbVec3i32, Single)
Public methodSetSubValues(SbVec3i32, SbVec3i32, UInt16)
Public methodSetSubValues(SbVec3i32, SbVec3i32, UInt32)
Public methodSetSubValues(SbVec3s, SbVec3s, Byte)
Public methodSetSubValues(SbVec3i32, SbVec3i32, Byte, SoSFImage3CopyPolicies)
Public methodSetSubValues(SbVec3i32, SbVec3i32, Int16, SoSFImage3CopyPolicies)
Public methodSetSubValues(SbVec3i32, SbVec3i32, Int32, SoSFImage3CopyPolicies)
Public methodSetSubValues(SbVec3i32, SbVec3i32, SByte, SoSFImage3CopyPolicies)
Public methodSetSubValues(SbVec3i32, SbVec3i32, Single, SoSFImage3CopyPolicies)
Public methodSetSubValues(SbVec3i32, SbVec3i32, UInt16, SoSFImage3CopyPolicies)
Public methodSetSubValues(SbVec3i32, SbVec3i32, UInt32, SoSFImage3CopyPolicies)
Public methodSetSubValues(SbVec3s, SbVec3s, Byte, SoSFImage3CopyPolicies)
Public methodSetValue(SbVec3s, Int32, SoBufferObject)
Calls SetValue(size, nc, bufferObject, OIV.Inventor.Fields.SoSFImage3.CopyPolicies( .SoSFImage3.COPY )).
Public methodSetValue(SbVec3s, Int32, Byte)
Calls SetValue(size, nc, bytes, OIV.Inventor.Fields.SoSFImage3.CopyPolicies( .SoSFImage3.COPY )).
Public methodSetValue(SbVec3i32, Int32, SoSFImageDataTypes, SoBufferObject)
Calls SetValue(size, nc, dataType, bufferObject, OIV.Inventor.Fields.SoSFImage3.CopyPolicies( .SoSFImage3.COPY )).
Public methodSetValue(SbVec3i32, Int32, Byte, SoSFImage3CopyPolicies)
Public methodSetValue(SbVec3i32, Int32, Int16, SoSFImage3CopyPolicies)
Public methodSetValue(SbVec3i32, Int32, Int32, SoSFImage3CopyPolicies)
Public methodSetValue(SbVec3i32, Int32, SByte, SoSFImage3CopyPolicies)
Public methodSetValue(SbVec3i32, Int32, Single, SoSFImage3CopyPolicies)
Public methodSetValue(SbVec3i32, Int32, UInt16, SoSFImage3CopyPolicies)
Public methodSetValue(SbVec3i32, Int32, UInt32, SoSFImage3CopyPolicies)
Public methodSetValue(SbVec3s, Int32, SoBufferObject, SoSFImage3CopyPolicies)

Sets the value of this field to be an image of the given size, with the given number of components, and with the given pixel values.

Public methodSetValue(SbVec3s, Int32, Byte, SoSFImage3CopyPolicies)

Sets the value of this field to be an image of the given size, with the given number of components, and with the given pixel values.

Public methodSetValue(SbVec3i32, Int32, SoSFImageDataTypes, SoBufferObject, SoSFImage3CopyPolicies)

Sets the value of this field to be an image of the given size, with the given number of components, and with the given pixel values.

Public methodStartEditing(SbVec3s, Int32)

These methods can be used to efficiently edit the values in an image field.

Public methodStartEditing(SbVec3i32, Int32, SoSFImageDataTypes)

These methods can be used to efficiently edit the values in an image field.

Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodTouch

Simulates a change to the field, causing attached sensors to fire, connected fields and engines to be marked as needing evaluation, and so forth.

(Inherited from SoField.)
Top
Operators
  NameDescription
Public operatorStatic memberEquality
Public operatorStatic memberInequality
Top
Remarks

A field containing a three-dimensional image. A three-dimensional image can be thought of as a sequence of two-dimensional image "slices."

Images can be grayscale (intensity), grayscale with transparency information, RGB, or RGB with transparency. Each component of the image (intensity, red, green, blue or transparency (alpha)) can have an unsigned one-byte value from 0 to 255.

Values are returned as arrays of unsigned chars. The image is stored in this array starting at the bottom left front corner of the image with the intensity or red component of that pixel, followed by either the alpha, the green and blue, or the green, blue and alpha components (depending on the number of components in the image). The next value is the first component of the next pixel to the right.

SoSFImage3s are written to file as four integers representing the width, height, depth and number of components in the image, followed by width*height*depth hexadecimal values representing the pixels in the image, separated by whitespace. A one-component image will have one-byte hexadecimal values representing the intensity of the image. For example, 0xFF is full intensity, 0x00 is no intensity. A two-component image puts the intensity in the first (high) byte and the transparency in the second (low) byte. Pixels in a three-component image have the red component in the first (high) byte, followed by the green and blue components (so 0xFF0000 is red). Four-component images put the transparency byte after red/green/blue (so 0x0000FF80 is semi-transparent blue). Note: each pixel is actually read as a single unsigned number, so a 3-component pixel with value "0x0000FF" can also be written as "0xFF" or "255" (decimal).

For example,

   1 2 3 1 0xFF 0x00 0x00 0xFF 0xFF 0x00
is a 1 pixel wide by 2 pixel high by 3 pixel deep grayscale image, with the bottom pixel white and the top pixel black in the first (front-most) slice. In the second slice the bottom pixel is black and the top pixel is white. And:

   2 4 3 3 0xFF0000 0xFF00 0 0 0 0 0xFFFFFF 0xFFFF00 ...
is a 2 pixel wide by 4 pixel high by 3 pixel deep RGB image, with the bottom left pixel red, the bottom right pixel green, the two middle rows of pixels black, the top left pixel white, and the top right pixel yellow in the first slice. Subsequent slices are not shown.

See Also