| 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.