1#ifndef COIN_SOGLRENDERACTION_H
2#define COIN_SOGLRENDERACTION_H
27#include <Inventor/actions/SoAction.h>
28#include <Inventor/actions/SoSubAction.h>
29#include <Inventor/SbBasic.h>
30#include <Inventor/SbViewportRegion.h>
31#include <Inventor/system/inttypes.h>
32#include <Inventor/lists/SoPathList.h>
33#include <Inventor/lists/SbList.h>
35typedef void SoGLRenderPassCB(
void * userdata);
36typedef void SoGLPreRenderCB(
void * userdata,
class SoGLRenderAction * action);
37typedef float SoGLSortedObjectOrderCB(
void * userdata,
SoGLRenderAction * action);
39class SoGLRenderActionP;
54 ADD, DELAYED_ADD, SORTED_OBJECT_ADD,
55 BLEND, DELAYED_BLEND, SORTED_OBJECT_BLEND,
64 NONSOLID_SEPARATE_BACKFACE_PASS
84 void setAbortCallback(SoGLRenderAbortCB *
const func,
void *
const userdata);
85 void getAbortCallback(SoGLRenderAbortCB * & func_out,
void * & userdata_out)
const;
90 void setSmoothing(
const SbBool smooth);
91 SbBool isSmoothing(
void)
const;
92 void setNumPasses(
const int num);
93 int getNumPasses(
void)
const;
94 void setPassUpdate(
const SbBool flag);
95 SbBool isPassUpdate(
void)
const;
96 void setPassCallback(SoGLRenderPassCB *
const func,
void *
const userdata);
97 void setCacheContext(
const uint32_t context);
98 uint32_t getCacheContext(
void)
const;
100 void addDelayedPath(
SoPath * path);
101 SbBool isRenderingDelayedPaths(
void)
const;
103 SbBool handleTransparency(SbBool istransparent = FALSE);
104 void setCurPass(
const int passnum,
const int numpasses);
105 int getCurPass(
void)
const;
106 SbBool abortNow(
void);
108 void setRenderingIsRemote(SbBool isremote);
109 SbBool getRenderingIsRemote(
void)
const;
113 void addPreRenderCallback(SoGLPreRenderCB * func,
void * userdata);
114 void removePreRenderCallback(SoGLPreRenderCB * func,
void * userdata);
116 void setSortedLayersNumPasses(
int num);
117 int getSortedLayersNumPasses(
void)
const;
120 SoGLSortedObjectOrderCB * cb = NULL,
121 void * closure = NULL);
123 void setDelayedObjDepthWrite(SbBool write);
124 SbBool getDelayedObjDepthWrite(
void)
const;
126 SbBool isRenderingTranspPaths(
void)
const;
127 SbBool isRenderingTranspBackfaces(
void)
const;
130 friend class SoGLRenderActionP;
135 SbPimplPtr<SoGLRenderActionP> pimpl;
The SbVec2f class is a 2 dimensional vector with floating point coordinates.
Definition SbVec2f.h:39
The SbViewportRegion class is a viewport within a full window.
Definition SbViewportRegion.h:31
The SoAction class is the base class for all traversal actions.
Definition SoAction.h:68
virtual void invalidateState(void)
Definition SoAction.cpp:815
static void initClass(void)
Definition SoAction.cpp:366
virtual void beginTraversal(SoNode *node)
Definition SoAction.cpp:1263
virtual void endTraversal(SoNode *node)
Definition SoAction.cpp:1273
The SoGLRenderAction class renders the scene graph with OpenGL calls.
Definition SoGLRenderAction.h:41
AbortCode
Definition SoGLRenderAction.h:67
@ ABORT
Definition SoGLRenderAction.h:68
TransparencyType
Definition SoGLRenderAction.h:52
@ ADD
Definition SoGLRenderAction.h:54
@ SORTED_OBJECT_SORTED_TRIANGLE_ADD
Definition SoGLRenderAction.h:57
@ SCREEN_DOOR
Definition SoGLRenderAction.h:53
@ BLEND
Definition SoGLRenderAction.h:55
@ SORTED_OBJECT_SORTED_TRIANGLE_BLEND
Definition SoGLRenderAction.h:58
@ NONE
Definition SoGLRenderAction.h:59
TransparentDelayedObjectRenderType
Definition SoGLRenderAction.h:62
@ ONE_PASS
Definition SoGLRenderAction.h:63
AbortCode SoGLRenderAbortCB(void *userdata)
Definition SoGLRenderAction.h:78
SortedObjectOrderStrategy
Definition SoGLRenderAction.h:71
@ BBOX_CENTER
Definition SoGLRenderAction.h:72
@ BBOX_FARTHEST_CORNER
Definition SoGLRenderAction.h:74
The SoNode class is the base class for nodes used in scene graphs.
Definition SoNode.h:47
The SoPath class is a container class for traversal path descriptions.
Definition SoPath.h:43