Panda3D
|
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 ©) { 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 }