SoSFImage3 - Online Linux Manual PageSection : 3
Updated : Mon Jan 25 2021
Source : Version 3.1.3
Note : Coin

NAMESoSFImage3 − The SoSFImage3 class is used to store 3D (volume) images​.

SYNOPSIS
#include <Inventor/fields/SoSFImage3​.h> Inherits SoSField​.

Public Member Functionsvirtual SoType getTypeId (void) const
virtual void copyFrom (const SoField &field)
const SoSFImage3 & operator= (const SoSFImage3 &field)
virtual SbBool isSame (const SoField &field) const
const unsigned char * getValue (SbVec3s &size, int &nc) const
void setValue (const SbVec3s &size, const int nc, const unsigned char *bytes)
int operator== (const SoSFImage3 &field) const
int operator!= (const SoSFImage3 &field) const
unsigned char * startEditing (SbVec3s &size, int &nc)
void finishEditing (void)

Static Public Member Functionsstatic void * createInstance (void)
static SoType getClassTypeId (void)
static void initClass (void)

Additional Inherited Members

Detailed DescriptionThe SoSFImage3 class is used to store 3D (volume) images​. The SoSFImage3 class provides storage for inline 3D image maps​. 3D images in Coin are mainly used for 3D texture mapping support​. SoSFImage3 instances can be exported and imported as any other field class in Coin​. The components of an SoSFImage3 is: its image dimensions (width, height and depth), the number of bytes used for describing each pixel (number of components) and an associated pixel buffer​. The size of the pixel buffer will be width*height*depth*components​. For texture maps, the components / bytes-per-pixel setting translates as follows: use 1 for a grayscale imagemap, 2 for grayscale + opacity (i​.e​. alpha value), 3 for RGB (1 byte each for red, green and blue) and 4 components means 3 bytes for RGB + 1 byte opacity value (aka RGBA)​. This field is serializable into the Inventor / Coin file format in the following manner: FIELDNAME X Y Z C 0xRRGGBBAA 0xRRGGBBAA ​.​.​."X", "Y" and "Z" are the image dimensions along the given axes, 'C' is the number of components in the image​. The number of 0xRRGGBBAA pixel color specifications needs to equal the exact number of pixels, which is X*Y*Z​. Each part of the pixel color value is in the range 0x00 to 0xff (hexadecimal, 0 to 255 decimal)​. For 3-component images, the pixel-format is 0xXXRRGGBB, where the byte in the pixel color value marked as 'XX' is ignored and can be left out​. For 2-component images, the pixel-format is 0xXXXXGGAA, where the bytes in the pixel color values marked as 'XX' are ignored and can be left out​. 'GG' is the part which gives a grayscale value and 'AA' is for opacity​. For 1-component images, the pixel-format is 0xXXXXXXGG, where the bytes in the pixel color values marked as 'XX' are ignored and can be left out​. The pixels are read as being ordered in rows along X (width), columns along Y (height, bottom to top) and Z 'planes' (depth, front to back)​. Here's a simple example of the file format serialization, for a 2x2x2 RGB-image inside an SoTexture3 node: Texture3 { images 2 2 2 3 0x000000 0x00ff00 0xff0000 0xffff00 0x000000 0x0000ff 0x00ff00 0x00ffff }The image above is colored black+green on the first line and red+yellow on the second line in the first Z plane​. The second Z plane is colored black+blue on the first line and green+cyan on the second line​. Be aware that this class is an extension for Coin, and it is not available in the original SGI Open Inventor v2​.1 API​.
See also SoTexture3, SoSFImage Since Coin 2​.0 TGS Inventor 2​.6

Member Function Documentation

SoType SoSFImage3::getTypeId (void) const [virtual]Returns the type identification instance which uniquely identifies the Coin field class the object belongs to​. See also getClassTypeId(), SoType Implements SoField​.

void SoSFImage3::copyFrom (const SoField & f) [virtual]Copy value(s) from f into this field​. f must be of the same type as this field​. Implements SoField​.

SbBool SoSFImage3::isSame (const SoField & f) const [virtual]Check for equal type and value(s)​. Implements SoField​.

const unsigned char * SoSFImage3::getValue (SbVec3s & size, int & nc) constReturn pixel buffer, set size to contain the image dimensions and nc to the number of components in the image​.

void SoSFImage3::setValue (const SbVec3s & size, const int nc, const unsigned char * bytes)Initialize this field to size and nc​. If bytes is not NULL, the image data is copied from bytes into this field​. If bytes is NULL, the image data is cleared by setting all bytes to 0 (note that the behavior on passing a NULL pointer is specific for Coin, Open Inventor will crash if you try it)​.

int SoSFImage3::operator== (const SoSFImage3 & field) constCompare image of field with the image in this field and return TRUE if they are equal​.

int SoSFImage3::operator!= (const SoSFImage3 & field) const [inline]Compare image of field with the image in this field and return FALSE if they are equal​.

unsigned char * SoSFImage3::startEditing (SbVec3s & size, int & nc)Return pixel buffer, set size to contain the image dimensions and nc to the number of components in the image​. The field's container will not be notified about the changes until you call finishEditing()​.

void SoSFImage3::finishEditing (void)Notify the field's auditors that the image data has been modified​.

AuthorGenerated automatically by Doxygen for Coin from the source code​.
0
Johanes Gumabo
Data Size   :   24,559 byte
man-SoSFImage3.3coin3Build   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   2 / 200,837
Visitor ID   :     :  
Visitor IP   :   3.14.247.170   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.