Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/new_class_id/src/lib/physics/physics_connection.h @ 9792

Last change on this file since 9792 was 9715, checked in by bensch, 18 years ago

renamed newclassid to classid and newobjectlist to objectlist

File size: 1.3 KB
RevLine 
[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
12class PhysicsInterface;
13class ParticleSystem;
14class Field;
[4183]15
[4181]16//! An enumerator for different ConnectionTypes
[4597]17typedef 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]27class PhysicsConnection : public BaseObject
[4381]28{
[9715]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.