Files
BlitzNext/Runtime/blitz3d/q3bspmodel.cpp
T
Michael Fabian 'Xaymar' Dirks 3afa84df85 runtime/blitz3d: Fixup C++ification
2019-01-18 21:26:42 +01:00

48 lines
867 B
C++

#include "q3bspmodel.hpp"
#include "q3bsprep.hpp"
struct Q3BSPModel::Rep : public Q3BSPRep {
int ref_cnt;
Rep(const std::string& f, float gam) : Q3BSPRep(f, gam), ref_cnt(1) {}
};
Q3BSPModel::Q3BSPModel(const std::string& f, float gam) : rep(new Rep(f, gam)) {}
Q3BSPModel::Q3BSPModel(const Q3BSPModel& t) : Model(t), rep(t.rep)
{
++rep->ref_cnt;
}
Q3BSPModel::~Q3BSPModel()
{
if (!--rep->ref_cnt)
delete rep;
}
bool Q3BSPModel::collide(const Line& line, float radius, Collision* curr_coll, const Transform& t)
{
return rep->collide(line, radius, curr_coll, t);
}
bool Q3BSPModel::render(const RenderContext& rc)
{
rep->render(this, rc);
return false;
}
void Q3BSPModel::setAmbient(const Vector& t)
{
rep->setAmbient(t);
}
void Q3BSPModel::setLighting(bool l)
{
rep->setLighting(l);
}
bool Q3BSPModel::isValid() const
{
return rep->isValid();
}