1
/*************************************************************************
2
* Copyright (C) 2004 by Olivier Galizzi *
3
* olivier.galizzi@imag.fr *
5
* This program is free software; it is licensed under the terms of the *
6
* GNU General Public License v2 or later. See file LICENSE for details. *
7
*************************************************************************/
11
#include <yade/pkg/common/Dispatching.hpp>
12
#include <yade/pkg/common/Aabb.hpp>
13
#include <yade/pkg/common/Sphere.hpp>
14
#include <yade/pkg/common/Facet.hpp>
15
#include <yade/pkg/common/Box.hpp>
17
class Bo1_Sphere_Aabb : public BoundFunctor
20
void go(const shared_ptr<Shape>& cm, shared_ptr<Bound>& bv, const Se3r&, const Body*);
22
YADE_CLASS_BASE_DOC_ATTRS(Bo1_Sphere_Aabb,BoundFunctor,"Functor creating :yref:`Aabb` from :yref:`Sphere`.",
23
((Real,aabbEnlargeFactor,((void)"deactivated",-1),,"Relative enlargement of the bounding box; deactivated if negative.\n\n.. note::\n\tThis attribute is used to create distant interaction, but is only meaningful with an :yref:`IGeomFunctor` which will not simply discard such interactions: :yref:`Ig2_Sphere_Sphere_ScGeom::interactionDetectionFactor` should have the same value as :yref:`aabbEnlargeFactor<Bo1_Sphere_Aabb::aabbEnlargeFactor>`."))
27
REGISTER_SERIALIZABLE(Bo1_Sphere_Aabb);
30
/*************************************************************************
31
* Copyright (C) 2008 by Sergei Dorofeenko *
32
* sega@users.berlios.de *
34
* This program is free software; it is licensed under the terms of the *
35
* GNU General Public License v2 or later. See file LICENSE for details. *
36
*************************************************************************/
38
class Bo1_Facet_Aabb : public BoundFunctor{
40
void go(const shared_ptr<Shape>& cm, shared_ptr<Bound>& bv, const Se3r& se3, const Body*);
42
YADE_CLASS_BASE_DOC(Bo1_Facet_Aabb,BoundFunctor,"Creates/updates an :yref:`Aabb` of a :yref:`Facet`.");
44
REGISTER_SERIALIZABLE(Bo1_Facet_Aabb);
47
/*************************************************************************
48
* Copyright (C) 2004 by Janek Kozicki *
49
* cosurgi@berlios.de *
51
* This program is free software; it is licensed under the terms of the *
52
* GNU General Public License v2 or later. See file LICENSE for details. *
53
*************************************************************************/
56
class Bo1_Box_Aabb : public BoundFunctor{
58
void go(const shared_ptr<Shape>& cm, shared_ptr<Bound>& bv, const Se3r& se3, const Body*);
60
YADE_CLASS_BASE_DOC(Bo1_Box_Aabb,BoundFunctor,"Create/update an :yref:`Aabb` of a :yref:`Box`.");
63
REGISTER_SERIALIZABLE(Bo1_Box_Aabb);