Source: src/zone.h


Annotated List
Files
Globals
Hierarchy
Index
#ifndef	_zone_
#define _zone_

#include	"CList.h"
#include	"point.h"

class bloc;
class glsolid;
class glsurface;

class zone 
{
public:
	zone (){};
	
	void Add(bloc*		pBloc	)	{	mlstBloc.push_back	(pBloc	);	};
	void Add(zone*		pZone	)	{	mlstZone.push_back	(pZone	);	};
	void Add(glsolid*	pSolid	)	{	mlstSolid.push_back	(pSolid	);	};

	typedef	CList::iterator			bloc_iterator;
	typedef	CList::const_iterator	const_bloc_iterator;
	
	typedef	CList::iterator		solid_iterator;
	typedef	CList::const_iterator	const_solid_iterator;
	
	typedef CList::iterator		display_iterator;
	typedef	CList::const_iterator	const_display_iterator;
	
	typedef CList::iterator			zone_iterator;
	typedef CList::const_iterator	const_zone_iterator;
		
	bloc_iterator		bloc_begin	()	{	return	mlstBloc.begin	();	};
	bloc_iterator		bloc_end	()	{	return	mlstBloc.end	();	};
	
	solid_iterator			solid_begin	()			{	return	mlstSolid.begin	();	};
	solid_iterator			solid_end	()			{	return	mlstSolid.end	();	};
	
	display_iterator		display_begin	()		{	return	mlstDisplay.begin();};
	display_iterator		display_end		()		{	return	mlstDisplay.end();	};
	
	const_solid_iterator	solid_end	() const	{	return	mlstSolid.end	();	};
	const_solid_iterator	solid_begin	() const	{	return	mlstSolid.begin	();	};
	
	zone_iterator	zone_begin	()	{	return	mlstZone.begin	();	};
	zone_iterator	zone_end	()	{	return	mlstZone.end	();	};

	bool	IsInside(const point &) const;

	planesurf*	Collision		(
									point		&ptStart,
									vect		&vPath,
									point*		pptInter,
									glsolid*	&pSolid);

	void	Render() const;

private:
	point mp1;
	point mp2;
	CList	mlstBloc;
	CList	mlstSolid;		// List of glsolid contained inside the zone
	CList	mlstDisplay;	// List of glsolid to display
	CList 	mlstZone;
};

#endif

Generated by: saturn on FrancoisLinux on Sun Feb 3 20:01:44 2002, using kdoc 2.0a53.