Files
BlitzNext/Runtime/blitz3d/planemodel.hpp
T

37 lines
569 B
C++
Raw Normal View History

2014-01-31 08:23:00 +13:00
#ifndef PLANEMODEL_H
#define PLANEMODEL_H
2019-01-18 15:55:06 +01:00
#include "brush.hpp"
2019-01-18 17:04:17 +01:00
#include "model.hpp"
2014-01-31 08:23:00 +13:00
2019-01-18 17:04:17 +01:00
class PlaneModel : public Model {
public:
PlaneModel(int sub_divs);
PlaneModel(const PlaneModel& t);
2014-01-31 08:23:00 +13:00
~PlaneModel();
2019-01-18 17:04:17 +01:00
Entity* clone()
{
return new PlaneModel(*this);
}
2014-01-31 08:23:00 +13:00
//model interface
2019-01-18 17:04:17 +01:00
bool render(const RenderContext& rc);
2014-01-31 08:23:00 +13:00
//object interface
2019-01-18 17:04:17 +01:00
bool collide(const Line& line, float radius, Collision* curr_coll, const Transform& tf);
2014-01-31 08:23:00 +13:00
2019-01-18 17:04:17 +01:00
Plane getRenderPlane() const;
2014-01-31 08:23:00 +13:00
2019-01-18 17:04:17 +01:00
private:
2014-01-31 08:23:00 +13:00
struct Rep;
2019-01-18 17:04:17 +01:00
Rep* rep;
2014-01-31 08:23:00 +13:00
2019-01-18 17:04:17 +01:00
virtual PlaneModel* getPlaneModel()
{
return this;
}
2014-01-31 08:23:00 +13:00
};
#endif