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