Kochol Game Engine  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
actorDynamic.h
Go to the documentation of this file.
1 #ifndef KGE_ACTOR_DYNAMIC_H
2 #define KGE_ACTOR_DYNAMIC_H
3 
4 #include "physicType.h"
5 #include "Actor.h"
6 
7 namespace kge
8 {
9  namespace ph
10  {
11  class Material;
12 
13  class ActorDynamic : public Actor
14  {
15  public:
17  ActorDynamic( ) { /* Nothing to do */ }
18 
20  virtual ~ActorDynamic() { /* Nothing to do */ }
21 
23  virtual void setPosition ( kge::math::Vector *pos ) = 0;
24 
26  virtual void setActorNumber ( unsigned int i ) = 0;
27 
29  virtual unsigned int getActorNumber ( void ) = 0;
30 
31 
33  virtual kge::math::Vector getPosition ( void ) = 0;
34 
36  virtual kge::math::Matrix getMatrix ( void ) = 0;
37 
39  virtual void setMass ( float mass ) = 0;
40 
42  virtual float getMass ( void ) = 0;
43 
45  virtual bool updateMassFromShapes( float density , float totalMass ) = 0;
46 
48  virtual void setAngularDamping ( float angularDamping ) = 0;
49 
51  virtual float getAngularDamping ( void ) = 0;
52 
54  virtual void setLinearDamping ( float linearDamping ) = 0;
55 
57  virtual float getLinearDamping ( void ) = 0;
58 
60  virtual void setLinearVelocity ( const kge::math::Vector *linVel) = 0;
61 
63  virtual void setAngularVelocity ( const kge::math::Vector *angVel) = 0;
64 
66  virtual kge::math::Vector getLinearVelocity ( void ) = 0;
67 
69  virtual kge::math::Vector getAngularVelocity ( void ) = 0;
70 
72  virtual void setMaxAngularVelocity(float maxAngVel) = 0;
73 
75  virtual float getMaxAngularVelocity( void ) = 0;
76 
78  virtual void setLinearMomentum ( const kge::math::Vector* linMoment) = 0;
79 
81  virtual void setAngularMomentum ( const kge::math::Vector* angMoment) = 0;
82 
84  virtual kge::math::Vector getLinearMomentum ( void ) = 0;
85 
87  virtual kge::math::Vector getAngularMomentum ( void ) = 0;
88 
90  virtual kge::sn::SceneNode* getKgeObj ( void ) = 0;
91 
93  virtual void addForce ( kge::math::Vector *pos ) = 0;
94 
96  virtual void setName ( const char *Name ) = 0;
97 
99  virtual const char* getName ( void ) = 0;
100 
102  virtual bool isDynamic ( void ) = 0;
103 
105  virtual float computeKineticEnergy( void ) = 0;
106 
108  virtual void setGlobalOrientation( const kge::math::Matrix* mat ) = 0;
109 
111  virtual void moveGlobalPose ( const kge::math::Matrix* mat) = 0;
112 
114  virtual void moveGlobalPosition ( const kge::math::Vector* vec) = 0;
115 
117  virtual void setCenterOfMass ( const kge::math::Vector* vec) = 0;
118 
120  virtual void putToSleep ( void ) = 0;
121 
123  virtual void setMaterial ( Material* mat ) = 0;
124 
126  virtual Material* getMaterial ( void ) = 0;
127 
129  virtual void addShape ( math::Shape *shape , CollitionType ct = ECTP_TRIGGER_DISABLE , const kge::math::Vector& vec = kge::math::Vector( 0.0f , 0.0f , 0.0f ) ) = 0;
130 
132  virtual void addShape ( math::KGE_SHAPES shape , CollitionType ct = ECTP_TRIGGER_DISABLE , const kge::math::Vector& vec = kge::math::Vector( 0.0f , 0.0f , 0.0f ) ) = 0;
133 
134  ActorType getType ( void ) { return EATP_DYNAMIC; }
135 
136  protected:
139 
140  };
141  } // ph
142 } // kge
143 
144 #endif // KGE_ACTOR_DYNAMIC_H