| Rev | Line | |
|---|
| [4597] | 1 | /*! |
|---|
| [5039] | 2 | * @file physics_connection.h |
|---|
| [5257] | 3 | * Definition of The Physical Connection Class. |
|---|
| 4 | * @todo |
|---|
| [3245] | 5 | */ |
|---|
| [1853] | 6 | |
|---|
| [4597] | 7 | #ifndef _PHYSICS_CONNECTION_H |
|---|
| [4181] | 8 | #define _PHYSICS_CONNECTION_H |
|---|
| [1853] | 9 | |
|---|
| [4381] | 10 | #include "base_object.h" |
|---|
| [4375] | 11 | // Forward Declaration |
|---|
| 12 | class PhysicsInterface; |
|---|
| 13 | class ParticleSystem; |
|---|
| 14 | class Field; |
|---|
| [4183] | 15 | |
|---|
| [4181] | 16 | //! An enumerator for different ConnectionTypes |
|---|
| [4597] | 17 | typedef enum PCON_Type |
|---|
| 18 | { |
|---|
| 19 | PCON_PhysIPhysI = 1, |
|---|
| 20 | PCON_PhysIField = 2 |
|---|
| 21 | }; |
|---|
| [3543] | 22 | |
|---|
| 23 | |
|---|
| [4181] | 24 | // Forward Declaration |
|---|
| [2036] | 25 | |
|---|
| [4731] | 26 | //! A class that Handles Physical Connection between different subjects |
|---|
| [4394] | 27 | class PhysicsConnection : public BaseObject |
|---|
| [4381] | 28 | { |
|---|
| [9869] | 29 | ObjectListDeclaration(PhysicsConnection); |
|---|
| [4182] | 30 | public: |
|---|
| [4377] | 31 | PhysicsConnection(PhysicsInterface* subject, Field* field); |
|---|
| [4480] | 32 | // PhysicsConnection(PhysicsInterface* partnerOne, PhysicsInterface* partnerTwo); |
|---|
| [4728] | 33 | PhysicsConnection(const TiXmlElement* root); |
|---|
| [4182] | 34 | |
|---|
| 35 | virtual ~PhysicsConnection(); |
|---|
| 36 | |
|---|
| [7221] | 37 | void setSubject(const std::string& subjectName); |
|---|
| 38 | void setField(const std::string& fieldName); |
|---|
| [4728] | 39 | |
|---|
| [4746] | 40 | void apply() const; |
|---|
| [4182] | 41 | |
|---|
| 42 | private: |
|---|
| [4181] | 43 | PCON_Type type; //!< What kind of connection this is. |
|---|
| [4597] | 44 | |
|---|
| [4375] | 45 | PhysicsInterface* subject; //!< The main Subject of this Connection. |
|---|
| 46 | PhysicsInterface* partner2; //!< The second partner of this Connection. |
|---|
| [4597] | 47 | |
|---|
| [4181] | 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.