00001 00002 // BBoxUpdaterGroupingVisitor.h // 00004 00005 #ifndef BBOXUPDATERGROUPINGVISITOR_H 00006 #define BBOXUPDATERGROUPINGVISITOR_H 00007 00008 #include "GroupingVisitor.h" 00009 #include "BBoxUpdaterGlobalVariables.h" 00010 00011 namespace X3DTK { 00012 namespace X3D { 00013 00014 class StaticGroup; 00015 class X3DGroupingNode; 00016 class Group; 00017 class Transform; 00018 class Switch; 00019 00021 00022 class BBoxUpdaterGroupingVisitor : public GroupingVisitor 00023 { 00024 public: 00026 BBoxUpdaterGroupingVisitor(); 00028 virtual ~BBoxUpdaterGroupingVisitor(); 00029 00030 00032 virtual bool walkOnStaticGroup(StaticGroup *S, SFAbstractNode Child) const; 00034 virtual bool walkOnX3DGroupingNode(X3DGroupingNode *N, SFAbstractNode Child) const; 00035 00037 virtual void leaveStaticGroup(StaticGroup *S) const; 00039 virtual void leaveGroup(Group *G) const; 00041 virtual void leaveTransform(Transform *T) const; 00043 virtual void leaveSwitch(Switch *S) const; 00044 00045 protected: 00046 BBoxUpdaterGlobalVariables *globalVariables; 00047 }; 00048 00049 } 00050 } 00051 00052 #endif