00001 #ifndef X3DTK_X3D_BBOXUPDATERGROUPINGVISITOR_H 00002 #define X3DTK_X3D_BBOXUPDATERGROUPINGVISITOR_H 00003 00004 #include "X3D_GroupingVisitor.h" 00005 #include "X3D_BBoxUpdaterStateVariables.h" 00006 00007 namespace X3DTK { 00008 namespace X3D { 00009 00010 class StaticGroup; 00011 class X3DGroupingNode; 00012 class Group; 00013 class Transform; 00014 class Switch; 00015 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 BBoxUpdaterStateVariables *stateVariables; 00047 }; 00048 00049 } 00050 } 00051 00052 #endif