Home Hierarchy Members Alphabetical Related Pages

traverser.h

Go to the documentation of this file.
00001 #ifndef XDKWRL_TRAVERSER_H
00002 #define XDKWRL_TRAVERSER_H
00003 
00004 #include <xdkwrl/config.h>
00005 #include <xdkwrl/tools/transformator.h>
00006 
00007 namespace wrl
00008 {
00009   class Node;
00010   
00011   class Anchor;
00012   class Appearance;
00013   class AudioClip;
00014   class Background;
00015   class Billboard;
00016   class Box;
00017   class Collision;
00018   class Color;
00019   class ColorInterpolator;
00020   class Cone;
00021   class Contour2D;
00022   class Coordinate;
00023   class CoordinateDeformer;
00024   class CoordinateInterpolator;
00025   class Cylinder;
00026   class CylinderSensor;
00027   class DirectionalLight;
00028   class ElevationGrid;
00029   class Extrusion;
00030   class Fog;
00031   class FontStyle;
00032   class GeoCoordinate;
00033   class GeoElevationGrid;
00034   class GeoLOD;
00035   class GeoLocation;
00036   class GeoMetadata;
00037   class GeoOrigin;
00038   class GeoPositionInterpolator;
00039   class GeoTouchSensor;
00040   class GeoViewpoint;
00041   class Group;
00042   class ImageTexture;
00043   class IndexedFaceSet;
00044   class IndexedLineSet;
00045   class Inline;
00046   class InlineLoadControl;
00047   class LOD;
00048   class Material;
00049   class MovieTexture;
00050   class NavigationInfo;
00051   class Normal;
00052   class NormalInterpolator;
00053   class NurbsCurve;
00054   class NurbsCurve2D;
00055   class NurbsGroup;
00056   class NurbsPositionInterpolator;
00057   class NurbsSurface;
00058   class NurbsTextureSurface;
00059   class OrientationInterpolator;
00060   class PixelTexture;
00061   class PlaneSensor;
00062   class PointLight;
00063   class PointSet;
00064   class Polyline2D;
00065   class PositionInterpolator;
00066   class ProximitySensor;
00067   class ScalarInterpolator;
00068   class Shape;
00069   class Sound;
00070   class Sphere;
00071   class SphereSensor;
00072   class SpotLight;
00073   class Switch;
00074   class Text;
00075   class TextureCoordinate;
00076   class TextureTransform;
00077   class TimeSensor;
00078   class TouchSensor;
00079   class Transform;
00080   class TrimmedSurface;
00081   class Viewpoint;
00082   class VisibilitySensor;
00083   class WorldInfo;  
00084   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00085   // Interface of Traverser
00086   //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00087   class XDKWRL_EXPORT Traverser
00088   {
00089   public:
00090     void operator()(wrl::Node* node);
00091     virtual ~Traverser() {}
00092   protected:
00093     virtual void treat(Anchor*);
00094     virtual void treat(Appearance*);
00095     virtual void treat(AudioClip*);
00096     virtual void treat(Background*);
00097     virtual void treat(Billboard*);
00098     virtual void treat(Box*);
00099     virtual void treat(Collision*);
00100     virtual void treat(Color*);
00101     virtual void treat(ColorInterpolator*);
00102     virtual void treat(Cone*);
00103     virtual void treat(Contour2D*);
00104     virtual void treat(Coordinate*);
00105     virtual void treat(CoordinateDeformer*);
00106     virtual void treat(CoordinateInterpolator*);
00107     virtual void treat(Cylinder*);
00108     virtual void treat(CylinderSensor*);
00109     virtual void treat(DirectionalLight*);
00110     virtual void treat(ElevationGrid*);
00111     virtual void treat(Extrusion*);
00112     virtual void treat(Fog*);
00113     virtual void treat(FontStyle*);
00114     virtual void treat(GeoCoordinate*);
00115     virtual void treat(GeoElevationGrid*);
00116     virtual void treat(GeoLOD*);
00117     virtual void treat(GeoLocation*);
00118     virtual void treat(GeoMetadata*);
00119     virtual void treat(GeoOrigin*);
00120     virtual void treat(GeoPositionInterpolator*);
00121     virtual void treat(GeoTouchSensor*);
00122     virtual void treat(GeoViewpoint*);
00123     virtual void treat(Group*);
00124     virtual void treat(ImageTexture*);
00125     virtual void treat(IndexedFaceSet*);
00126     virtual void treat(IndexedLineSet*);
00127     virtual void treat(Inline*);
00128     virtual void treat(InlineLoadControl*);
00129     virtual void treat(LOD*);
00130     virtual void treat(Material*);
00131     virtual void treat(MovieTexture*);
00132     virtual void treat(NavigationInfo*);
00133     virtual void treat(Normal*);
00134     virtual void treat(NormalInterpolator*);
00135     virtual void treat(NurbsCurve*);
00136     virtual void treat(NurbsCurve2D*);
00137     virtual void treat(NurbsGroup*);
00138     virtual void treat(NurbsPositionInterpolator*);
00139     virtual void treat(NurbsSurface*);
00140     virtual void treat(NurbsTextureSurface*);
00141     virtual void treat(OrientationInterpolator*);
00142     virtual void treat(PixelTexture*);
00143     virtual void treat(PlaneSensor*);
00144     virtual void treat(PointLight*);
00145     virtual void treat(PointSet*);
00146     virtual void treat(Polyline2D*);
00147     virtual void treat(PositionInterpolator*);
00148     virtual void treat(ProximitySensor*);
00149     virtual void treat(ScalarInterpolator*);
00150     virtual void treat(Shape*);
00151     virtual void treat(Sound*);
00152     virtual void treat(Sphere*);
00153     virtual void treat(SphereSensor*);
00154     virtual void treat(SpotLight*);
00155     virtual void treat(Switch*);
00156     virtual void treat(Text*);
00157     virtual void treat(TextureCoordinate*);
00158     virtual void treat(TextureTransform*);
00159     virtual void treat(TimeSensor*);
00160     virtual void treat(TouchSensor*);
00161     virtual void treat(Transform*);
00162     virtual void treat(TrimmedSurface*);
00163     virtual void treat(Viewpoint*);
00164     virtual void treat(VisibilitySensor*);
00165     virtual void treat(WorldInfo*);
00166   protected:
00167     inline const TransformatorHierarchy& transformHierarchy() const;
00168     inline TransformatorHierarchy& transformHierarchy();
00169   private:
00170     TransformatorHierarchy transformHierarchy_;    
00171   };
00172   //************************************************************
00173   // Implementation of TransformatorHierarchy
00174   //************************************************************
00175   inline const TransformatorHierarchy&
00176   Traverser::transformHierarchy() const
00177   {
00178     return transformHierarchy_;
00179   }    
00180   inline TransformatorHierarchy&
00181   Traverser::transformHierarchy()
00182   {
00183     return transformHierarchy_;
00184   }
00185 }
00186 
00187 #endif // XDKWRL_TRAVERSER_H
00188 
00189 // Local variables section.
00190 // This is only used by emacs!
00191 // Local Variables:
00192 // ff-search-directories: ("." "../../../src/xdkwrl/tools/")
00193 // End:

Generated on 5 Jan 2007 with doxygen version 1.5.1. Valid HTML 4.0! Valid CSS!