Panda3D

odeSurfaceParameters.cxx

00001 // Filename: odeSurfaceParameters.cxx
00002 // Created by:  joswilso (27Dec06)
00003 //
00004 ////////////////////////////////////////////////////////////////////
00005 //
00006 // PANDA 3D SOFTWARE
00007 // Copyright (c) Carnegie Mellon University.  All rights reserved.
00008 //
00009 // All use of this software is subject to the terms of the revised BSD
00010 // license.  You should have received a copy of this license along
00011 // with this source code in a file named "LICENSE."
00012 //
00013 ////////////////////////////////////////////////////////////////////
00014 
00015 #include "config_ode.h"
00016 #include "odeSurfaceParameters.h"
00017 
00018 TypeHandle OdeSurfaceParameters::_type_handle;
00019 
00020 OdeSurfaceParameters::
00021 OdeSurfaceParameters(int mode, dReal mu) : 
00022   _surface_parameters() {
00023   if (mu < 0) {
00024     mu = 0;
00025   } else if (mu > dInfinity) {
00026     mu = dInfinity;
00027   }
00028   _surface_parameters.mode = mode;
00029   _surface_parameters.mu = mu;
00030 
00031   _surface_parameters.mu2 = 0;
00032   _surface_parameters.bounce = 0;
00033   _surface_parameters.bounce = 0;
00034   _surface_parameters.soft_erp = 0;
00035   _surface_parameters.soft_cfm = 0;
00036   _surface_parameters.motion1 = 0;
00037   _surface_parameters.motion2 = 0;
00038   _surface_parameters.slip1 = 0;
00039   _surface_parameters.slip2 = 0;
00040 }
00041 
00042 OdeSurfaceParameters::
00043 OdeSurfaceParameters(const dSurfaceParameters &surface_parameters) : 
00044   _surface_parameters() {
00045   _surface_parameters.mode = surface_parameters.mode;
00046   _surface_parameters.mu = surface_parameters.mu;
00047   _surface_parameters.mu2 = surface_parameters.mu2;
00048   _surface_parameters.bounce = surface_parameters.bounce;
00049   _surface_parameters.bounce = surface_parameters.bounce_vel;
00050   _surface_parameters.soft_erp = surface_parameters.soft_erp;
00051   _surface_parameters.soft_cfm = surface_parameters.soft_cfm;
00052   _surface_parameters.motion1 = surface_parameters.motion1;
00053   _surface_parameters.motion2 = surface_parameters.motion2;
00054   _surface_parameters.slip1 = surface_parameters.slip1;
00055   _surface_parameters.slip2 = surface_parameters.slip2;
00056 }
00057 
00058 OdeSurfaceParameters::
00059 ~OdeSurfaceParameters() {
00060 }
00061 
00062 const dSurfaceParameters *OdeSurfaceParameters::
00063 get_surface_parameters_ptr() const {
00064   return &_surface_parameters;
00065 }
00066 
00067 void OdeSurfaceParameters::
00068 operator = (const OdeSurfaceParameters &copy) {
00069   _surface_parameters.mode = copy._surface_parameters.mode;
00070   _surface_parameters.mu = copy._surface_parameters.mu;
00071   _surface_parameters.mu2 = copy._surface_parameters.mu2;
00072   _surface_parameters.bounce = copy._surface_parameters.bounce;
00073   _surface_parameters.bounce = copy._surface_parameters.bounce_vel;
00074   _surface_parameters.soft_erp = copy._surface_parameters.soft_erp;
00075   _surface_parameters.soft_cfm = copy._surface_parameters.soft_cfm;
00076   _surface_parameters.motion1 = copy._surface_parameters.motion1;
00077   _surface_parameters.motion2 = copy._surface_parameters.motion2;
00078   _surface_parameters.slip1 = copy._surface_parameters.slip1;
00079   _surface_parameters.slip2 = copy._surface_parameters.slip2;
00080 }
 All Classes Functions Variables Enumerations