Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

ccylindercollider_c.cpp

Go to the documentation of this file.
00001 /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*-
00002 
00003    this file is part of rcssserver3D
00004    Fri May 9 2003
00005    Copyright (C) 2003 Koblenz University
00006    $Id: ccylindercollider_c.cpp,v 1.7 2004/04/15 18:35:04 rollmark Exp $
00007 
00008    This program is free software; you can redistribute it and/or modify
00009    it under the terms of the GNU General Public License as published by
00010    the Free Software Foundation; version 2 of the License.
00011 
00012    This program is distributed in the hope that it will be useful,
00013    but WITHOUT ANY WARRANTY; without even the implied warranty of
00014    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015    GNU General Public License for more details.
00016 
00017    You should have received a copy of the GNU General Public License
00018    along with this program; if not, write to the Free Software
00019    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00020 */
00021 
00022 #include "ccylindercollider.h"
00023 
00024 using namespace oxygen;
00025 using namespace boost;
00026 using namespace salt;
00027 
00028 FUNCTION(CCylinderCollider,setParams)
00029 {
00030     float inRadius;
00031     float inLength;
00032 
00033     if (
00034         (in.GetSize() != 2) ||
00035         (! in.GetValue(in[0],inRadius)) ||
00036         (! in.GetValue(in[1],inLength))
00037         )
00038         {
00039             return false;
00040         }
00041 
00042     obj->SetParams(inRadius,inLength);
00043     return true;
00044 }
00045 
00046 FUNCTION(CCylinderCollider,setRadius)
00047 {
00048     float inRadius;
00049 
00050     if (
00051         (in.GetSize() != 1) ||
00052         (! in.GetValue(in[0],inRadius))
00053         )
00054         {
00055             return false;
00056         }
00057 
00058     obj->SetRadius(inRadius);
00059     return true;
00060 }
00061 
00062 FUNCTION(CCylinderCollider,setLength)
00063 {
00064     float inLength;
00065 
00066     if (
00067         (in.GetSize() != 1) ||
00068         (! in.GetValue(in[0],inLength))
00069         )
00070         {
00071             return false;
00072         }
00073 
00074     obj->SetLength(inLength);
00075     return true;
00076 }
00077 
00078 FUNCTION(CCylinderCollider,getRadius)
00079 {
00080     return obj->GetRadius();
00081 }
00082 
00083 FUNCTION(CCylinderCollider,getLength)
00084 {
00085     return obj->GetLength();
00086 }
00087 
00088 FUNCTION(CCylinderCollider,getPointDepth)
00089 {
00090     Vector3f inPos;
00091 
00092     if (
00093         (in.GetSize() == 0) ||
00094         (! in.GetValue(in.begin(), inPos))
00095         )
00096         {
00097             return 0;
00098         }
00099 
00100     return obj->GetPointDepth(inPos);
00101 }
00102 
00103 void CLASS(CCylinderCollider)::DefineClass()
00104 {
00105     DEFINE_BASECLASS(oxygen/Collider);
00106     DEFINE_FUNCTION(setParams);
00107     DEFINE_FUNCTION(setRadius);
00108     DEFINE_FUNCTION(setLength);
00109     DEFINE_FUNCTION(getRadius);
00110     DEFINE_FUNCTION(getLength);
00111     DEFINE_FUNCTION(getPointDepth);
00112 }

Generated on Thu Apr 6 15:25:37 2006 for rcssserver3d by  doxygen 1.4.4