/***************************************************************************
vim:tabstop=4
tristrip.h - description
-------------------
begin : Sun Jul 1 2001
copyright : (C) 2001 by Francois Biot
email : fbiot@free.fr
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef _rectangle_
#define _rectangle_
#include "planesurf.h"
#include "point.h"
#include "couleur.h"
class rectangle : public planesurf
{
public:
rectangle();
rectangle(const couleur&);
rectangle(
const point &a,
const point &b,
const point &c,
const point &d,
const couleur* pcol=0)
:
ma(a),
mb(b),
mc(c),
md(d)
{ if (pcol)
mpcol=pcol->Duplicate();
else
mpcol=0;
};
rectangle(const rectangle&);
virtual ~rectangle(){ delete mpcol; };
// from planesurf
virtual const vect& Normal () const;
vect AVect(const point &p) const;
// from glsurface
virtual void Translate (const vect &v);
virtual void Render () const;
virtual glsurface* Duplicate () const;
virtual float PlanSide (const planesurf*) const;
virtual planesurf* Collision ( const point &ptStart,
const vect &vPath,
point* pptInter,
glsolid* &pSolid);
virtual void SetColor (const couleur& col)
{
ma.SetColor(col);
mb.SetColor(col);
mc.SetColor(col);
md.SetColor(col);
};
virtual point GPoint () const;
const point& pa() const { return ma; };
const point& pb() const { return mb; };
const point& pc() const { return mc; };
const point& pd() const { return md; };
private:
rectangle& operator=(const rectangle&);
point ma;
point mb;
point mc;
point md;
couleur *mpcol;
};
#endif
| Generated by: saturn on FrancoisLinux on Sun Feb 3 20:01:44 2002, using kdoc 2.0a53. |