Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/heathaze/src/lib/physics/physics_connection.h @ 10772

Last change on this file since 10772 was 9869, checked in by bensch, 18 years ago

orxonox/trunk: merged the new_class_id branche back to the trunk.
merged with command:
svn merge https://svn.orxonox.net/orxonox/branches/new_class_id trunk -r9683:HEAD
no conflicts… puh..

File size: 1.3 KB
Line 
1/*!
2 * @file physics_connection.h
3 *  Definition of The Physical Connection Class.
4 * @todo
5*/
6
7#ifndef _PHYSICS_CONNECTION_H
8#define _PHYSICS_CONNECTION_H
9
10#include "base_object.h"
11// Forward Declaration
12class PhysicsInterface;
13class ParticleSystem;
14class Field;
15
16//! An enumerator for different ConnectionTypes
17typedef enum PCON_Type
18{
19  PCON_PhysIPhysI = 1,
20  PCON_PhysIField = 2
21};
22
23
24// Forward Declaration
25
26//! A class that Handles Physical Connection between different subjects
27class PhysicsConnection : public BaseObject
28{
29  ObjectListDeclaration(PhysicsConnection);
30 public:
31  PhysicsConnection(PhysicsInterface* subject, Field* field);
32  //  PhysicsConnection(PhysicsInterface* partnerOne, PhysicsInterface* partnerTwo);
33  PhysicsConnection(const TiXmlElement* root);
34
35  virtual ~PhysicsConnection();
36
37  void setSubject(const std::string& subjectName);
38  void setField(const std::string& fieldName);
39
40  void apply() const;
41
42 private:
43  PCON_Type type;                    //!< What kind of connection this is.
44
45  PhysicsInterface* subject;         //!< The main Subject of this Connection.
46  PhysicsInterface* partner2;        //!< The second partner of this Connection.
47
48  Field* field;                      //!< The field to connect either subject of ParticleSystem to.
49};
50
51#endif /* _PHYSICS_CONNECTION_H */
Note: See TracBrowser for help on using the repository browser.