From 79eca25c945a535a7a0325999034bae17da92412 Mon Sep 17 00:00:00 2001 From: dan miller Date: Fri, 19 Oct 2007 05:15:33 +0000 Subject: resubmitting ode --- .../ode-0.9/docs/odecpp__collision_8h-source.html | 366 +++++++++++++++++++++ 1 file changed, 366 insertions(+) create mode 100644 libraries/ode-0.9/docs/odecpp__collision_8h-source.html (limited to 'libraries/ode-0.9/docs/odecpp__collision_8h-source.html') diff --git a/libraries/ode-0.9/docs/odecpp__collision_8h-source.html b/libraries/ode-0.9/docs/odecpp__collision_8h-source.html new file mode 100644 index 0000000..f4943ba --- /dev/null +++ b/libraries/ode-0.9/docs/odecpp__collision_8h-source.html @@ -0,0 +1,366 @@ + + +Open Dynamics Engine: odecpp_collision.h Source File + + + + +
+ +
+

odecpp_collision.h

00001 /*************************************************************************
+00002  *                          *
+00003  * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith.    *
+00004  * All rights reserved.  Email: russ@q12.org   Web: www.q12.org    *
+00005  *                          *
+00006  * This library is free software; you can redistribute it and/or   *
+00007  * modify it under the terms of EITHER:             *
+00008  *   (1) The GNU Lesser General Public License as published by the Free  *
+00009  *  Software Foundation; either version 2.1 of the License, or (at  *
+00010  *  your option) any later version. The text of the GNU Lesser  *
+00011  *  General Public License is included with this library in the    *
+00012  *  file LICENSE.TXT.                   *
+00013  *   (2) The BSD-style license that is included with this library in  *
+00014  *  the file LICENSE-BSD.TXT.              *
+00015  *                          *
+00016  * This library is distributed in the hope that it will be useful,    *
+00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of  *
+00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files    *
+00019  * LICENSE.TXT and LICENSE-BSD.TXT for more details.         *
+00020  *                          *
+00021  *************************************************************************/
+00022 
+00023 /* C++ interface for new collision API */
+00024 
+00025 
+00026 #ifndef _ODE_ODECPP_COLLISION_H_
+00027 #define _ODE_ODECPP_COLLISION_H_
+00028 #ifdef __cplusplus
+00029 
+00030 #include <ode/error.h>
+00031 
+00032 
+00033 class dGeom {
+00034   // intentionally undefined, don't use these
+00035   dGeom (dGeom &);
+00036   void operator= (dGeom &);
+00037 
+00038 protected:
+00039   dGeomID _id;
+00040 
+00041 public:
+00042   dGeom()
+00043     { _id = 0; }
+00044   ~dGeom()
+00045     { if (_id) dGeomDestroy (_id); }
+00046 
+00047   dGeomID id() const
+00048     { return _id; }
+00049   operator dGeomID() const
+00050     { return _id; }
+00051 
+00052   void destroy() {
+00053     if (_id) dGeomDestroy (_id);
+00054     _id = 0;
+00055   }
+00056 
+00057   int getClass() const
+00058     { return dGeomGetClass (_id); }
+00059 
+00060   dSpaceID getSpace() const
+00061     { return dGeomGetSpace (_id); }
+00062 
+00063   void setData (void *data)
+00064     { dGeomSetData (_id,data); }
+00065   void *getData() const
+00066     { return dGeomGetData (_id); }
+00067 
+00068   void setBody (dBodyID b)
+00069     { dGeomSetBody (_id,b); }
+00070   dBodyID getBody() const
+00071     { return dGeomGetBody (_id); }
+00072 
+00073   void setPosition (dReal x, dReal y, dReal z)
+00074     { dGeomSetPosition (_id,x,y,z); }
+00075   const dReal * getPosition() const
+00076     { return dGeomGetPosition (_id); }
+00077 
+00078   void setRotation (const dMatrix3 R)
+00079     { dGeomSetRotation (_id,R); }
+00080   const dReal * getRotation() const
+00081     { return dGeomGetRotation (_id); }
+00082     
+00083   void setQuaternion (const dQuaternion quat)
+00084     { dGeomSetQuaternion (_id,quat); }
+00085   void getQuaternion (dQuaternion quat) const
+00086     { dGeomGetQuaternion (_id,quat); }
+00087 
+00088   void getAABB (dReal aabb[6]) const
+00089     { dGeomGetAABB (_id, aabb); }
+00090 
+00091   int isSpace()
+00092     { return dGeomIsSpace (_id); }
+00093 
+00094   void setCategoryBits (unsigned long bits)
+00095     { dGeomSetCategoryBits (_id, bits); }
+00096   void setCollideBits (unsigned long bits)
+00097     { dGeomSetCollideBits (_id, bits); }
+00098   unsigned long getCategoryBits()
+00099     { return dGeomGetCategoryBits (_id); }
+00100   unsigned long getCollideBits()
+00101     { return dGeomGetCollideBits (_id); }
+00102 
+00103   void enable()
+00104     { dGeomEnable (_id); }
+00105   void disable()
+00106     { dGeomDisable (_id); }
+00107   int isEnabled()
+00108     { return dGeomIsEnabled (_id); }
+00109 
+00110   void collide2 (dGeomID g, void *data, dNearCallback *callback)
+00111     { dSpaceCollide2 (_id,g,data,callback); }
+00112 };
+00113 
+00114 
+00115 class dSpace : public dGeom {
+00116   // intentionally undefined, don't use these
+00117   dSpace (dSpace &);
+00118   void operator= (dSpace &);
+00119 
+00120 protected:
+00121   // the default constructor is protected so that you
+00122   // can't instance this class. you must instance one
+00123   // of its subclasses instead.
+00124   dSpace () { _id = 0; }
+00125 
+00126 public:
+00127   dSpaceID id() const
+00128     { return (dSpaceID) _id; }
+00129   operator dSpaceID() const
+00130     { return (dSpaceID) _id; }
+00131 
+00132   void setCleanup (int mode)
+00133     { dSpaceSetCleanup (id(), mode); }
+00134   int getCleanup()
+00135     { return dSpaceGetCleanup (id()); }
+00136 
+00137   void add (dGeomID x)
+00138     { dSpaceAdd (id(), x); }
+00139   void remove (dGeomID x)
+00140     { dSpaceRemove (id(), x); }
+00141   int query (dGeomID x)
+00142     { return dSpaceQuery (id(),x); }
+00143 
+00144   int getNumGeoms()
+00145     { return dSpaceGetNumGeoms (id()); }
+00146   dGeomID getGeom (int i)
+00147     { return dSpaceGetGeom (id(),i); }
+00148 
+00149   void collide (void *data, dNearCallback *callback)
+00150     { dSpaceCollide (id(),data,callback); }
+00151 };
+00152 
+00153 
+00154 class dSimpleSpace : public dSpace {
+00155   // intentionally undefined, don't use these
+00156   dSimpleSpace (dSimpleSpace &);
+00157   void operator= (dSimpleSpace &);
+00158 
+00159 public:
+00160   dSimpleSpace (dSpaceID space)
+00161     { _id = (dGeomID) dSimpleSpaceCreate (space); }
+00162 };
+00163 
+00164 
+00165 class dHashSpace : public dSpace {
+00166   // intentionally undefined, don't use these
+00167   dHashSpace (dHashSpace &);
+00168   void operator= (dHashSpace &);
+00169 
+00170 public:
+00171   dHashSpace (dSpaceID space)
+00172     { _id = (dGeomID) dHashSpaceCreate (space); }
+00173   void setLevels (int minlevel, int maxlevel)
+00174     { dHashSpaceSetLevels (id(),minlevel,maxlevel); }
+00175 };
+00176 
+00177 
+00178 class dQuadTreeSpace : public dSpace {
+00179   // intentionally undefined, don't use these
+00180   dQuadTreeSpace (dQuadTreeSpace &);
+00181   void operator= (dQuadTreeSpace &);
+00182 
+00183 public:
+00184   dQuadTreeSpace (dSpaceID space, dVector3 center, dVector3 extents, int depth)
+00185     { _id = (dGeomID) dQuadTreeSpaceCreate (space,center,extents,depth); }
+00186 };
+00187 
+00188 
+00189 class dSphere : public dGeom {
+00190   // intentionally undefined, don't use these
+00191   dSphere (dSphere &);
+00192   void operator= (dSphere &);
+00193 
+00194 public:
+00195   dSphere () { }
+00196   dSphere (dSpaceID space, dReal radius)
+00197     { _id = dCreateSphere (space, radius); }
+00198 
+00199   void create (dSpaceID space, dReal radius) {
+00200     if (_id) dGeomDestroy (_id);
+00201     _id = dCreateSphere (space, radius);
+00202   }
+00203 
+00204   void setRadius (dReal radius)
+00205     { dGeomSphereSetRadius (_id, radius); }
+00206   dReal getRadius() const
+00207     { return dGeomSphereGetRadius (_id); }
+00208 };
+00209 
+00210 
+00211 class dBox : public dGeom {
+00212   // intentionally undefined, don't use these
+00213   dBox (dBox &);
+00214   void operator= (dBox &);
+00215 
+00216 public:
+00217   dBox () { }
+00218   dBox (dSpaceID space, dReal lx, dReal ly, dReal lz)
+00219     { _id = dCreateBox (space,lx,ly,lz); }
+00220 
+00221   void create (dSpaceID space, dReal lx, dReal ly, dReal lz) {
+00222     if (_id) dGeomDestroy (_id);
+00223     _id = dCreateBox (space,lx,ly,lz);
+00224   }
+00225 
+00226   void setLengths (dReal lx, dReal ly, dReal lz)
+00227     { dGeomBoxSetLengths (_id, lx, ly, lz); }
+00228   void getLengths (dVector3 result) const
+00229     { dGeomBoxGetLengths (_id,result); }
+00230 };
+00231 
+00232 
+00233 class dPlane : public dGeom {
+00234   // intentionally undefined, don't use these
+00235   dPlane (dPlane &);
+00236   void operator= (dPlane &);
+00237 
+00238 public:
+00239   dPlane() { }
+00240   dPlane (dSpaceID space, dReal a, dReal b, dReal c, dReal d)
+00241     { _id = dCreatePlane (space,a,b,c,d); }
+00242 
+00243   void create (dSpaceID space, dReal a, dReal b, dReal c, dReal d) {
+00244     if (_id) dGeomDestroy (_id);
+00245     _id = dCreatePlane (space,a,b,c,d);
+00246   }
+00247 
+00248   void setParams (dReal a, dReal b, dReal c, dReal d)
+00249     { dGeomPlaneSetParams (_id, a, b, c, d); }
+00250   void getParams (dVector4 result) const
+00251     { dGeomPlaneGetParams (_id,result); }
+00252 };
+00253 
+00254 
+00255 class dCapsule : public dGeom {
+00256   // intentionally undefined, don't use these
+00257   dCapsule (dCapsule &);
+00258   void operator= (dCapsule &);
+00259 
+00260 public:
+00261   dCapsule() { }
+00262   dCapsule (dSpaceID space, dReal radius, dReal length)
+00263     { _id = dCreateCapsule (space,radius,length); }
+00264 
+00265   void create (dSpaceID space, dReal radius, dReal length) {
+00266     if (_id) dGeomDestroy (_id);
+00267     _id = dCreateCapsule (space,radius,length);
+00268   }
+00269 
+00270   void setParams (dReal radius, dReal length)
+00271     { dGeomCapsuleSetParams (_id, radius, length); }
+00272   void getParams (dReal *radius, dReal *length) const
+00273     { dGeomCapsuleGetParams (_id,radius,length); }
+00274 };
+00275 
+00276 
+00277 class dRay : public dGeom {
+00278   // intentionally undefined, don't use these
+00279   dRay (dRay &);
+00280   void operator= (dRay &);
+00281 
+00282 public:
+00283   dRay() { }
+00284   dRay (dSpaceID space, dReal length)
+00285     { _id = dCreateRay (space,length); }
+00286 
+00287   void create (dSpaceID space, dReal length) {
+00288     if (_id) dGeomDestroy (_id);
+00289     _id = dCreateRay (space,length);
+00290   }
+00291 
+00292   void setLength (dReal length)
+00293     { dGeomRaySetLength (_id, length); }
+00294   dReal getLength()
+00295     { return dGeomRayGetLength (_id); }
+00296 
+00297   void set (dReal px, dReal py, dReal pz, dReal dx, dReal dy, dReal dz)
+00298     { dGeomRaySet (_id, px, py, pz, dx, dy, dz); }
+00299   void get (dVector3 start, dVector3 dir)
+00300     { dGeomRayGet (_id, start, dir); }
+00301 
+00302   void setParams (int firstContact, int backfaceCull)
+00303     { dGeomRaySetParams (_id, firstContact, backfaceCull); }
+00304   void getParams (int *firstContact, int *backfaceCull)
+00305     { dGeomRayGetParams (_id, firstContact, backfaceCull); }
+00306   void setClosestHit (int closestHit)
+00307     { dGeomRaySetClosestHit (_id, closestHit); }
+00308   int getClosestHit()
+00309     { return dGeomRayGetClosestHit (_id); }
+00310 };
+00311 
+00312 
+00313 class dGeomTransform : public dGeom {
+00314   // intentionally undefined, don't use these
+00315   dGeomTransform (dGeomTransform &);
+00316   void operator= (dGeomTransform &);
+00317 
+00318 public:
+00319   dGeomTransform() { }
+00320   dGeomTransform (dSpaceID space)
+00321     { _id = dCreateGeomTransform (space); }
+00322 
+00323   void create (dSpaceID space=0) {
+00324     if (_id) dGeomDestroy (_id);
+00325     _id = dCreateGeomTransform (space);
+00326   }
+00327 
+00328   void setGeom (dGeomID geom)
+00329     { dGeomTransformSetGeom (_id, geom); }
+00330   dGeomID getGeom() const
+00331     { return dGeomTransformGetGeom (_id); }
+00332 
+00333   void setCleanup (int mode)
+00334     { dGeomTransformSetCleanup (_id,mode); }
+00335   int getCleanup ()
+00336     { return dGeomTransformGetCleanup (_id); }
+00337 
+00338   void setInfo (int mode)
+00339     { dGeomTransformSetInfo (_id,mode); }
+00340   int getInfo()
+00341     { return dGeomTransformGetInfo (_id); }
+00342 };
+00343 
+00344 
+00345 #endif
+00346 #endif
+

Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by  + +doxygen 1.5.3
+ + -- cgit v1.1