Panda3D
angularIntegrator.h
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 angularIntegrator.h
10  * @author charles
11  * @date 2000-08-09
12  */
13 
14 #ifndef ANGULARINTEGRATOR_H
15 #define ANGULARINTEGRATOR_H
16 
17 #include "baseIntegrator.h"
18 #include "angularForce.h"
19 #include "configVariableDouble.h"
20 
21 /**
22  * Pure virtual base class for physical modeling. Takes physically modelable
23  * objects and applies forces to them.
24  */
25 class EXPCL_PANDA_PHYSICS AngularIntegrator : public BaseIntegrator {
26 PUBLISHED:
27  virtual ~AngularIntegrator();
28 public:
29 
30  void integrate(Physical *physical, AngularForceVector &forces,
31  PN_stdfloat dt);
32 
33 PUBLISHED:
34  virtual void output(std::ostream &out) const;
35  virtual void write(std::ostream &out, int indent=0) const;
36 
37 protected:
39 
40 private:
41  static ConfigVariableDouble _max_angular_dt;
42 
43  // this allows baseAngularIntegrator to censormodify data that the actual
44  // integration function receives.
45  virtual void child_integrate(Physical *physical, AngularForceVector &forces,
46  PN_stdfloat dt) = 0;
47 };
48 
49 #endif // ANGULARINTEGRATOR_H
BaseIntegrator
pure virtual integrator class that holds cached matrix information that really should be common to an...
Definition: baseIntegrator.h:34
indent
std::ostream & indent(std::ostream &out, int indent_level)
A handy function for doing text formatting.
Definition: indent.cxx:20
pvector< PT(AngularForce)>
Physical
Defines a set of physically modeled attributes.
Definition: physical.h:37
angularForce.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
configVariableDouble.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
AngularIntegrator
Pure virtual base class for physical modeling.
Definition: angularIntegrator.h:25
baseIntegrator.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
BaseIntegrator::write
virtual void write(std::ostream &out, int indent=0) const
Write a string representation of this instance to <out>.
Definition: baseIntegrator.cxx:176
ConfigVariableDouble
This is a convenience class to specialize ConfigVariable as a floating- point type.
Definition: configVariableDouble.h:24
BaseIntegrator::output
virtual void output(std::ostream &out) const
Write a string representation of this instance to <out>.
Definition: baseIntegrator.cxx:134