XdkWrl: traverser.h Source File

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 version 1.5.1. |