00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00025
00026
00027 #ifndef CollisionSphereHierarchy_H
00028 #define CollisionSphereHierarchy_H
00029
00030 #include "H3DNetworkingUtils/Config.h"
00031 #include "H3DNetworkingUtils/CollisionSphere.h"
00032
00033 namespace H3DNetworkingUtils {
00034
00040
00041 class H3D_NETWORKING_UTILS_DLL_SPEC CollisionSphereHierarchy : public CollisionSphere {
00042 public:
00043
00044 class H3D_NETWORKING_UTILS_DLL_SPEC MFCollidableGeometry : public H3D::TypedMFNode< CollisionGeometry > {
00045 public:
00046 virtual void onAdd( Node *n);
00047 virtual void onRemove( Node *n);
00048 };
00049
00051 CollisionSphereHierarchy(
00052 H3D::Inst< MFCollidableGeometry > _collidables = 0,
00053 H3D::Inst< CollisionSphere::Radius > _radius = 0);
00054
00056 virtual void initialize();
00057
00062 auto_ptr< MFCollidableGeometry > collidables;
00063
00064 static H3D::H3DNodeDatabase database;
00065
00068 virtual void setDyn( CollidableDynamic *ptr );
00069
00070 };
00071
00072 }
00073
00074 #endif