/*****************************************************************************
Name            :   actor.h
Title           :   Actor
C Author        :   Stel Michael
Created         :   9 Sept 1993

Copyright       :   1992 by VideoLogic Limited. All rights reserved.
			No part of this software, either material or conceptual
			may be copied or distributed, transmitted, transcribed,
			stored in a retrieval system or translated into any
			human or computer language in any form by any means,
			electronic, mechanical, manual or other-wise, or
			disclosed to third parties without the express written
			permission of VideoLogic Limited, HomePark Estate,
			King's Langley, Hertfordshire, WD4 8LZ, U.K.
												 
Platform 		: Microsoft Visual C++ V2		  
*****************************************************************************/


#define	PVE 0
#define NVE 1
#define COSINE 1
#define ALL 0

class LoneObject : public BasicObject {  
protected:
	int id;
	float vel;
	float mass;
	float ori[3]; 
	float gravity;
public:  
	LoneObject(int trm,int grp,float startpos[3],float startori[3],float startvel);   
	float GetVel() { return vel; }
	float *GetOri() { return ori; } 
	virtual void Process();	 
};	


class ControlledObject : public LoneObject 
{ 
public:
	ControlledObject(int trm,int grp,int trm2,int gcunt2,float startpos[3],float startori[3],float startvel,int Control);
	int	GetGroup2() { return group2; }  
	int	Gettran2() { return tran2; }	
	void SetControl(int	Cont)	{ UnderControl=Cont; }
	void SetInputs(float x,float y,int l,int r,int s) { xInp=x;	yInp=y;	lBut=l; rBut=r; sInp=s; } 
	virtual void Process();

protected:   
	int		UnderControl;
	float xInp;
	float yInp;
	int lBut;
	int rBut;  
	int	sInp;
	int	tran2;  
	int group2;

};


class ControlledCraft : public ControlledObject { 
protected:   

public:                 
	ControlledCraft(int trm,int grp,int trm2,int gcunt2,float startpos[3],float startori[3],float startvel,int Control);
	virtual void Process();
};



