Coin
4.0.3
Coin3D core library
Loading...
Searching...
No Matches
SoVRMLImageTexture.h
1
/**************************************************************************\
2
* Copyright (c) Kongsberg Oil & Gas Technologies AS
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are
7
* met:
8
*
9
* Redistributions of source code must retain the above copyright notice,
10
* this list of conditions and the following disclaimer.
11
*
12
* Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
*
16
* Neither the name of the copyright holder nor the names of its
17
* contributors may be used to endorse or promote products derived from
18
* this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
\**************************************************************************/
32
33
#ifndef COIN_SOVRMLIMAGETEXTURE_H
34
#define COIN_SOVRMLIMAGETEXTURE_H
35
36
#include <Inventor/nodes/SoSubNode.h>
37
#include <Inventor/VRMLnodes/SoVRMLTexture.h>
38
#include <Inventor/fields/SoMFString.h>
39
#include <Inventor/SbImage.h>
40
41
class
SoVRMLImageTexture
;
42
class
SoSensor
;
43
class
SbImage
;
44
45
typedef
SbBool VRMLPrequalifyFileCallback(
const
SbString
&,
void
*,
46
SoVRMLImageTexture
*);
47
48
class
COIN_DLL_API
SoVRMLImageTexture
:
public
SoVRMLTexture
49
{
50
typedef
SoVRMLTexture
inherited
;
51
SO_NODE_HEADER(
SoVRMLImageTexture
);
52
53
public
:
54
static
void
initClass(
void
);
55
SoVRMLImageTexture
(
void
);
56
57
SoMFString
url;
58
59
static
void
setDelayFetchURL(
const
SbBool
onoff
);
60
static
void
setPrequalifyFileCallBack(VRMLPrequalifyFileCallback * cb,
61
void
* closure);
62
void
allowPrequalifyFile(SbBool enable);
63
64
virtual
void
doAction(
SoAction
* action);
65
virtual
void
GLRender(
SoGLRenderAction
* action);
66
virtual
void
callback(
SoCallbackAction
* action);
67
virtual
void
rayPick(
SoRayPickAction
* action);
68
69
void
setImage(
const
SbImage
& image);
70
const
SbImage
* getImage(
void
)
const
;
71
72
static
void
setImageDataMaxAge(
const
uint32_t maxage);
73
74
protected
:
75
virtual
~SoVRMLImageTexture
();
76
77
virtual
SbBool readInstance(
SoInput
*
in
,
unsigned
short
flags);
78
int
getReadStatus(
void
)
const
;
79
void
setReadStatus(
int
status);
80
81
private
:
82
83
SbBool readImage(
const
SbString
& filename);
84
SbBool loadUrl(
void
);
85
class
SoVRMLImageTextureP * pimpl;
86
static
void
urlSensorCB(
void
*,
SoSensor
*);
87
static
void
glimage_callback(
void
* closure);
88
static
SbBool image_read_cb(
const
SbString
&,
SbImage
*,
void
*);
89
static
void
read_thread(
void
* closure);
90
static
SbBool default_prequalify_cb(
const
SbString
& url,
void
* closure,
91
SoVRMLImageTexture
* node);
92
static
void
oneshot_readimage_cb(
void
*,
SoSensor
*);
93
94
};
// class SoVRMLImageTexture
95
96
#endif
// ! COIN_SOVRMLIMAGETEXTURE_H
SbImage
The SbImage class is an abstract data type for 2D and 3D images.
Definition
SbImage.h:46
SbList
The SbList class is a template container class for lists.
Definition
SbList.h:70
SbString
The SbString class is a string class with convenience functions for string operations.
Definition
SbString.h:52
SoAction
The SoAction class is the base class for all traversal actions.
Definition
SoAction.h:77
SoCallbackAction
The SoCallbackAction class invokes callbacks at specific nodes.
Definition
SoCallbackAction.h:80
SoGLRenderAction
The SoGLRenderAction class renders the scene graph with OpenGL calls.
Definition
SoGLRenderAction.h:50
SoInput
The SoInput class is an abstraction of file import functionality.
Definition
SoInput.h:61
SoMFString
The SoMFString class is a container for SbString values.
Definition
SoMFString.h:40
SoRayPickAction
The SoRayPickAction class does ray intersection with scene graphs.
Definition
SoRayPickAction.h:50
SoSensor
The SoSensor class is the abstract base class for all sensors.
Definition
SoSensor.h:43
SoVRMLImageTexture
The SoVRMLImageTexture class is used for mapping a texture file onto geometry.
Definition
SoVRMLImageTexture.h:49
SoVRMLTexture
The SoVRMLTexture class is a superclass for VRML texture nodes.
Definition
SoVRMLTexture.h:41
include
Inventor
VRMLnodes
SoVRMLImageTexture.h
Generated on Sun Nov 17 2024 22:57:40 for Coin by
1.10.0