Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/trunk/src/lib/physics/physics_connection.h @ 4371

Last change on this file since 4371 was 4338, checked in by bensch, 20 years ago

orxonox/trunk: merged branches/physics back to the trunk
merged with command
svn merge -r 3866:HEAD . ../../trunk/
many conflict that i tried to resolv
@patrick: i hope i did not interfere with your stuff :/

File size: 1.2 KB
Line 
1/*!
2    \file physics_connection.h
3    \brief Definition of The Physical Connection Class.
4*/
5
6#ifndef _PHYSICS_CONNECTION_H
7#define _PHYSICS_CONNECTION_H
8
9#include "field.h"
10#include "particle_system.h"
11#include "i_physics.h"
12
13//! An enumerator for different ConnectionTypes
14typedef enum PCON_Type { PCON_IPhysIPhys = 0,
15                         PCON_IPhysField = 1,
16                         PCON_ParticlesField = 2 };
17
18
19// Forward Declaration
20
21//! A class that Handles Physical Connection between subjects
22class PhysicsConnection {
23
24 public:
25  PhysicsConnection(IPhysics* partnerOne, IPhysics* partnerTwo);
26  PhysicsConnection(IPhysics* subject, Field* field);
27  PhysicsConnection(ParticleSystem* particleSystem, Field* field);
28
29  virtual ~PhysicsConnection();
30
31  void apply(const float& dt) const;
32
33 private:
34  PCON_Type type;                    //!< What kind of connection this is.
35 
36  IPhysics* subject;                 //!< The main Subject of this Connection.
37  IPhysics* partner2;                //!< The second partner of this Connection.
38 
39  ParticleSystem* particleSystem;    //!< A ParticleSystem in this Connection
40 
41  Field* field;                      //!< The field to connect either subject of ParticleSystem to.
42};
43
44#endif /* _PHYSICS_CONNECTION_H */
Note: See TracBrowser for help on using the repository browser.