Coin Logo http://www.sim.no
http://www.coin3d.org

SoTextureCubeMap.h
1 #ifndef COIN_SOTEXTURECUBEMAP_H
2 #define COIN_SOTEXTURECUBEMAP_H
3 
4 /**************************************************************************\
5  *
6  * This file is part of the Coin 3D visualization library.
7  * Copyright (C) 1998-2007 by Systems in Motion. All rights reserved.
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public License
11  * ("GPL") version 2 as published by the Free Software Foundation.
12  * See the file LICENSE.GPL at the root directory of this source
13  * distribution for additional information about the GNU GPL.
14  *
15  * For using Coin with software that can not be combined with the GNU
16  * GPL, and for taking advantage of the additional benefits of our
17  * support services, please contact Systems in Motion about acquiring
18  * a Coin Professional Edition License.
19  *
20  * See http://www.coin3d.org/ for more information.
21  *
22  * Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
23  * http://www.sim.no/ sales@sim.no coin-support@coin3d.org
24  *
25 \**************************************************************************/
26 
27 #include <Inventor/nodes/SoSubNode.h>
28 #include <Inventor/fields/SoSFEnum.h>
29 #include <Inventor/fields/SoSFImage.h>
30 #include <Inventor/fields/SoMFString.h>
31 #include <Inventor/fields/SoSFColor.h>
32 #include <Inventor/elements/SoTextureImageElement.h>
33 
34 class SoFieldSensor;
35 class SoSensor;
36 class SoTextureCubeMapP;
37 
38 class COIN_DLL_API SoTextureCubeMap : public SoNode {
39  typedef SoNode inherited;
40 
41  SO_NODE_HEADER(SoTextureCubeMap);
42 
43 public:
44  static void initClass(void);
45  SoTextureCubeMap(void);
46 
47  enum Model {
48  MODULATE = SoTextureImageElement::MODULATE,
49  DECAL = SoTextureImageElement::DECAL,
50  BLEND = SoTextureImageElement::BLEND,
51  REPLACE = SoTextureImageElement::REPLACE
52  };
53 
54  enum Wrap {
55  REPEAT = SoTextureImageElement::REPEAT,
56  CLAMP = SoTextureImageElement::CLAMP
57  };
58 
60 
67 
72 
73  virtual void doAction(SoAction * action);
74  virtual void GLRender(SoGLRenderAction * action);
75  virtual void callback(SoCallbackAction * action);
76  virtual void rayPick(SoRayPickAction * action);
77 
78  static SbBool readImage(const SbString & fname, int & w, int & h, int & nc,
79  unsigned char *& bytes);
80 protected:
81  virtual ~SoTextureCubeMap();
82 
83  virtual SbBool readInstance(SoInput * in, unsigned short flags);
84  virtual void notify(SoNotList * list);
85  int getReadStatus(void);
86  void setReadStatus(int s);
87 
88 private:
89  SbBool loadFilename(const SbString & filename, SoSFImage * image);
90  static void filenameSensorCB(void *, SoSensor *);
91  SoSFImage * getImageField(const int idx);
92 
93  SoTextureCubeMapP * pimpl;
94 };
95 
96 #endif // !COIN_SOTEXTURECUBEMAP_H
The SoBase class is the top-level superclass for a number of class-hierarchies.SoBase provides the ba...
Definition: SoBase.h:41
SoMFString filenames
Definition: SoTextureCubeMap.h:59
The SoRayPickAction class does ray intersection with scene graphs.For interaction with the scene grap...
Definition: SoRayPickAction.h:40
virtual void notify(SoNotList *l)
Definition: SoNode.cpp:423
The SoSFColor class is a container for an SbColor value.This field is used where nodes, engines or other field containers needs to store a single color value (i.e. Red + Green + Blue).
Definition: SoSFColor.h:31
The SoNode class is the base class for nodes used in scene graphs.Coin is a retained mode 3D visualiz...
Definition: SoNode.h:47
The SoSFEnum class is a container for an enum value.This field is used where nodes, engines or other field containers needs to store one particular value out of an enumerated set.
Definition: SoSFEnum.h:31
Model
Definition: SoTextureCubeMap.h:47
virtual void rayPick(SoRayPickAction *action)
Definition: SoNode.cpp:1087
SoSFImage imageNegZ
Definition: SoTextureCubeMap.h:66
The SoSensor class is the abstract base class for all sensors.Sensors is a mechanism in Coin for sche...
Definition: SoSensor.h:34
virtual SbBool readInstance(SoInput *in, unsigned short flags)
Definition: SoNode.cpp:1438
The SoAction class is the base class for all traversal actions.Applying actions is the basic mechanis...
Definition: SoAction.h:67
The SoMFString class is a container for SbString values.This field is used where nodes, engines or other field containers needs to store arrays of strings.
Definition: SoMFString.h:31
SoSFEnum wrapT
Definition: SoTextureCubeMap.h:69
The SoFieldSensor class detects changes to a field.Attach a field to a sensor of this type to put it ...
Definition: SoFieldSensor.h:29
virtual void doAction(SoAction *action)
Definition: SoNode.cpp:761
SoSFEnum wrapS
Definition: SoTextureCubeMap.h:68
SoSFImage imagePosY
Definition: SoTextureCubeMap.h:63
The SoCallbackAction class invokes callbacks at specific nodes.This action has mechanisms for trackin...
Definition: SoCallbackAction.h:70
The SoSFImage class is used to store pixel images.The SoSFImage class provides storage for inline 2D ...
Definition: SoSFImage.h:32
The SoTextureCubeMap class is used to map a cube map onto subsequent shape nodes.Shape nodes within t...
Definition: SoTextureCubeMap.h:38
SoSFImage imagePosX
Definition: SoTextureCubeMap.h:61
The SoInput class is an abstraction of file import functionality.This class takes care of most of the...
Definition: SoInput.h:55
SoSFColor blendColor
Definition: SoTextureCubeMap.h:71
SoSFImage imageNegY
Definition: SoTextureCubeMap.h:64
virtual void GLRender(SoGLRenderAction *action)
Definition: SoNode.cpp:904
The SbString class is a string class with convenience functions for string operations.This is the class used for storing and working with character strings. It automatically takes care of supporting all the "bookkeeping" tasks usually associated with working with character strings, like memory allocation and deallocation etc.
Definition: SbString.h:42
The SoNotList class is a list of SoNotRec notification records.
Definition: SoNotification.h:34
virtual void callback(SoCallbackAction *action)
Definition: SoNode.cpp:974
SoSFImage imagePosZ
Definition: SoTextureCubeMap.h:65
SoSFEnum model
Definition: SoTextureCubeMap.h:70
Wrap
Definition: SoTextureCubeMap.h:54
The SoGLRenderAction class renders the scene graph with OpenGL calls.Applying this method at a root n...
Definition: SoGLRenderAction.h:39
SoSFImage imageNegX
Definition: SoTextureCubeMap.h:62

Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.

Generated on Fri Jul 20 2018 for Coin by Doxygen. 1.8.14