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