00001 00002 00003 00005 00006 00011 00016 00021 // BboxUpdaterGroupingVisitor.h // 00023 00024 #ifndef BBOXUPDATERGROUPINGVISITOR_H 00025 #define BBOXUPDATERGROUPINGVISITOR_H 00026 00027 #include "GroupingVisitor.h" 00028 #include "BboxUpdaterGlobalVariables.h" 00029 00030 namespace X3DTK { 00031 namespace X3D { 00032 00033 class StaticGroup; 00034 class X3DGroupingNode; 00035 class Group; 00036 class Transform; 00037 00039 00040 class BboxUpdaterGroupingVisitor : public GroupingVisitor 00041 { 00042 public: 00044 BboxUpdaterGroupingVisitor(); 00046 virtual ~BboxUpdaterGroupingVisitor(); 00047 00048 00050 virtual bool walkOnStaticGroup(StaticGroup *S, SFAbstractNode Child) const; 00052 virtual bool walkOnX3DGroupingNode(X3DGroupingNode *N, SFAbstractNode Child) const; 00053 00055 virtual void leaveStaticGroup(StaticGroup *S) const; 00057 virtual void leaveGroup(Group *G) const; 00059 virtual void leaveTransform(Transform *T) const; 00060 00061 protected: 00062 BboxUpdaterGlobalVariables *globalVariables; 00063 }; 00064 00065 } 00066 } 00067 00068 #endif