/// This file is part of the X3DToolKit library
/// Copyright (C) 2002-2004 Yannick Le Goc (legoc@imag.fr)
/// http://artis.imag.fr/Members/Yannick.Legoc/X3D/
/// This library is free software; you can redistribute it and/or
/// modify it under the terms of the GNU Lesser General Public
/// License as published by the Free Software Foundation; either
/// version 2.1 of the License, or (at your option) any later version.
/// This library is distributed in the hope that it will be useful,
/// but WITHOUT ANY WARRANTY; without even the implied warranty of
/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
/// Lesser General Public License for more details.
/// You should have received a copy of the GNU Lesser General Public
/// License along with this library; if not, write to the Free Software
/// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#ifndef X3DTK_X3D_COLLISION_H
#define X3DTK_X3D_COLLISION_H
#include "X3D_X3DGroupingNode.h"
#include "X3D_X3DBoundedObject.h"
#include "X3D_X3DSensorNode.h"
namespace X3DTK {
namespace X3D {
/*! \brief Base class declared in , part of the Navigation
* component defining a Collision.
* (
* documentation).
*
* \ingroup X3DSceneGraph
*/
class Collision : public X3DGroupingNode, public X3DBoundedObject//, public X3DSensorNode
{
public:
/// Constructor.
Collision();
/// Destructor.
virtual ~Collision();
/// Sets the collide attribute.
void setCollide(const SFBool &collide);
/// Sets the proxy node.
void setProxy(X3DChildNode *proxy);
/// Gets the collide attribute.
inline const SFBool &getCollide() const {return _collide;};
/// Sets the proxy node.
inline SFNode getProxy() const {return _proxy;};
private:
SFBool _collide;
SFNode _proxy;
};
}
}
#endif