Coin 2.5 added improved support for OpenGL vertex array and VBO rendering. This might lead to major rendering performance improvements compared to the old rendering code. The new rendering code has been added for the SoIndexedFaceSet, SoVRMLIndexedFaceSet, SoIndexedLineSet, SoVRMLIndexedLineSet, SoPointSet and SoVRMLPointSet nodes.
To take advantage of the improved performance vertex array and VBO rendering yields, you'll need to organize your vertex data in a way that makes it possible to render it with OpenGL vertex arrays. OpenGL vertex array rendering does not support multiple index arrays, so all your vertex data (coordinates, normals, colors and texture coordinates) must use the same index array; or use OVERALL binding. For the indexed nodes, this means that PER_VERTEX_INDEXED and OVERALL are the only supported bindings for materials, normals and texture coordinates. When PER_VERTEX_INDEXED binding is used, the corresponding index field should by empty. This will signal the shape to use the coordIndex field for indices. Below is an example scene graph that will be rendered using vertex arrays:
NormalBinding { value PER_VERTEX_INDEXED }
Coordinate3 {
point [
0 0 0, # 0
1 0 0, # 1
2 0 0, # 2
0 1 0, # 3
1 1 0, # 4
2 1 0, # 5
0 2 0, # 6
1 2 0, # 7
2 2 0, # 8
2 0 0, # 9
2 0 -1, # 10
2 1 0, # 11
2 1 -1, # 12
2 2 0, # 13
2 2 -1 # 14
]
}
Normal {
vector [
0 0 1, # 0
0 0 1, # 1
0 0 1, # 2
0 0 1, # 3
0 0 1, # 4
0 0 1, # 5
0 0 1, # 6
0 0 1, # 7
0 0 1, # 8
1 0 0, # 9
1 0 0, # 10
1 0 0, # 11
1 0 0, # 12
1 0 0, # 13
1 0 0 # 14
]
}
IndexedFaceSet {
coordIndex [
0, 1, 4, 3, -1,
1, 2, 5, 4, -1,
3, 4, 7, 6, -1,
4, 5, 8, 7, -1,
9, 10, 12, 11, -1,
11, 12, 14, 13, -1
]
normalIndex [ ] # = use coordIndex
}
Please note that since only one index array can be used, it might be necessary to supply duplicate normals and coordinates to meet this requirement.
Also, if normals are needed, you have to supply them. A shape with autogenerated normals can't be rendered using vertex arrays (since a single coordinate might get multiple normals).
The PointSet nodes can always be rendered using vertex arrays since these nodes haven't got index arrays, and the only bindings supported are PER_VERTEX and OVERALL.
If it's inconvenient to create vertex array ready scene graphs directly from your application, it's also possible to use SoReorganizeAction to reorganize the geometry before rendering.
virtual void GLRenderBelowPath(SoGLRenderAction *action)
Definition: Group.cpp:514
SoSFInt32 whichChoice
Definition: SoVRMLSwitch.h:54
static SoField * getGlobalField(const SbName &name)
Definition: SoDB.cpp:1297
The SbRotation class represents a rotation in 3D space.
Definition: SbRotation.h:33
virtual ~SoVRMLVertexPoint()
Definition: VertexPoint.cpp:75
SoSFBool repeatS
Definition: SoVRMLTexture.h:39
SoSFVec2f hitTexCoord_changed
Definition: SoVRMLTouchSensor.h:45
virtual void notify(SoNotList *list)
Definition: VertexShape.cpp:236
virtual void setPointStyle(const PointStyle &style)
Definition: VectorizeAction.cpp:444
virtual void calibrate(const SbViewportRegion &vp)
Definition: VectorizeAction.cpp:347
HLHSRMode getHLHSRMode(void) const
Definition: VectorizeAction.cpp:710
int findNode(const SoNode *node) const
Definition: SoMFNode.cpp:506
The SoState class manages the Coin scenegraph traversal state data.
Definition: SoState.h:35
virtual void callback(SoCallbackAction *action)
Definition: VertexShape.cpp:224
virtual void doAction(SoAction *action)
Definition: TextureTransform.cpp:156
int getNum(void) const
Definition: SoMField.h:86
virtual void search(SoSearchAction *action)
Definition: SoNode.cpp:1120
virtual void setPenDescription(int num_pens, const SbColor *colors=0, const float *widths=0, DimensionUnit u=MM)
Definition: VectorizeAction.cpp:749
void removeChoice(int idx)
Definition: Switch.cpp:244
virtual void setHLHSRMode(HLHSRMode mode)
Definition: VectorizeAction.cpp:702
virtual void getPrimitiveCount(SoGetPrimitiveCountAction *action)
Definition: Sphere.cpp:161
virtual SoChildList * getChildren(void) const
Definition: Text.cpp:563
const SbVec3f & getNormal() const
Definition: SoPickedPoint.cpp:151
virtual SbBool readInstance(SoInput *in, unsigned short flags)
Definition: Switch.cpp:590
virtual ~SoVRMLSwitch(void)
Definition: Switch.cpp:176
virtual void getPrimitiveCount(SoGetPrimitiveCountAction *action)
Definition: Text.cpp:506
The SoAudioRenderAction class renders the aural parts of the scene graph.
Definition: SoAudioRenderAction.h:30
const SbVec2s & getViewportSizePixels(void) const
Definition: SbViewportRegion.cpp:425
SoVRMLVertexShape(void)
Definition: VertexShape.cpp:117
int findChoice(SoNode *choice) const
Definition: Switch.cpp:226
SbColor4f & setRGB(const SbColor &col)
Definition: SbColor4f.cpp:198
The SbVec2f class is a 2 dimensional vector with floating point coordinates.
Definition: SbVec2f.h:36
const SoNode ** getValues(const int start) const
Definition: SoMFNode.h:35
virtual void apply(SoNode *root)
Definition: SoAction.cpp:476
SoSFBool colorPerVertex
Definition: SoVRMLVertexShape.h:51
virtual void setWorkingSpace(const SbMatrix &space)
Definition: SbSphereProjector.cpp:220
SoVRMLWorldInfo(void)
Definition: WorldInfo.cpp:81
SoSFNode color
Definition: SoVRMLVertexPoint.h:42
void setDefault2DFont(const SbString &fontname)
Definition: VectorizePSAction.cpp:156
static SbRotation identity(void)
Definition: SbRotation.cpp:674
virtual void generatePrimitives(SoAction *action)
Definition: Text.cpp:737
SoSFBool loop
Definition: SoVRMLTimeSensor.h:47
void enable(const SbBool flag)
Definition: SoEngineOutput.cpp:136
void pop(void)
Definition: SoState.cpp:284
virtual void computeBBox(SoAction *action, SbBox3f &box, SbVec3f ¢er)
Definition: Sphere.cpp:183
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition: SbMatrix.h:37
virtual void printViewport(void) const
Definition: VectorizePSAction.cpp:319
FILE * getFilePointer(void)
Definition: VectorOutput.cpp:111
const float * getValue(void) const
Definition: SbVec4f.cpp:157
SbVec3f getCenter(void) const
Definition: SbBox3f.cpp:161
The SoVRMLSphere class is used to represent a spherical 3D object.
Definition: SoVRMLSphere.h:31
virtual ~SoVRMLSphere()
Definition: Sphere.cpp:113
The SoChildList class is a container for node children.
Definition: SoChildList.h:33
virtual void GLRender(SoGLRenderAction *action)
Definition: TextureTransform.cpp:173
SbMatrix & getTextureInverse(void)
Definition: SoGetMatrixAction.cpp:178
SoMFVec2f point
Definition: SoVRMLTextureCoordinate.h:40
The SoVRMLText class is used to represent text in a scene.
Definition: SoVRMLText.h:36
static void post(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:314
void setRotate(const SbRotation &q)
Definition: SbMatrix.cpp:314
virtual void notify(SoNotList *list)
Definition: Geometry.cpp:163
The SoWriteAction class writes a scene graph to file.
Definition: SoWriteAction.h:31
virtual void notify(SoNotList *nl)
Definition: SoNodeEngine.cpp:226
The SoSensor class is the abstract base class for all sensors.
Definition: SoSensor.h:34
The SoVRMLSphereSensor class maps pointer motion into rotations on a sphere.
Definition: SoVRMLSphereSensor.h:34
virtual Orientation getOrientation(void) const
Definition: VectorizeAction.cpp:370
The SoVRMLTextureTransform class defines a transformation applied to texture coordinates.
Definition: SoVRMLTextureTransform.h:34
void setCenter(const SbVec3f ¢er, const SbBool transformcenter)
Definition: SoGetBoundingBoxAction.cpp:529
SoNotRec * getLastRec(void) const
Definition: SoNotification.cpp:149
virtual void inputChanged(SoField *whichInput)
Definition: TimeSensor.cpp:353
virtual void computeBBox(SoAction *action, SbBox3f &box, SbVec3f ¢er)
Definition: Text.cpp:571
The SbColor4f class contains the red, green, blue and alpha components which make up a color value.
Definition: SbColor4f.h:32
virtual void notify(SoNotList *l)
Definition: SoNode.cpp:423
virtual void GLRenderInPath(SoGLRenderAction *action)
Definition: Group.cpp:600
SoNode * getChoice(int idx) const
Definition: Switch.cpp:217
SbBool isDefault(void) const
Definition: SoField.cpp:669
void resetCenter(void)
Definition: SoGetBoundingBoxAction.cpp:571
SoSFFloat fieldOfView
Definition: SoVRMLViewpoint.h:49
SbBool getConnectedField(SoField *&master) const
Definition: SoField.cpp:1188
virtual void handleEvent(SoHandleEventAction *action)
Definition: Switch.cpp:403
void setCharacterIndex(const int idx)
Definition: SoTextDetail.cpp:127
int getNumChoices(void) const
Definition: Switch.cpp:235
SoSFVec3f attenuation
Definition: SoVRMLSpotLight.h:46
virtual SoChildList * getChildren(void) const
Definition: Switch.cpp:613
virtual void GLRender(SoGLRenderAction *action)
Definition: SoNode.cpp:904
virtual void drag(void)
Definition: SphereSensor.cpp:187
The SoSFBool class is a container for an SbBool value.
Definition: SoSFBool.h:30
SoMFVec3f vector
Definition: SoVRMLNormal.h:40
void setOutput(SoVectorOutput *output)
Definition: VectorizeAction.cpp:532
SbBool isIgnored(void) const
Definition: SoField.cpp:638
void truncate(const int length, const int dofit=0)
Definition: SbList.h:149
void setTransform(const SbVec3f &t, const SbRotation &r, const SbVec3f &s)
Definition: SbMatrix.cpp:812
void removeAllChoices(void)
Definition: Switch.cpp:262
void multVecMatrix(const SbVec3f &src, SbVec3f &dst) const
Definition: SbMatrix.cpp:1357
const SbMatrix & getLocalToWorldMatrix(void) const
Definition: DragSensor.cpp:199
virtual SbBool shouldGLRender(SoGLRenderAction *action)
Definition: VertexShape.cpp:251
SoMFString string
Definition: SoVRMLText.h:45
SoSFNode color
Definition: SoVRMLVertexLine.h:41
void push(void)
Definition: SoState.cpp:265
SoVRMLTextureTransform(void)
Definition: TextureTransform.cpp:137
SoBase * getBase(void) const
Definition: SoNotRec.cpp:71
SoSFNode coord
Definition: SoVRMLVertexPoint.h:41
virtual void doAction(SoAction *action)
Definition: TextureCoordinate.cpp:133
virtual void getBoundingBox(SoGetBoundingBoxAction *action)
Definition: Group.cpp:333
The SoVectorizePSAction class is used for rendering to a Postscript file.
Definition: SoVectorizePSAction.h:36
SoChildList * children
Definition: SoGroup.h:75
The SoPSVectorOutput class is used for writing Postscript.
Definition: SoPSVectorOutput.h:32
SoSFVec2f scale
Definition: SoVRMLTextureTransform.h:45
virtual ~SoVRMLTimeSensor()
Definition: TimeSensor.cpp:296
virtual void GLRender(SoGLRenderAction *action)
Definition: VertexPoint.cpp:94
SoSFFloat radius
Definition: SoVRMLSpotLight.h:45
const SbVec3f & getMin(void) const
Definition: SbBox3f.cpp:122
virtual void getBoundingBox(SoGetBoundingBoxAction *action)
Definition: VertexLine.cpp:115
SbMatrix & getInverse(void)
Definition: SoGetMatrixAction.cpp:160
int unlock(void)
Definition: SbMutex.h:41
virtual void beginViewport(const SbVec2f &startpos=SbVec2f(-1.0f, 1.0f), const SbVec2f &size=SbVec2f(-1.0f, -1.0f), DimensionUnit u=MM)
Definition: VectorizeAction.cpp:295
SoVRMLSphereSensor(void)
Definition: SphereSensor.cpp:149
SoVectorOutput(void)
Definition: VectorOutput.cpp:58
virtual void GLRender(SoGLRenderAction *action)
Definition: VertexLine.cpp:102
The SoVRMLVisibilitySensor class will generate events based on visibility.
Definition: SoVRMLVisibilitySensor.h:33
virtual void getPrimitiveCount(SoGetPrimitiveCountAction *action)
Definition: SoGroup.cpp:771
SoSFBool colorPerVertex
Definition: SoVRMLVertexLine.h:42
SbMatrix inverse(void) const
Definition: SbMatrix.cpp:418
The SoSearchAction class provides methods for searching through scene graphs.
Definition: SoSearchAction.h:32
SbBool is3DTextCountedAsTriangles(void)
Definition: SoGetPrimitiveCountAction.cpp:182
The SbBox3f class is an abstraction for an axis aligned 3 dimensional box.
Definition: SbBox3f.h:37
const SbMatrix & getWorldToLocalMatrix(void) const
Definition: DragSensor.cpp:208
const SoPath * getCurPath(void)
Definition: SoAction.cpp:1044
SbMatrix & multLeft(const SbMatrix &m)
Definition: SbMatrix.cpp:1280
virtual SbBool affectsState(void) const
Definition: Switch.cpp:183
virtual void printFooter(void) const
Definition: VectorizeAction.cpp:465
virtual void doAction(SoAction *action)
Definition: VertexLine.cpp:89
virtual void GLRender(SoGLRenderAction *action)
Definition: Text.cpp:267
SoSFVec3f direction
Definition: SoVRMLSpotLight.h:42
static void postWarning(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:324
void readLockNormalCache(void)
Definition: VertexShape.cpp:363
The SoAction class is the base class for all traversal actions.
Definition: SoAction.h:67
virtual ColorTranslationMethod getColorTranslationMethod(void) const
Definition: VectorizeAction.cpp:659
virtual void getMatrix(SoGetMatrixAction *action)
Definition: TextureTransform.cpp:180
virtual void setBackgroundColor(SbBool bg, const SbColor &col=SbColor(0.0f, 0.0f, 0.0f))
Definition: VectorizeAction.cpp:381
void replaceChoice(int idx, SoNode *choice)
Definition: Switch.cpp:271
int lock(void)
Definition: SbMutex.h:35
void replaceChild(int idx, SoNode *node)
Definition: Switch.cpp:522
The SoVRMLViewpoint class is a perspective camera class.
Definition: SoVRMLViewpoint.h:38
virtual void printBackground(void) const
Definition: VectorizeAction.cpp:475
virtual void beginPage(const SbVec2f &startpagepos, const SbVec2f &pagesize, DimensionUnit u=MM)
Definition: VectorizeAction.cpp:253
The SoFullPath class allows examination of hidden children in paths.
Definition: SoFullPath.h:29
void setScale(const float s)
Definition: SbMatrix.cpp:760
SbMatrix & getTextureMatrix(void)
Definition: SoGetMatrixAction.cpp:169
SoVRMLSwitch(void)
Definition: Switch.cpp:137
SoSFNode fontStyle
Definition: SoVRMLText.h:46
const SbVec3f & getCenter(void) const
Definition: SoGetBoundingBoxAction.cpp:332
void beginShape(SoAction *const action, const TriangleShape shapetype, SoDetail *const detail=NULL)
Definition: SoShape.cpp:1349
virtual void pick(SoPickAction *action)
Definition: VertexPoint.cpp:121
SoSFVec3f center
Definition: SoVRMLVisibilitySensor.h:42
void removeNode(int index)
Definition: SoMFNode.cpp:537
virtual void setLineJoinsStyle(JoinLineStyle style)
Definition: VectorizeAction.cpp:685
SoVRMLViewpoint(void)
Definition: Viewpoint.cpp:311
The SoVRMLTexture class is a superclass for VRML texture nodes.
Definition: SoVRMLTexture.h:31
static void updateChildList(const SoNode *const *nodes, const int numnodes, SoChildList &cl)
Definition: Parent.cpp:378
virtual SbBool shouldGLRender(SoGLRenderAction *action)
Definition: Geometry.cpp:105
SoMFString info
Definition: SoVRMLWorldInfo.h:42
const SbVec3f & getLocalStartingPoint(void) const
Definition: DragSensor.cpp:190
The SoVRMLVertexLine class is a superclass for line based VRML geometry.
Definition: SoVRMLVertexLine.h:33
virtual SbVec3f project(const SbVec2f &point)=0
The SoNotRec class specifies records for notification lists.
Definition: SoNotRec.h:33
SoVRMLSphere(void)
Definition: Sphere.cpp:103
The SoPathList class is a container for pointers to SoPath objects.
Definition: SoPathList.h:31
SoSFTime bindTime
Definition: SoVRMLViewpoint.h:58
virtual void rayPick(SoRayPickAction *action)
Definition: Group.cpp:450
SbMatrix & multRight(const SbMatrix &m)
Definition: SbMatrix.cpp:1240
void append(const Type item)
Definition: SbList.h:98
virtual void computeBBox(SoAction *action, SbBox3f &box, SbVec3f ¢er)
Definition: VertexPoint.cpp:135
The SoVRMLTimeSensor class is a multi-purpose time event generator.
Definition: SoVRMLTimeSensor.h:36
SoVRMLText(void)
Definition: Text.cpp:214
The SbString class is a string class with convenience functions for string operations.
Definition: SbString.h:42
SoNode * getTail(void) const
Definition: SoFullPath.cpp:74
SoSFTime enterTime
Definition: SoVRMLVisibilitySensor.h:52
virtual ~SoVRMLTextureCoordinate()
Definition: TextureCoordinate.cpp:124
@ LEFT
Definition: SoAsciiText.h:45
const SbMatrix & getImageToObject(const SoNode *const node=NULL) const
Definition: SoPickedPoint.cpp:248
SbBool containsPath(const SoPath *const path) const
Definition: SoPath.cpp:611
virtual void setPixelImageSize(float w, DimensionUnit u=MM)
Definition: VectorizeAction.cpp:424
virtual ~SoVRMLTextureTransform()
Definition: TextureTransform.cpp:150
SoSFTime startTime
Definition: SoVRMLTimeSensor.h:48
virtual void callback(SoCallbackAction *action)
Definition: Group.cpp:302
SbBool isNotifyEnabled(void) const
Definition: SoField.cpp:1499
virtual void notify(SoNotList *list)
Definition: VertexPoint.cpp:128
The SoVRMLVertexShape class is a superclass for vertex based shapes.
Definition: SoVRMLVertexShape.h:39
int getNumChildren(void) const
Definition: Switch.cpp:490
The SbSpherePlaneProjector class projects 2D points to a half-sphere and a plane.
Definition: SbSpherePlaneProjector.h:29
SoSFBool on
Definition: SoVRMLLight.h:41
SoSFTime touchTime
Definition: SoVRMLTouchSensor.h:48
SoNode * getChild(int idx) const
Definition: Switch.cpp:476
float length(void) const
Definition: SbVec3f.cpp:356
SoSFFloat ambientIntensity
Definition: SoVRMLLight.h:44
virtual ~SoVRMLTouchSensor()
Definition: TouchSensor.cpp:276
SoVectorizePSAction(void)
Definition: VectorizePSAction.cpp:114
void setViewportRegion(const SbViewportRegion &vp)
Definition: SoCallbackAction.cpp:400
SoSFVec3f size
Definition: SoVRMLVisibilitySensor.h:43
@ SQUARE
Definition: SoVectorizeAction.h:102
virtual SbBool shouldGLRender(SoGLRenderAction *action)
Definition: SoShape.cpp:532
SoVRMLVertexPoint(void)
Definition: VertexPoint.cpp:64
SbColor & setPackedValue(const uint32_t rgba, float &transparency)
Definition: SbColor.cpp:94
virtual SbVec2f getDrawingDimensions(DimensionUnit u=MM) const
Definition: VectorizeAction.cpp:622
void getVertexData(SoState *state, const SoCoordinateElement *&coords, const SbVec3f *&normals, const SbBool neednormals)
Definition: VertexShape.cpp:334
SoMFFloat length
Definition: SoVRMLText.h:48
The SoVRMLNormal class is used to bind normals to geometry.
Definition: SoVRMLNormal.h:31
virtual void setDrawingDimensions(const SbVec2f &d, DimensionUnit u=MM)
Definition: VectorizeAction.cpp:613
virtual void printBackground(void) const
Definition: VectorizePSAction.cpp:340
void unref(void) const
Definition: SoBase.cpp:627
void removeChild(int idx)
Definition: Switch.cpp:497
The SbVec2s class is a 2 dimensional vector with short integer coordinates.
Definition: SbVec2s.h:37
void setDetail(SoDetail *const d)
Definition: SoPrimitiveVertex.cpp:260
void removeAllChildren(void)
Definition: Switch.cpp:513
SoNode * getNode(int idx) const
Definition: SoMFNode.cpp:491
virtual void GLRender(SoGLRenderAction *action)
Definition: Texture.cpp:78
The SoField class is the top-level abstract base class for fields.
Definition: SoField.h:38
SoSFNode texCoord
Definition: SoVRMLVertexShape.h:48
The SoPath class is a container class for traversal path descriptions.
Definition: SoPath.h:43
The SoVectorizeAction class is the base class for vectorizing Coin scene graphs.
Definition: SoVectorizeAction.h:40
virtual void pick(SoPickAction *action)
Definition: VertexShape.cpp:230
@ RIGHT
Definition: SoAsciiText.h:46
SoEngineOutput isActive
Definition: SoVRMLTimeSensor.h:57
virtual ~SoVRMLTexture()
Definition: Texture.cpp:72
virtual void GLRender(SoGLRenderAction *action)
Definition: VisibilitySensor.cpp:184
void setDefault(SbBool def)
Definition: SoField.cpp:650
DimensionUnit
Definition: SoVectorizeAction.h:53
The SoVRMLWorldInfo class contains information about the VRML scene.
Definition: SoVRMLWorldInfo.h:32
The SoGetMatrixAction class is an action for accumulating the transformation matrix of a subgraph.
Definition: SoGetMatrixAction.h:35
virtual void rayPick(SoRayPickAction *action)
Definition: Sphere.cpp:151
virtual void callback(SoCallbackAction *action)
Definition: VertexPoint.cpp:114
virtual void GLRender(SoGLRenderAction *action)
Definition: Sphere.cpp:119
void setTextureCoords(const SbVec2f &texcoords)
Definition: SoPrimitiveVertex.cpp:178
The SoVRMLVertexPoint class is a superclass for point based VRML shapes.
Definition: SoVRMLVertexPoint.h:33
SbRotation inverse(void) const
Definition: SbRotation.cpp:316
virtual SbBool shouldGLRender(SoGLRenderAction *action)
Definition: VertexLine.cpp:143
void addNode(SoNode *node)
Definition: SoMFNode.cpp:463
SoSFVec2f center
Definition: SoVRMLTextureTransform.h:46
SoVRMLVertexLine(void)
Definition: VertexLine.cpp:71
virtual SbVec2f getStartPosition(DimensionUnit u=MM) const
Definition: VectorizeAction.cpp:642
virtual SbBool getBackgroundColor(SbColor &col) const
Definition: VectorizeAction.cpp:392
SoSFFloat cutOffAngle
Definition: SoVRMLSpotLight.h:44
SbMatrix & getMatrix(void)
Definition: SoGetMatrixAction.cpp:151
SoSFBool jump
Definition: SoVRMLViewpoint.h:51
float getComplexityValue(SoAction *action)
Definition: SoShape.cpp:492
SoSFFloat rotation
Definition: SoVRMLTextureTransform.h:44
virtual void endViewport(void)
Definition: VectorizeAction.cpp:330
void setPart(const int idx)
Definition: SoTextDetail.cpp:137
virtual void getMatrix(SoGetMatrixAction *action)
Definition: Switch.cpp:421
virtual ~SoVectorizeAction()
Definition: VectorizeAction.cpp:204
SoSFTime stopTime
Definition: SoVRMLTimeSensor.h:49
SoSFColor color
Definition: SoVRMLLight.h:43
const SbVec3f * getValues(const int start) const
Definition: SoMFVec3f.h:34
void makeEmpty(void)
Definition: SbBox3f.cpp:424
SoSFRotation rotation_changed
Definition: SoVRMLSphereSensor.h:44
SoSFFloat radius
Definition: SoVRMLSphere.h:40
SoSFRotation orientation
Definition: SoVRMLViewpoint.h:48
The SbSphere class is a representation of a sphere.
Definition: SbSphere.h:33
int findChild(const SoNode *child) const
Definition: Switch.cpp:483
SoSFVec3f hitPoint_changed
Definition: SoVRMLTouchSensor.h:44
SoSFRotation offset
Definition: SoVRMLSphereSensor.h:43
virtual void printItem(const SoVectorizeItem *item) const
Definition: VectorizePSAction.cpp:368
virtual SbBool readInstance(SoInput *in, unsigned short flags)
Definition: SoGroup.cpp:278
virtual void notify(SoNotList *list)
Definition: TimeSensor.cpp:304
SoSFFloat maxExtent
Definition: SoVRMLText.h:47
SbBool shouldPrimitiveCount(SoGetPrimitiveCountAction *action)
Definition: SoShape.cpp:1485
const SbString & getDefault2DFont(void) const
Definition: VectorizePSAction.cpp:167
The SoPrimitiveVertex class represents a single vertex of a generated primitive.
Definition: SoPrimitiveVertex.h:33
SoSFBool enabled
Definition: SoVRMLTouchSensor.h:42
void getTransform(SbVec3f &t, SbRotation &r, SbVec3f &s, SbRotation &so) const
Definition: SbMatrix.cpp:997
virtual void setViewVolume(const SbViewVolume &vol)
Definition: SbProjector.cpp:112
PathCode getPathCode(int &numindices, const int *&indices)
Definition: SoAction.cpp:890
SbVec3f & setValue(const float v[3])
Definition: SbVec3f.cpp:461
The SbColor class contains the red, green and blue components which make up a color value.
Definition: SbColor.h:30
The SoBase class is the top-level superclass for a number of class-hierarchies.
Definition: SoBase.h:41
void insertChild(SoNode *child, int idx)
Definition: Switch.cpp:468
const SbVec3f & getPoint() const
Definition: SoPickedPoint.cpp:142
The SbBSPTree class provides a binary space partitioning container.
Definition: SbBSPTree.h:45
virtual void doAction(SoAction *action)
Definition: VertexPoint.cpp:81
virtual void notify(SoNotList *list)
Definition: VertexLine.cpp:136
void addNumPoints(const int num)
Definition: SoGetPrimitiveCountAction.cpp:267
SoState * getState(void) const
Definition: SoAction.cpp:1028
const SbMatrix & getWorldToObject(const SoNode *const node=NULL) const
Definition: SoPickedPoint.cpp:224
virtual void setNominalWidth(float w, DimensionUnit u=MM)
Definition: VectorizeAction.cpp:405
PointStyle
Definition: SoVectorizeAction.h:100
SoSFBool isActive
Definition: SoVRMLVisibilitySensor.h:54
virtual void generatePrimitives(SoAction *action)
Definition: Sphere.cpp:170
void setGouraudThreshold(const double eps)
Definition: VectorizePSAction.cpp:143
Orientation
Definition: SoVectorizeAction.h:54
virtual void closeFile(void)
Definition: VectorOutput.cpp:98
const SbBSPTree & getBSPTree(void) const
Definition: VectorizeAction.cpp:573
SoSFNode normal
Definition: SoVRMLVertexShape.h:49
SbBool enableNotify(SbBool on)
Definition: SoField.cpp:1485
virtual JoinLineStyle getLineJoinsStyle(void) const
Definition: VectorizeAction.cpp:693
const SbViewVolume & getViewVolume(void) const
Definition: DragSensor.cpp:217
void multDirMatrix(const SbVec3f &src, SbVec3f &dst) const
Definition: SbMatrix.cpp:1411
virtual void audioRender(SoAudioRenderAction *action)
Definition: Switch.cpp:410
void setSphere(const SbSphere &sph)
Definition: SbSphereProjector.cpp:121
virtual void copyContents(const SoFieldContainer *from, SbBool copyConn)
Definition: Switch.cpp:603
virtual void getPenDescription(SbColor *colors, float *widths, DimensionUnit u=MM) const
Definition: VectorizeAction.cpp:760
void setPoint(const SbVec3f &point)
Definition: SoPrimitiveVertex.cpp:140
virtual void getBoundingBox(SoGetBoundingBoxAction *action)
Definition: Switch.cpp:396
The SoFieldContainer class is a base class for all classes that contain fields.
Definition: SoFieldContainer.h:35
void ref(void) const
Definition: SoBase.cpp:574
void replaceNode(int idx, SoNode *newnode)
Definition: SoMFNode.cpp:577
virtual void callback(SoCallbackAction *action)
Definition: TextureCoordinate.cpp:142
virtual void notify(SoNotList *list)
Definition: Text.cpp:550
virtual void GLRender(SoGLRenderAction *action)
Definition: TextureCoordinate.cpp:149
virtual void GLRender(SoGLRenderAction *action)
Definition: VertexShape.cpp:200
virtual ~SoVRMLText()
Definition: Text.cpp:257
SoSFFloat beamWidth
Definition: SoVRMLSpotLight.h:43
@ CENTER
Definition: SoAsciiText.h:47
The SbVec3f class is a 3 dimensional vector with floating point coordinates.
Definition: SbVec3f.h:37
The SoVRMLSpotLight class defines a spot light source.
Definition: SoVRMLSpotLight.h:32
double getValue(void) const
Definition: SbTime.cpp:259
virtual void GLRender(SoGLRenderAction *action)
Definition: Switch.cpp:382
@ CIRCLE
Definition: SoVectorizeAction.h:101
void setBounds(const float minx, const float miny, const float minz, const float maxx, const float maxy, const float maxz)
Definition: SbBox3f.cpp:260
virtual int getPenNum(void) const
Definition: VectorizeAction.cpp:770
virtual void pick(SoPickAction *action)
Definition: Switch.cpp:389
SoSFNode coord
Definition: SoVRMLVertexLine.h:40
The SoGetBoundingBoxAction class calculates bounding boxes for nodes and subgraphs.
Definition: SoGetBoundingBoxAction.h:34
virtual float pixelsToUnits(const int pixels)
Definition: VectorizeAction.cpp:544
SoSFBool set_bind
Definition: SoVRMLViewpoint.h:57
SbBool isSearchingAll(void) const
Definition: SoSearchAction.cpp:287
SoPSVectorOutput * getOutput(void) const
Definition: VectorizePSAction.cpp:176
SoSFBool isBound
Definition: SoVRMLViewpoint.h:59
SoPath * copy(const int startfromnodeindex=0, int numnodes=0) const
Definition: SoPath.cpp:673
virtual void getBoundingBox(SoGetBoundingBoxAction *action)
Definition: VertexPoint.cpp:107
SoSFVec3f location
Definition: SoVRMLSpotLight.h:41
virtual ~SoVRMLVisibilitySensor()
Definition: VisibilitySensor.cpp:178
SoSFFloat intensity
Definition: SoVRMLLight.h:42
SoMFNode choice
Definition: SoVRMLSwitch.h:53
void makeIdentity(void)
Definition: SbMatrix.cpp:297
void addChild(SoNode *child)
Definition: Switch.cpp:460
SbBool isCenterSet(void) const
Definition: SoGetBoundingBoxAction.cpp:561
SoSFTime exitTime
Definition: SoVRMLVisibilitySensor.h:53
The SoCallbackAction class invokes callbacks at specific nodes.
Definition: SoCallbackAction.h:70
SoSFVec3f position
Definition: SoVRMLViewpoint.h:47
virtual float getPixelImageSize(DimensionUnit u=MM) const
Definition: VectorizeAction.cpp:435
SoEngineOutput time
Definition: SoVRMLTimeSensor.h:58
virtual void callback(SoCallbackAction *action)
Definition: TextureTransform.cpp:166
const float * getValue() const
Definition: SbColor4f.cpp:145
SoVRMLTexture(void)
Definition: Texture.cpp:61
SoMFVec3f point
Definition: SoVRMLCoordinate.h:41
PathCode getCurPathCode(void) const
Definition: SoAction.h:159
The SoSFTime class is a container for an SbTime value.
Definition: SoSFTime.h:31
The SbViewportRegion class is a viewport within a full window.
Definition: SbViewportRegion.h:31
virtual ~SoVRMLWorldInfo()
Definition: WorldInfo.cpp:92
SoSFBool normalPerVertex
Definition: SoVRMLVertexShape.h:52
virtual void callback(SoCallbackAction *action)
Definition: VertexLine.cpp:122
A basic class for managing a mutex.
Definition: SbMutex.h:30
SoVRMLVisibilitySensor(void)
Definition: VisibilitySensor.cpp:161
virtual SbBool openFile(const char *filename)
Definition: VectorOutput.cpp:82
void addChoice(SoNode *choice)
Definition: Switch.cpp:198
const SbVec4f & getTextureCoords() const
Definition: SoPickedPoint.cpp:160
void shapeVertex(const SoPrimitiveVertex *const v)
Definition: SoShape.cpp:1364
The SoVRMLSwitch class is a group node for traversing selected children.
Definition: SoVRMLSwitch.h:43
SbBool shouldRayPick(SoRayPickAction *const action)
Definition: SoShape.cpp:923
The SoVectorOutput class is used for setting vector output file.
Definition: SoVectorOutput.h:34
virtual ~SoVRMLVertexShape()
Definition: VertexShape.cpp:135
SoEngineOutput cycleTime
Definition: SoVRMLTimeSensor.h:55
virtual void handleEvent(SoHandleEventAction *action)
Definition: TimeSensor.cpp:447
The SoPickedPoint class is used for specifying picked points.
Definition: SoPickedPoint.h:39
virtual void printHeader(void) const =0
The SoFieldSensor class detects changes to a field.
Definition: SoFieldSensor.h:29
The SoVRMLTextureCoordinate class binds texture coordinates to vertex-based geometry.
Definition: SoVRMLTextureCoordinate.h:31
virtual SbBool dragStart(void)
Definition: SphereSensor.cpp:169
virtual void GLRender(SoGLRenderAction *action)
Definition: Viewpoint.cpp:336
virtual void getBoundingBox(SoGetBoundingBoxAction *action)
Definition: VertexShape.cpp:218
virtual SbBool affectsState(void) const
Definition: TouchSensor.cpp:282
virtual void handleEvent(SoHandleEventAction *action)
Definition: SoNode.cpp:1031
virtual void notify(SoNotList *list)
Definition: TouchSensor.cpp:349
SbBool isLightingEnabled(void) const
Definition: VectorizeAction.cpp:803
virtual void getPrimitiveCount(SoGetPrimitiveCountAction *action)
Definition: TextureCoordinate.cpp:196
SoPSVectorOutput * getPSOutput(void) const
Definition: VectorizePSAction.cpp:186
virtual void endPage(void)
Definition: VectorizeAction.cpp:283
virtual void search(SoSearchAction *action)
Definition: Switch.cpp:435
virtual void callback(SoCallbackAction *action)
Definition: SoShape.cpp:408
SoSFVec2f translation
Definition: SoVRMLTextureTransform.h:43
virtual ~SoVRMLViewpoint()
Definition: Viewpoint.cpp:330
float normalize(void)
Definition: SbVec3f.cpp:436
SoVectorizeAction(void)
Definition: VectorizeAction.cpp:195
The SoVRMLTouchSensor class tracks to pointer position and sends events based on user interaction.
Definition: SoVRMLTouchSensor.h:33
void addNumTriangles(const int num)
Definition: SoGetPrimitiveCountAction.cpp:247
SoSFNode coord
Definition: SoVRMLVertexShape.h:47
virtual void write(SoWriteAction *action)
Definition: TimeSensor.cpp:312
SbVec2f getRotatedViewportSize(void) const
Definition: VectorizeAction.cpp:519
virtual void write(SoWriteAction *action)
Definition: SoNode.cpp:1189
virtual void enableLighting(SbBool flag)
Definition: VectorizeAction.cpp:796
const SbVec2f & getPageStartpos(void) const
Definition: VectorizeAction.cpp:555
SoSFString title
Definition: SoVRMLWorldInfo.h:41
const SoEvent * getEvent(void) const
Definition: SoHandleEventAction.cpp:196
The SbTime class instances represents time values.
Definition: SbTime.h:41
virtual void doAction(SoAction *action)
Definition: Switch.cpp:289
Definition: SbRWMutex.h:29
virtual ~SoVRMLSphereSensor()
Definition: SphereSensor.cpp:162
SoVRMLSpotLight(void)
Definition: SpotLight.cpp:208
SoField * getLastField(void) const
Definition: SoNotification.cpp:167
virtual void pick(SoPickAction *action)
Definition: TextureCoordinate.cpp:189
void endShape(void)
Definition: SoShape.cpp:1377
void removeAllNodes(void)
Definition: SoMFNode.cpp:565
virtual void getBoundingBox(SoGetBoundingBoxAction *action)
Definition: SoShape.cpp:364
void disconnect(SoEngineOutput *engineoutput)
Definition: SoField.cpp:1022
SoVRMLTouchSensor(void)
Definition: TouchSensor.cpp:257
virtual SbRotation getRotation(const SbVec3f &point1, const SbVec3f &point2)=0
The SoSFFloat class is a container for a floating point value.
Definition: SoSFFloat.h:30
virtual void pick(SoPickAction *action)
Definition: TextureTransform.cpp:190
virtual void apply(SoNode *node)
Definition: VectorizeAction.cpp:227
const SoPickedPoint * getPickedPoint(void)
Definition: SoHandleEventAction.cpp:315
virtual void setStartPosition(const SbVec2f &p, DimensionUnit u=MM)
Definition: VectorizeAction.cpp:632
virtual void pick(SoPickAction *action)
Definition: VertexLine.cpp:129
void readUnlockNormalCache(void)
Definition: VertexShape.cpp:380
virtual void setMiterLimit(float limit)
Definition: VectorizeAction.cpp:735
virtual void handleEvent(SoHandleEventAction *action)
Definition: TouchSensor.cpp:289
The SoNode class is the base class for nodes used in scene graphs.
Definition: SoNode.h:47
virtual SbBool shouldGLRender(SoGLRenderAction *action)
Definition: VertexPoint.cpp:165
PathCode
Definition: SoAction.h:70
const float * getValue(void) const
Definition: SbVec3f.cpp:334
virtual void printItem(const SoVectorizeItem *item) const =0
Definition: VectorizeAction.cpp:496
virtual void printViewport(void) const
Definition: VectorizeAction.cpp:485
The SoTextDetail stores information about a character in a string.
Definition: SoTextDetail.h:29
void insertNode(SoNode *node, int idx)
Definition: SoMFNode.cpp:476
The SoHandleEventAction class distributes user events to the scene.
Definition: SoHandleEventAction.h:36
virtual void dragFinish(void)
Definition: SphereSensor.cpp:204
virtual void setColorPriority(SbBool priority)
Definition: VectorizeAction.cpp:779
int getLength(void) const
Definition: SoFullPath.cpp:106
virtual ~SoVRMLSpotLight()
Definition: SpotLight.cpp:223
virtual void setColorTranslationMethod(ColorTranslationMethod method)
Definition: VectorizeAction.cpp:651
static SbTime getTimeOfDay(void)
Definition: SbTime.cpp:139
virtual void write(SoWriteAction *action)
Definition: Switch.cpp:451
The SoGroup class is a node which managed other node instances.
Definition: SoGroup.h:31
SoSFBool isOver
Definition: SoVRMLTouchSensor.h:47
virtual void doAction(SoAction *action)
Definition: VertexShape.cpp:182
static void staticDataUnlock(void)
Definition: SoBase.cpp:2017
void setNormal(const SbVec3f &normal)
Definition: SoPrimitiveVertex.cpp:157
const SbVec2f * getValues(const int start) const
Definition: SoMFVec2f.h:34
SoVRMLTextureCoordinate(void)
Definition: TextureCoordinate.cpp:113
SbBool isOfType(const SoType type) const
Definition: SoField.cpp:690
virtual SbBool generateDefaultNormals(SoState *s, SoNormalBundle *nb)
Definition: VertexShape.cpp:154
SoSFBool enabled
Definition: SoVRMLTimeSensor.h:46
void traverse(SoAction *const action)
Definition: SoChildList.cpp:404
virtual EndLineStyle getLineEndStyle(void) const
Definition: VectorizeAction.cpp:676
SoSFTime cycleInterval
Definition: SoVRMLTimeSensor.h:45
virtual void setOrientation(Orientation o)
Definition: VectorizeAction.cpp:358
virtual void setBorder(float width)
Definition: VectorizeAction.cpp:719
virtual void callback(SoCallbackAction *action)
Definition: Switch.cpp:375
void setStringIndex(const int idx)
Definition: SoTextDetail.cpp:117
static SbMatrix identity(void)
Definition: SbMatrix.cpp:748
The SoEvent class is the base class for all Coin events.
Definition: SoEvent.h:34
virtual void setLineEndStyle(EndLineStyle style)
Definition: VectorizeAction.cpp:668
The SoRayPickAction class does ray intersection with scene graphs.
Definition: SoRayPickAction.h:40
virtual void pick(SoPickAction *action)
Definition: SoNode.cpp:1057
SbBool connectFrom(SoEngineOutput *master, SbBool notnotify=0, SbBool append=0)
Definition: SoField.cpp:870
const SbVec2f & getPageSize(void) const
Definition: VectorizeAction.cpp:564
virtual void notify(SoNotList *list)
Definition: Group.cpp:655
const char * getString(void) const
Definition: SbString.h:71
virtual void doAction(SoAction *action)
Definition: SoGroup.cpp:462
void setTranslate(const SbVec3f &t)
Definition: SbMatrix.cpp:790
SoPath * getPath() const
Definition: SoPickedPoint.cpp:178
SbVec2f getRotatedViewportStartpos(void) const
Definition: VectorizeAction.cpp:505
virtual void doAction(SoAction *action)
Definition: SoNode.cpp:761
The SoVRMLFontStyle class is used to define the current font.
Definition: SoVRMLFontStyle.h:41
virtual ~SoVectorOutput()
Definition: VectorOutput.cpp:68
void extendBy(const SbVec3f &point)
Definition: SbBox3f.cpp:178
SoSFString description
Definition: SoVRMLViewpoint.h:50
SoVRMLTimeSensor(void)
Definition: TimeSensor.cpp:248
SoSFNode color
Definition: SoVRMLVertexShape.h:50
The SoNotList class is a list of SoNotRec notification records.
Definition: SoNotification.h:34
const SoNotRec * getPrevious(void) const
Definition: SoNotRec.cpp:90
SbBool isEmpty(void) const
Definition: SbBox3f.cpp:436
virtual SbBool getColorPriority(void) const
Definition: VectorizeAction.cpp:787
virtual void getPrimitiveCount(SoGetPrimitiveCountAction *action)
Definition: VertexPoint.cpp:153
The SoGLRenderAction class renders the scene graph with OpenGL calls.
Definition: SoGLRenderAction.h:39
SbVec3f getPoint(const int idx) const
Definition: SbBSPTree.cpp:375
virtual ~SoVRMLVertexLine()
Definition: VertexLine.cpp:83
The SoGetPrimitiveCountAction class counts the primitives in a scene.
Definition: SoGetPrimitiveCountAction.h:32
SoSFBool enabled
Definition: SoVRMLVisibilitySensor.h:44
virtual void printFooter(void) const
Definition: VectorizePSAction.cpp:309
const SbVec2f & getNormalizedLocaterPosition(void) const
Definition: DragSensor.cpp:226
SoSFBool repeatT
Definition: SoVRMLTexture.h:40
The SoVRMLCoordinate class is used to define 3D coordinates for shapes.
Definition: SoVRMLCoordinate.h:32
SoNormalCache * generateAndReadLockNormalCache(SoState *const state)
Definition: VertexShape.cpp:290
SoSFBool isActive
Definition: SoVRMLTouchSensor.h:46
virtual ~SoVectorizePSAction()
Definition: VectorizePSAction.cpp:127
virtual void notify(SoNotList *list)
Definition: Switch.cpp:539
void traverseInPath(SoAction *const action, const int numindices, const int *indices)
Definition: SoChildList.cpp:253
static void staticDataLock(void)
Definition: SoBase.cpp:2007
The SoPickAction class is the base class for picking actions.
Definition: SoPickAction.h:32
virtual void GLRender(SoGLRenderAction *action)
Definition: SpotLight.cpp:229
SoSFBool autoOffset
Definition: SoVRMLDragSensor.h:44
SoEngineOutput fraction_changed
Definition: SoVRMLTimeSensor.h:56
virtual void getMatrix(SoGetMatrixAction *action)
Definition: SoGroup.cpp:591
void setMaterialIndex(const int index)
Definition: SoPrimitiveVertex.cpp:246
The SbVec4f class is a 4 dimensional vector with floating point coordinates.
Definition: SbVec4f.h:34
virtual void printHeader(void) const
Definition: VectorizePSAction.cpp:266
void addNumText(const int num)
Definition: SoGetPrimitiveCountAction.cpp:277
virtual void copyContents(const SoFieldContainer *from, SbBool copyconnections)
Definition: SoNode.cpp:1382
virtual PointStyle getPointStyle(void) const
Definition: VectorizeAction.cpp:453
SoVectorOutput * getOutput(void) const
Definition: VectorizeAction.cpp:217
SbBool isFound(void) const
Definition: SoSearchAction.cpp:376
virtual SbBool isOfType(SoType type) const
Definition: SoAction.cpp:462
SoSFVec3f hitNormal_changed
Definition: SoVRMLTouchSensor.h:43
void insertChoice(SoNode *choice, int idx)
Definition: Switch.cpp:207
Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.
Generated on Wed Jul 24 2019 for Coin by Doxygen. 1.8.17