VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends
vtkVRMLImporter Class Reference

imports VRML 2.0 files. More...

#include <vtkVRMLImporter.h>

Inheritance diagram for vtkVRMLImporter:
Inheritance graph
[legend]
Collaboration diagram for vtkVRMLImporter:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkImporter Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkVRMLImporterNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
vtkObjectGetVRMLDEFObject (const char *name)
virtual void SetFileName (const char *)
virtual char * GetFileName ()
virtual void SetShapeResolution (int)
virtual int GetShapeResolution ()

Static Public Member Functions

static vtkVRMLImporterNew ()
static int IsTypeOf (const char *type)
static vtkVRMLImporterSafeDownCast (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkVRMLImporter ()
 ~vtkVRMLImporter ()
int OpenImportFile ()
virtual int ImportBegin ()
virtual void ImportEnd ()
virtual void ImportActors (vtkRenderer *)
virtual void ImportCameras (vtkRenderer *)
virtual void ImportLights (vtkRenderer *)
virtual void ImportProperties (vtkRenderer *)
FILE * GetFileFD ()
virtual void enterNode (const char *)
virtual void exitNode ()
virtual void enterField (const char *)
virtual void exitField ()
virtual void useNode (const char *)

Protected Attributes

char * FileName
FILE * FileFD
int ShapeResolution

Friends

class vtkVRMLYaccData

Detailed Description

imports VRML 2.0 files.

vtkVRMLImporter imports VRML 2.0 files into VTK.

Warning:
These nodes are currently supported: Appearance IndexedFaceSet Box IndexedLineSet Color Material Cone Shape Coordinate Sphere Cylinder Transform DirectionalLight
As you can see this implementation focuses on getting the geometry translated. The routes and scripting nodes are ignored since they deal with directly accessing a nodes internal structure based on the VRML spec. Since this is a translation the internal data structures differ greatly from the VRML spec and the External Authoring Interface (see the VRML spec). The DEF/USE mechanism does allow the VTK user to extract objects from the scene and directly manipulate them using the native language (Tcl, Python, Java, or whatever language VTK is wrapped in). This, in a way, removes the need for the route and script mechanism (not completely though). Texture coordinates are attached to the mesh is available but image textures are not loaded. Viewpoints (camera presets) are not imported.
Thanks:
Thanks to Russ Coucher of Areva for numerous bug fixes and a new test.
See also:
vtkImporter
Tests:
vtkVRMLImporter (Tests)

Definition at line 76 of file vtkVRMLImporter.h.


Member Typedef Documentation

Reimplemented from vtkImporter.

Definition at line 81 of file vtkVRMLImporter.h.


Constructor & Destructor Documentation


Member Function Documentation

static vtkVRMLImporter* vtkVRMLImporter::New ( ) [static]

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

static int vtkVRMLImporter::IsTypeOf ( const char *  name) [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkImporter.

virtual int vtkVRMLImporter::IsA ( const char *  name) [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkImporter.

Reimplemented from vtkImporter.

virtual vtkObjectBase* vtkVRMLImporter::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkImporter.

Reimplemented from vtkImporter.

void vtkVRMLImporter::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkImporter.

virtual void vtkVRMLImporter::SetFileName ( const char *  ) [virtual]

Specify the name of the file to read.

virtual char* vtkVRMLImporter::GetFileName ( ) [virtual]

Specify the name of the file to read.

virtual void vtkVRMLImporter::SetShapeResolution ( int  ) [virtual]

Specify the resolution for Sphere, Cone and Cylinder shape sources. Default is 12.

Specify the resolution for Sphere, Cone and Cylinder shape sources. Default is 12.

In the VRML spec you can DEF and USE nodes (name them), This routine will return the associated VTK object which was created as a result of the DEF mechanism Send in the name from the VRML file, get the VTK object. You will have to check and correctly cast the object since this only returns vtkObjects.

virtual int vtkVRMLImporter::ImportBegin ( ) [protected, virtual]

Reimplemented from vtkImporter.

virtual void vtkVRMLImporter::ImportEnd ( ) [protected, virtual]

Reimplemented from vtkImporter.

virtual void vtkVRMLImporter::ImportActors ( vtkRenderer ) [inline, protected, virtual]

Reimplemented from vtkImporter.

Definition at line 111 of file vtkVRMLImporter.h.

virtual void vtkVRMLImporter::ImportCameras ( vtkRenderer ) [inline, protected, virtual]

Reimplemented from vtkImporter.

Definition at line 112 of file vtkVRMLImporter.h.

virtual void vtkVRMLImporter::ImportLights ( vtkRenderer ) [inline, protected, virtual]

Reimplemented from vtkImporter.

Definition at line 113 of file vtkVRMLImporter.h.

virtual void vtkVRMLImporter::ImportProperties ( vtkRenderer ) [inline, protected, virtual]

Reimplemented from vtkImporter.

Definition at line 114 of file vtkVRMLImporter.h.

virtual void vtkVRMLImporter::enterNode ( const char *  ) [protected, virtual]

Needed by the yacc/lex grammar used

virtual void vtkVRMLImporter::exitNode ( ) [protected, virtual]

Needed by the yacc/lex grammar used

virtual void vtkVRMLImporter::enterField ( const char *  ) [protected, virtual]

Needed by the yacc/lex grammar used

virtual void vtkVRMLImporter::exitField ( ) [protected, virtual]

Needed by the yacc/lex grammar used

virtual void vtkVRMLImporter::useNode ( const char *  ) [protected, virtual]

Needed by the yacc/lex grammar used

FILE* vtkVRMLImporter::GetFileFD ( ) [inline, protected]

Return the file pointer to the open file.

Definition at line 126 of file vtkVRMLImporter.h.


Friends And Related Function Documentation

friend class vtkVRMLYaccData [friend]

Definition at line 132 of file vtkVRMLImporter.h.


Member Data Documentation

char* vtkVRMLImporter::FileName [protected]

Definition at line 128 of file vtkVRMLImporter.h.

FILE* vtkVRMLImporter::FileFD [protected]

Definition at line 129 of file vtkVRMLImporter.h.

Definition at line 130 of file vtkVRMLImporter.h.


The documentation for this class was generated from the following file: