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

SoReorganizeAction.h
1 #ifndef COIN_SOREORGANIZEACTION_H
2 #define COIN_SOREORGANIZEACTION_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/actions/SoSimplifyAction.h>
28 
29 class SoSimplifier;
30 class SoReorganizeActionP;
31 class SoSeparator;
32 
33 
34 class COIN_DLL_API SoReorganizeAction : public SoSimplifyAction {
36 
37  SO_ACTION_HEADER(SoReorganizeAction);
38 
39 public:
40  SoReorganizeAction (SoSimplifier * simplifier = NULL);
41  virtual ~SoReorganizeAction(void);
42  static void initClass(void);
43 
44  SoSeparator * getSimplifiedSceneGraph(void) const;
45  void generateNormals(SbBool onoff);
46  SbBool areNormalGenerated(void) const;
47  void generateTriangleStrips(SbBool onoff);
48  SbBool areTriangleStripGenerated(void) const;
49  void generateTexCoords(SbBool onoff);
50  SbBool areTexCoordsGenerated(void) const;
51  void generateVPNodes(SbBool onoff);
52  SbBool areVPNodesGenerated(void);
53  void matchIndexArrays(SbBool onoff);
54  SbBool areIndexArraysMatched(void) const;
55  SoSimplifier * getSimplifier(void) const;
56 
57  virtual void apply(SoNode * root);
58  virtual void apply(SoPath * path);
59  virtual void apply(const SoPathList & pathlist, SbBool obeysrules = FALSE);
60 
61  static void startReport(const char * msg);
62  static void finishReport(void);
63 
64  protected:
65  virtual void beginTraversal(SoNode * node);
66 
67  private:
68  SoReorganizeActionP * pimpl;
69 };
70 
71 #endif // !COIN_SOREORGANIZEACTION_H
SbPList::getLength
int getLength(void) const
Definition: SbPList.h:94
SoIndexedShape::normalIndex
SoMFInt32 normalIndex
Definition: SoIndexedShape.h:44
SoIndexedLineSet
The SoIndexedLineSet class is used to render and otherwise represent indexed lines.
Definition: SoIndexedLineSet.h:34
SoCallbackAction::Response
Response
Definition: SoCallbackAction.h:85
SoVRMLIndexedShape::normalIndex
SoMFInt32 normalIndex
Definition: SoVRMLIndexedShape.h:41
SoState
The SoState class manages the Coin scenegraph traversal state data.
Definition: SoState.h:35
SbVec2f
The SbVec2f class is a 2 dimensional vector with floating point coordinates.
Definition: SbVec2f.h:36
SoVRMLVertexShape::colorPerVertex
SoSFBool colorPerVertex
Definition: SoVRMLVertexShape.h:51
SoPath::push
void push(const int childindex)
Definition: SoPath.h:127
SoIndexedFaceSet
The SoIndexedFaceSet class is used to handle generic indexed facesets.
Definition: SoIndexedFaceSet.h:36
SoVRMLTextureCoordinate::point
SoMFVec2f point
Definition: SoVRMLTextureCoordinate.h:40
SbColor4f
The SbColor4f class contains the red, green, blue and alpha components which make up a color value.
Definition: SbColor4f.h:32
SoVRMLNormal::vector
SoMFVec3f vector
Definition: SoVRMLNormal.h:40
SoIndexedShape::coordIndex
SoMFInt32 coordIndex
Definition: SoIndexedShape.h:42
SoVRMLVertexLine::color
SoSFNode color
Definition: SoVRMLVertexLine.h:41
SoReorganizeAction
The SoReorganizeAction class reorganizes your scene graph to optimize traversal/rendering.
Definition: SoReorganizeAction.h:34
SoVRMLVertexLine::colorPerVertex
SoSFBool colorPerVertex
Definition: SoVRMLVertexLine.h:42
SoSearchAction
The SoSearchAction class provides methods for searching through scene graphs.
Definition: SoSearchAction.h:32
SoFullPath
The SoFullPath class allows examination of hidden children in paths.
Definition: SoFullPath.h:29
SoReorganizeAction::apply
virtual void apply(SoNode *root)
Definition: SoReorganizeAction.cpp:468
SoVertexProperty::texCoord
SoMFVec2f texCoord
Definition: SoVertexProperty.h:54
SoFullPath::pop
void pop(void)
Definition: SoFullPath.h:48
SoVRMLIndexedFaceSet::creaseAngle
SoSFFloat creaseAngle
Definition: SoVRMLIndexedFaceSet.h:49
SoPathList
The SoPathList class is a container for pointers to SoPath objects.
Definition: SoPathList.h:31
SoFullPath::getTail
SoNode * getTail(void) const
Definition: SoFullPath.cpp:74
SoVertexProperty::materialBinding
SoSFEnum materialBinding
Definition: SoVertexProperty.h:59
SoVRMLNormal
The SoVRMLNormal class is used to bind normals to geometry.
Definition: SoVRMLNormal.h:32
SoVRMLVertexShape::texCoord
SoSFNode texCoord
Definition: SoVRMLVertexShape.h:48
SoPath
The SoPath class is a container class for traversal path descriptions.
Definition: SoPath.h:43
SoSimplifyAction::beginTraversal
virtual void beginTraversal(SoNode *node)
Definition: SoSimplifyAction.cpp:64
SoVertexProperty::orderedRGBA
SoMFUInt32 orderedRGBA
Definition: SoVertexProperty.h:58
SoVertexProperty::Binding
Binding
Definition: SoVertexProperty.h:43
SbList< SbBool >
SbName::getString
const char * getString(void) const
Definition: SbName.cpp:278
SoVRMLColor::color
SoMFColor color
Definition: SoVRMLColor.h:42
SoPrimitiveVertex
The SoPrimitiveVertex class represents a single vertex of a generated primitive.
Definition: SoPrimitiveVertex.h:33
SoFullPath::getIndexFromTail
int getIndexFromTail(const int index) const
Definition: SoFullPath.cpp:96
SbColor
The SbColor class contains the red, green and blue components which make up a color value.
Definition: SbColor.h:30
SoAction::getState
SoState * getState(void) const
Definition: SoAction.cpp:1028
SoSimplifyAction
The SoSimplifyAction class is the base class for the simplify action classes.
Definition: SoSimplifyAction.h:32
SoVRMLIndexedShape::coordIndex
SoMFInt32 coordIndex
Definition: SoVRMLIndexedShape.h:39
SoVRMLVertexShape::normal
SoSFNode normal
Definition: SoVRMLVertexShape.h:49
SoBase::ref
void ref(void) const
Definition: SoBase.cpp:574
SoVRMLIndexedLineSet
The SoVRMLIndexedLineSet class is used to represent a generic 3D line shape.
Definition: SoVRMLIndexedLineSet.h:36
SoVRMLVertexLine::coord
SoSFNode coord
Definition: SoVRMLVertexLine.h:40
SoReorganizeAction::~SoReorganizeAction
virtual ~SoReorganizeAction(void)
Definition: SoReorganizeAction.cpp:390
SoGroup::replaceChild
virtual void replaceChild(int index, SoNode *newchild)
Definition: SoGroup.cpp:719
SoIndexedShape::textureCoordIndex
SoMFInt32 textureCoordIndex
Definition: SoIndexedShape.h:45
SoVertexProperty::normal
SoMFVec3f normal
Definition: SoVertexProperty.h:56
SoCallbackAction::CONTINUE
@ CONTINUE
Definition: SoCallbackAction.h:85
SoCallbackAction
The SoCallbackAction class invokes callbacks at specific nodes.
Definition: SoCallbackAction.h:70
SoFullPath::getNodeFromTail
SoNode * getNodeFromTail(const int index) const
Definition: SoFullPath.cpp:85
SoVRMLCoordinate::point
SoMFVec3f point
Definition: SoVRMLCoordinate.h:41
SoVRMLIndexedShape::colorIndex
SoMFInt32 colorIndex
Definition: SoVRMLIndexedShape.h:40
SbViewportRegion
The SbViewportRegion class is a viewport within a full window.
Definition: SbViewportRegion.h:31
SoVRMLVertexShape::normalPerVertex
SoSFBool normalPerVertex
Definition: SoVRMLVertexShape.h:52
SoVertexProperty::vertex
SoMFVec3f vertex
Definition: SoVertexProperty.h:53
SoSimplifyAction::apply
virtual void apply(SoNode *root)
Definition: SoSimplifyAction.cpp:70
SoBase::getTypeId
virtual SoType getTypeId(void) const =0
SoVRMLShape::geometry
SoSFNode geometry
Definition: SoVRMLShape.h:49
SoReorganizeAction::SoReorganizeAction
SoReorganizeAction(SoSimplifier *simplifier=NULL)
Definition: SoReorganizeAction.cpp:380
SoVertexProperty
The SoVertexProperty class collects the functionality of various appearance nodes.
Definition: SoVertexProperty.h:33
SoVRMLTextureCoordinate
The SoVRMLTextureCoordinate class binds texture coordinates to vertex-based geometry.
Definition: SoVRMLTextureCoordinate.h:32
SoIndexedShape::materialIndex
SoMFInt32 materialIndex
Definition: SoIndexedShape.h:43
SoVRMLIndexedFaceSet::ccw
SoSFBool ccw
Definition: SoVRMLIndexedFaceSet.h:46
SoVRMLIndexedFaceSet::solid
SoSFBool solid
Definition: SoVRMLIndexedFaceSet.h:47
SoReorganizeAction::beginTraversal
virtual void beginTraversal(SoNode *node)
Definition: SoReorganizeAction.cpp:531
SoSeparator
The SoSeparator class is a state-preserving group node.
Definition: SoSeparator.h:34
SoVRMLIndexedShape::texCoordIndex
SoMFInt32 texCoordIndex
Definition: SoVRMLIndexedShape.h:42
SoVRMLVertexShape::coord
SoSFNode coord
Definition: SoVRMLVertexShape.h:47
SoMField::setNum
void setNum(const int num)
Definition: SoMField.cpp:615
SoBase::isOfType
SbBool isOfType(SoType type) const
Definition: SoBase.cpp:710
SoNode
The SoNode class is the base class for nodes used in scene graphs.
Definition: SoNode.h:47
SoVertexProperty::normalBinding
SoSFEnum normalBinding
Definition: SoVertexProperty.h:57
SoType::getName
SbName getName(void) const
Definition: SoType.cpp:628
SoVRMLColor
The SoVRMLColor class is used to specify multiple colors for a single shape.
Definition: SoVRMLColor.h:34
SoGroup
The SoGroup class is a node which managed other node instances.
Definition: SoGroup.h:31
SoVRMLShape
The SoVRMLShape class holds geometry and geometry appearance nodes.
Definition: SoVRMLShape.h:34
SoBase::unrefNoDelete
void unrefNoDelete(void) const
Definition: SoBase.cpp:665
SoVertexShape::vertexProperty
SoSFNode vertexProperty
Definition: SoVertexShape.h:50
SoVRMLVertexShape::color
SoSFNode color
Definition: SoVRMLVertexShape.h:50
SoVRMLCoordinate
The SoVRMLCoordinate class is used to define 3D coordinates for shapes.
Definition: SoVRMLCoordinate.h:33
SbVec4f
The SbVec4f class is a 4 dimensional vector with floating point coordinates.
Definition: SbVec4f.h:34
SoVRMLIndexedFaceSet
The SoVRMLIndexedFaceSet class is used for representing a generic 3D shape.
Definition: SoVRMLIndexedFaceSet.h:38

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

Generated on Mon Jul 27 2020 for Coin by Doxygen. 1.8.18