24#ifndef _SO_EXTTEXTURE_2_
25#define _SO_EXTTEXTURE_2_
27#include <Inventor/nodes/SoTexture.h>
28#include <Inventor/fields/SoSFInt32.h>
29#include <Inventor/fields/SoSFFilePathString.h>
30#include <Inventor/fields/SoSFTime.h>
31#include <Inventor/threads/SbThreadStorage.h>
33#include <Inventor/image/SbRasterImage.h>
34#include <Inventor/sys/SoGLType.h>
40#pragma warning( push )
41#pragma warning(disable:4251)
352 virtual void doAction(
SoAction *action);
358 static void initClass();
359 static void exitClass();
365 virtual void fieldHasChanged(
SoField *field );
373 virtual SbBool readInstance(
SoInput *in,
unsigned short flags);
381#pragma warning( pop )
Class for smart character strings.
Abstract base class for all actions.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Extended texture...
SoSFBool loadingStatus
Tells if the texture is loaded or not (not necessarily displayed)
SoSFEnum loadingMode
Specifies the loading mode.
static void useTexturePalette(SbBool value)
If TRUE, uses a 256-color-indexed palette.
static void setPrequalifyFileCallBack(ExtPrequalifyFileCallback *p_cb, void *u_data)
This callback is called by SoExtTexture2 nodes just before opening a file with the proposed path.
@ AUTO
The texture is loaded at the node's traversal.
@ MANUAL
The texture is loaded by the user using the loadTexture method.
static double getGlobalMemoryUsed()
Return the current system memory used by all texture images.
Sync
Synchrone/asynchrone loading mode.
@ SYNCHRONOUS
The loading is blocking (no thread launched).
@ ASYNCHRONOUS
The loading is non blocking (the loading is done within a thread).
void addOnUnloadCB(SoExtTexture2CB *cb, void *userData)
Callback invoked when the texture is unloaded.
void allowPrequalifyFile(SbBool)
If TRUE, allows the PrequalifyFile callback to be called.
SoSFInt32 loadingThreadPriority
Specifies the priority of the texture loading thread when activated (syncMode = ASYNCHRONOUS).
SoSFEnum wrapT
Indicates what to do when texture coordinates in the T (vertical) direction lie outside the range 0-1...
SoSFEnum syncMode
Specifies the synchronous/asynchronous mode.
SoExtTexture2()
Creates a texture node with default settings.
void getImageSize(SbVec2s &size, int &nc)
Returns the size and the number of components in the image.
void loadTexture()
Loads the texture if the loading mode is set to MANUAL.
static double getMemorySpace()
Gets the system memory space allowed for the texture images.
static void setMemorySpace(double megaBytes)
Sets the system memory space allowed for the texture images.
void addOnLoadStartCB(SoExtTexture2CB *cb, void *userData)
Callback invoked when starting loading the texture.
SoSFFilePathString filename
Names file from which to read texture image.
SbBool ExtPrequalifyFileCallback(const SbString &, void *, SoExtTexture2 *)
void addOnLoadFinishCB(SoExtTexture2CB *cb, void *userData)
Callback invoked when the texture is loaded and ready to use.
void SoExtTexture2CB(void *userData, SoExtTexture2 *tex)
Abstract base class for objects that contain fields.
Base class for all fields.
Renders a scene graph using Open Inventor's Render Engine.
Field containing a single Boolean value.
Field containing an enumerated value.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Field containing...
Field containing a int32_t integer.
Field containing an SbTime.
Abstract base class for Open Inventor sensors.
Abstract base class for texture mapping nodes.
Writes a scene graph to a file.