Converts an Open Inventor scene graph into a VRML 2.0-style scene graph. More...
#include <Inventor/actions/SoToVRML2Action.h>
Public Member Functions | |
virtual SoType | getTypeId () const |
SoToVRML2Action () | |
~SoToVRML2Action () | |
virtual void | apply (SoNode *node) |
virtual void | apply (SoPath *path) |
virtual void | apply (const SoPathList &path_list, SbBool obeys_rules=FALSE) |
SoVRMLGroup * | getVRML2SceneGraph () const |
void | reuseAppearanceNodes (SbBool appearance) |
SbBool | doReuseAppearanceNodes () const |
void | reusePropertyNodes (SbBool property) |
SbBool | doReusePropertyNodes () const |
void | reuseGeometryNodes (SbBool geometry) |
SbBool | doReuseGeometryNodes () const |
void | expandTexture2Node (SbBool e) |
SbBool | areTextureNodeExpanded () const |
Static Public Member Functions | |
static SoType | getClassTypeId () |
This action takes an Open Inventor scene graph and builds a new VRML 2.0-style scene graph. This scene graph can then be stored as a VRML file. The effect of this action is similar to the effect of the ivtovrml tool.
NOTE: This class does not exist in Open Inventor 10.0 and later.During the conversion process, a temporary intermediate copy of the scene graph may be created. If your input scene graph is large, the three copies of the scene graph (initial, intermediate, and final) may use a lot of memory.
There is not always an exact match between Open Inventor items and VRML 2.0 items. Some Open Inventor items, for example, 2D text (SoText2) do not exist in VRML 2.0 and will not be converted. Other items may be converted, but with subtle differences in behavior.
Texture Modeling : 3- and 4-component textures work differently in Open Inventor and VRML 2.0. In Open Inventor, by default, the texture color is multiplied by the material surface color ("modulate" mode). In VRML 2.0, a texture's RGB colors and transparency replace the material's current diffuse color and transparency (like "decal" mode). For example, if an object is red with a colored texture, in Open Inventor, the red would affect the appearance of the object. Once converted to VRML 2.0, the object would display the colors of the texture, without any influence of the red.
Texture Coordinates : Open Inventor and VRML 2.0 handle texture coordinates differently. If your scene graph uses texture coordinates for precise application of a texture to a shape, the visual results may be different after conversion to VRML 2.0.
SoToVRML2Action::SoToVRML2Action | ( | ) |
Constructor.
SoToVRML2Action::~SoToVRML2Action | ( | ) |
Destructor.
virtual void SoToVRML2Action::apply | ( | const SoPathList & | path_list, | |
SbBool | obeys_rules = FALSE | |||
) | [inline, virtual] |
Apply action to the specified list of path.
Reimplemented from SoToVRMLAction.
Reimplemented in PoToVRML2Action.
virtual void SoToVRML2Action::apply | ( | SoPath * | path | ) | [inline, virtual] |
Apply action to the specified path.
Reimplemented from SoToVRMLAction.
Reimplemented in PoToVRML2Action.
virtual void SoToVRML2Action::apply | ( | SoNode * | node | ) | [virtual] |
Apply action to the specified root node.
Reimplemented from SoToVRMLAction.
Reimplemented in PoToVRML2Action.
SbBool SoToVRML2Action::areTextureNodeExpanded | ( | ) | const [inline] |
SbBool SoToVRML2Action::doReuseAppearanceNodes | ( | ) | const [inline] |
Returns whether shared materials should be organized into shared appearance nodes in the new scene graph.
SbBool SoToVRML2Action::doReuseGeometryNodes | ( | ) | const [inline] |
Returns whether shared geometry nodes should be shared in the new scene graph.
SbBool SoToVRML2Action::doReusePropertyNodes | ( | ) | const [inline] |
Returns whether shared properties should be organized into shared nodes in the new scene graph.
void SoToVRML2Action::expandTexture2Node | ( | SbBool | e | ) | [inline] |
Sets whether to bring the contents of texture files into the new scene graph , or to leave them as references to files.
Reimplemented from SoToVRMLAction.
static SoType SoToVRML2Action::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from SoToVRMLAction.
Reimplemented in PoToVRML2Action.
virtual SoType SoToVRML2Action::getTypeId | ( | ) | const [virtual] |
Returns the type identifier for this specific instance.
Reimplemented from SoToVRMLAction.
Reimplemented in PoToVRML2Action.
SoVRMLGroup* SoToVRML2Action::getVRML2SceneGraph | ( | ) | const [inline] |
Returns result as VRML 2.0 scene graph.
NOTE: The returned node has a reference count of 1, not 0.
void SoToVRML2Action::reuseAppearanceNodes | ( | SbBool | appearance | ) | [inline] |
Sets whether shared materials should be organized into shared appearance nodes in the new scene graph.
void SoToVRML2Action::reuseGeometryNodes | ( | SbBool | geometry | ) | [inline] |
Sets whether shared geometry nodes should be shared in the new scene graph.
void SoToVRML2Action::reusePropertyNodes | ( | SbBool | property | ) | [inline] |
Sets whether shared properties should be organized into shared nodes in the new scene graph.