Panda3D
odeSurfaceParameters.cxx
1 // Filename: odeSurfaceParameters.cxx
2 // Created by: joswilso (27Dec06)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 #include "config_ode.h"
16 #include "odeSurfaceParameters.h"
17 
18 TypeHandle OdeSurfaceParameters::_type_handle;
19 
20 OdeSurfaceParameters::
21 OdeSurfaceParameters(int mode, dReal mu) :
22  _surface_parameters() {
23  if (mu < 0) {
24  mu = 0;
25  } else if (mu > dInfinity) {
26  mu = dInfinity;
27  }
28  _surface_parameters.mode = mode;
29  _surface_parameters.mu = mu;
30 
31  _surface_parameters.mu2 = 0;
32  _surface_parameters.bounce = 0;
33  _surface_parameters.bounce = 0;
34  _surface_parameters.soft_erp = 0;
35  _surface_parameters.soft_cfm = 0;
36  _surface_parameters.motion1 = 0;
37  _surface_parameters.motion2 = 0;
38  _surface_parameters.slip1 = 0;
39  _surface_parameters.slip2 = 0;
40 }
41 
42 OdeSurfaceParameters::
43 OdeSurfaceParameters(const dSurfaceParameters &surface_parameters) :
44  _surface_parameters() {
45  _surface_parameters.mode = surface_parameters.mode;
46  _surface_parameters.mu = surface_parameters.mu;
47  _surface_parameters.mu2 = surface_parameters.mu2;
48  _surface_parameters.bounce = surface_parameters.bounce;
49  _surface_parameters.bounce = surface_parameters.bounce_vel;
50  _surface_parameters.soft_erp = surface_parameters.soft_erp;
51  _surface_parameters.soft_cfm = surface_parameters.soft_cfm;
52  _surface_parameters.motion1 = surface_parameters.motion1;
53  _surface_parameters.motion2 = surface_parameters.motion2;
54  _surface_parameters.slip1 = surface_parameters.slip1;
55  _surface_parameters.slip2 = surface_parameters.slip2;
56 }
57 
58 OdeSurfaceParameters::
59 ~OdeSurfaceParameters() {
60 }
61 
62 const dSurfaceParameters *OdeSurfaceParameters::
63 get_surface_parameters_ptr() const {
64  return &_surface_parameters;
65 }
66 
67 void OdeSurfaceParameters::
68 operator = (const OdeSurfaceParameters &copy) {
69  _surface_parameters.mode = copy._surface_parameters.mode;
70  _surface_parameters.mu = copy._surface_parameters.mu;
71  _surface_parameters.mu2 = copy._surface_parameters.mu2;
72  _surface_parameters.bounce = copy._surface_parameters.bounce;
73  _surface_parameters.bounce = copy._surface_parameters.bounce_vel;
74  _surface_parameters.soft_erp = copy._surface_parameters.soft_erp;
75  _surface_parameters.soft_cfm = copy._surface_parameters.soft_cfm;
76  _surface_parameters.motion1 = copy._surface_parameters.motion1;
77  _surface_parameters.motion2 = copy._surface_parameters.motion2;
78  _surface_parameters.slip1 = copy._surface_parameters.slip1;
79  _surface_parameters.slip2 = copy._surface_parameters.slip2;
80 }
TypeHandle is the identifier used to differentiate C++ class types.
Definition: typeHandle.h:85