1 #ifndef COIN_SOCALLBACKACTION_H
2 #define COIN_SOCALLBACKACTION_H
29 #include <Inventor/actions/SoAction.h>
30 #include <Inventor/actions/SoSubAction.h>
31 #include <Inventor/elements/SoDecimationTypeElement.h>
32 #include <Inventor/lists/SbList.h>
33 #include <Inventor/nodes/SoComplexity.h>
34 #include <Inventor/nodes/SoDrawStyle.h>
35 #include <Inventor/nodes/SoLightModel.h>
36 #include <Inventor/nodes/SoMaterialBinding.h>
37 #include <Inventor/nodes/SoNormalBinding.h>
38 #include <Inventor/nodes/SoPickStyle.h>
39 #include <Inventor/nodes/SoShapeHints.h>
40 #include <Inventor/nodes/SoTexture2.h>
41 #include <Inventor/nodes/SoTextureCoordinateBinding.h>
42 #include <Inventor/nodes/SoUnits.h>
52 class SoCallbackActionP;
91 void addPreCallback(
const SoType type, SoCallbackActionCB * cb,
void * userdata);
92 void addPostCallback(
const SoType type, SoCallbackActionCB * cb,
void * userdata);
94 void addPreTailCallback(SoCallbackActionCB * cb,
void * userdata);
95 void addPostTailCallback(SoCallbackActionCB * cb,
void * userdata);
97 void addTriangleCallback(
const SoType type, SoTriangleCB * cb,
void * userdata);
98 void addLineSegmentCallback(
const SoType type, SoLineSegmentCB * cb,
void * userdata);
99 void addPointCallback(
const SoType type, SoPointCB * cb,
void * userdata);
102 float getDecimationPercentage(
void)
const;
103 float getComplexity(
void)
const;
105 int32_t getNumCoordinates(
void)
const;
106 const SbVec3f & getCoordinate3(
const int index)
const;
107 const SbVec4f & getCoordinate4(
const int index)
const;
109 unsigned short getLinePattern(
void)
const;
110 float getLineWidth(
void)
const;
111 float getPointSize(
void)
const;
112 const SbName & getFontName(
void)
const;
113 float getFontSize(
void)
const;
115 const SbVec3f & getLightAttenuation(
void)
const;
118 float & shininess,
float & transparency,
119 const int index = 0)
const;
121 uint32_t getNumNormals(
void)
const;
122 const SbVec3f & getNormal(
const int index)
const;
124 int32_t getNumProfileCoordinates(
void)
const;
125 const SbVec2f & getProfileCoordinate2(
const int index)
const;
126 const SbVec3f & getProfileCoordinate3(
const int index)
const;
131 float getCreaseAngle(
void)
const;
132 int32_t getNumTextureCoordinates(
void)
const;
133 const SbVec2f & getTextureCoordinate2(
const int index)
const;
134 const SbVec3f & getTextureCoordinate3(
const int index)
const;
135 const SbVec4f & getTextureCoordinate4(
const int index)
const;
137 const SbColor & getTextureBlendColor(
void)
const;
138 const unsigned char * getTextureImage(
SbVec2s & size,
int & numcomps)
const;
139 const unsigned char * getTextureImage(
SbVec3s & size,
int & numcomps)
const;
140 const SbMatrix & getTextureMatrix(
void)
const;
145 const SbMatrix & getModelMatrix(
void)
const;
147 float getFocalDistance(
void)
const;
148 const SbMatrix & getProjectionMatrix(
void)
const;
149 const SbMatrix & getViewingMatrix(
void)
const;
153 int32_t getSwitch(
void)
const;
155 Response getCurrentResponse(
void)
const;
156 void invokePreCallbacks(
const SoNode *
const node);
157 void invokePostCallbacks(
const SoNode *
const node);
158 void invokeTriangleCallbacks(
const SoShape *
const shape,
162 void invokeLineSegmentCallbacks(
const SoShape *
const shape,
165 void invokePointCallbacks(
const SoShape *
const shape,
168 SbBool shouldGeneratePrimitives(
const SoShape * shape)
const;
171 void setCurrentNode(
SoNode *
const node);
173 void setCallbackAll(SbBool callbackall);
174 SbBool isCallbackAll(
void)
const;
180 void commonConstructor(
void);
183 SbPimplPtr<SoCallbackActionP> pimpl;
184 friend class SoCallbackActionP;
190 #endif // !COIN_SOCALLBACKACTION_H
The SbVec2f class is a 2 dimensional vector with floating point coordinates.This vector class is used...
Definition: SbVec2f.h:39
The SbColor class contains the red, green and blue components which make up a color value...
Definition: SbColor.h:30
static void initClass(void)
Definition: SoAction.cpp:366
FaceType
Definition: SoShapeHints.h:53
The SoPrimitiveVertex class represents a single vertex of a generated primitive.Instances of SoPrimit...
Definition: SoPrimitiveVertex.h:34
The SbVec4f class is a 4 dimensional vector with floating point coordinates.This vector class is used...
Definition: SbVec4f.h:40
ShapeType
Definition: SoShapeHints.h:48
Units
Definition: SoUnits.h:42
VertexOrdering
Definition: SoShapeHints.h:42
Style
Definition: SoDrawStyle.h:43
Type
Definition: SoComplexity.h:41
The SoNode class is the base class for nodes used in scene graphs.Coin is a retained mode 3D visualiz...
Definition: SoNode.h:47
virtual SoNode * getCurPathTail(void)
Definition: SoAction.cpp:1111
The SbVec3s class is a 3 dimensional vector with short integer coordinates.This vector class provides...
Definition: SbVec3s.h:39
The SoAction class is the base class for all traversal actions.Applying actions is the basic mechanis...
Definition: SoAction.h:68
Binding
Definition: SoTextureCoordinateBinding.h:40
The SbVec3f class is a 3 dimensional vector with floating point coordinates.This vector class is used...
Definition: SbVec3f.h:40
Wrap
Definition: SoTexture2.h:56
Response
Definition: SoCallbackAction.h:85
Model
Definition: SoLightModel.h:40
Model
Definition: SoTexture2.h:49
Type
Definition: SoDecimationTypeElement.h:39
The SbMatrix class is a 4x4 dimensional representation of a matrix.SbMatrix is used by many other cla...
Definition: SbMatrix.h:37
Response SoCallbackActionCB(void *userdata, SoCallbackAction *action, const SoNode *node)
Definition: SoCallbackAction.h:87
The SbViewVolume class is a viewing volume in 3D space.This class contains the necessary information ...
Definition: SbViewVolume.h:41
The SoCallbackAction class invokes callbacks at specific nodes.This action has mechanisms for trackin...
Definition: SoCallbackAction.h:71
The SoNodeList class is a container for pointers to SoNode objects.
Definition: SoNodeList.h:31
virtual void beginTraversal(SoNode *node)
Definition: SoAction.cpp:1263
Style
Definition: SoPickStyle.h:40
The SbViewportRegion class is a viewport within a full window.The SbViewportRegion class contains inf...
Definition: SbViewportRegion.h:31
The SoShape class is the superclass for geometry shapes.The node types which have actual geometry to ...
Definition: SoShape.h:43
Binding
Definition: SoNormalBinding.h:40
The SbVec2s class is a 2 dimensional vector with short integer coordinates.This vector class is used ...
Definition: SbVec2s.h:41
The SoType class is the basis for the run-time type system in Coin.Many of the classes in the Coin li...
Definition: SoType.h:50
The SbName class stores strings by reference.The class is used by Coin for storing keywords...
Definition: SbName.h:31
Binding
Definition: SoMaterialBinding.h:40